Module: sems Branch: refs/tags/rel_0.10.0_rc2 Commit: 66683074592f76755441ce3ccaeef3383401e3b4 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=66683074592f76755441ce3ccaeef3383401e3b4
Author: Stefan Sayer <[email protected]> Committer: Stefan Sayer <[email protected]> Date: Mon Jul 30 15:10:22 2007 +0000 r414 bugfix backport: recv_offset_i was not initialized, which could lead to no audio input on big TS difference. timestamps correctly reset on resync. git-svn-id: http://svn.berlios.de/svnroot/repos/sems/tags/rel_0.10.0_rc2@415 8eb893ce-cfd4-0310-b710-fb5ebe64c474 --- core/AmPlayoutBuffer.cpp | 12 +++++++----- core/AmRtpStream.cpp | 1 - 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/core/AmPlayoutBuffer.cpp b/core/AmPlayoutBuffer.cpp index bce04b3..7adf0bd 100644 --- a/core/AmPlayoutBuffer.cpp +++ b/core/AmPlayoutBuffer.cpp @@ -20,7 +20,9 @@ AmPlayoutBuffer::AmPlayoutBuffer(AmRtpAudio *owner) - : r_ts(0),w_ts(0), last_ts_i(false), m_owner(owner) + : r_ts(0),w_ts(0), + last_ts_i(false), recv_offset_i(false), + m_owner(owner) { } @@ -37,12 +39,12 @@ void AmPlayoutBuffer::write(u_int32_t ref_ts, u_int32_t rtp_ts, { recv_offset = rtp_ts - ref_ts; recv_offset_i = true; - DBG("initialized recv_offset with %i (%i - %i)\n", + DBG("initialized recv_offset with %u (%u - %u)\n", recv_offset, ref_ts, rtp_ts); - mapped_ts = r_ts = w_ts = ref_ts;// + jitter_delay; + mapped_ts = r_ts = w_ts = ref_ts; } else { - mapped_ts = rtp_ts - recv_offset;// + jitter_delay; + mapped_ts = rtp_ts - recv_offset; // resync if( ts_less()(mapped_ts, ref_ts - MAX_DELAY/2) || @@ -51,7 +53,7 @@ void AmPlayoutBuffer::write(u_int32_t ref_ts, u_int32_t rtp_ts, DBG("resync needed: reference ts = %u; write ts = %u\n", ref_ts, mapped_ts); recv_offset = rtp_ts - ref_ts; - mapped_ts = ref_ts;// + jitter_delay; + mapped_ts = r_ts = w_ts = ref_ts; } } diff --git a/core/AmRtpStream.cpp b/core/AmRtpStream.cpp index 8d879d1..d3c849d 100644 --- a/core/AmRtpStream.cpp +++ b/core/AmRtpStream.cpp @@ -264,7 +264,6 @@ AmRtpStream::AmRtpStream(AmSession* _s) r_port(0), l_port(0), l_sd(0), - // recv_offset_i(false), r_ssrc_i(false), session(_s), passive(false), _______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
