| Index: webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
|
| diff --git a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
|
| index f74ebba0c0e12b09f96a57cc67795fd4054d1de6..1bf2caefad843454b7dfe5c997e979e87dd6ff3a 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
|
| +++ b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
|
| @@ -100,7 +100,6 @@ ModuleRtpRtcpImpl::ModuleRtpRtcpImpl(const Configuration& configuration)
|
| this),
|
| clock_(configuration.clock),
|
| audio_(configuration.audio),
|
| - collision_detected_(false),
|
| last_process_time_(configuration.clock->TimeInMilliseconds()),
|
| last_bitrate_process_time_(configuration.clock->TimeInMilliseconds()),
|
| last_rtt_process_time_(configuration.clock->TimeInMilliseconds()),
|
| @@ -112,11 +111,6 @@ ModuleRtpRtcpImpl::ModuleRtpRtcpImpl(const Configuration& configuration)
|
| remote_bitrate_(configuration.remote_bitrate_estimator),
|
| rtt_stats_(configuration.rtt_stats),
|
| rtt_ms_(0) {
|
| - // Make sure that RTCP objects are aware of our SSRC.
|
| - uint32_t SSRC = rtp_sender_.SSRC();
|
| - rtcp_sender_.SetSSRC(SSRC);
|
| - SetRtcpReceiverSsrcs(SSRC);
|
| -
|
| // Make sure rtcp sender use same timestamp offset as rtp sender.
|
| rtcp_sender_.SetTimestampOffset(rtp_sender_.TimestampOffset());
|
|
|
| @@ -310,7 +304,6 @@ uint32_t ModuleRtpRtcpImpl::SSRC() const {
|
| return rtp_sender_.SSRC();
|
| }
|
|
|
| -// Configure SSRC, default is a random number.
|
| void ModuleRtpRtcpImpl::SetSSRC(const uint32_t ssrc) {
|
| rtp_sender_.SetSSRC(ssrc);
|
| rtcp_sender_.SetSSRC(ssrc);
|
| @@ -355,19 +348,11 @@ int32_t ModuleRtpRtcpImpl::SetSendingStatus(const bool sending) {
|
| if (rtcp_sender_.SetSendingStatus(GetFeedbackState(), sending) != 0) {
|
| LOG(LS_WARNING) << "Failed to send RTCP BYE";
|
| }
|
| -
|
| - collision_detected_ = false;
|
| -
|
| - // Generate a new SSRC for the next "call" if false
|
| - rtp_sender_.SetSendingStatus(sending);
|
| -
|
| - // Make sure that RTCP objects are aware of our SSRC (it could have changed
|
| - // Due to collision)
|
| - uint32_t SSRC = rtp_sender_.SSRC();
|
| - rtcp_sender_.SetSSRC(SSRC);
|
| - SetRtcpReceiverSsrcs(SSRC);
|
| -
|
| - return 0;
|
| + if (sending) {
|
| + // Update Rtcp receiver config, to track Rtx config changes from
|
| + // the SetRtxStatus and SetRtxSsrc methods.
|
| + SetRtcpReceiverSsrcs(rtp_sender_.SSRC());
|
| + }
|
| }
|
| return 0;
|
| }
|
| @@ -794,24 +779,6 @@ void ModuleRtpRtcpImpl::SetRemoteSSRC(const uint32_t ssrc) {
|
| // Inform about the incoming SSRC.
|
| rtcp_sender_.SetRemoteSSRC(ssrc);
|
| rtcp_receiver_.SetRemoteSSRC(ssrc);
|
| -
|
| - // Check for a SSRC collision.
|
| - if (rtp_sender_.SSRC() == ssrc && !collision_detected_) {
|
| - // If we detect a collision change the SSRC but only once.
|
| - collision_detected_ = true;
|
| - uint32_t new_ssrc = rtp_sender_.GenerateNewSSRC();
|
| - if (new_ssrc == 0) {
|
| - // Configured via API ignore.
|
| - return;
|
| - }
|
| - if (RtcpMode::kOff != rtcp_sender_.Status()) {
|
| - // Send RTCP bye on the current SSRC.
|
| - SendRTCP(kRtcpBye);
|
| - }
|
| - // Change local SSRC and inform all objects about the new SSRC.
|
| - rtcp_sender_.SetSSRC(new_ssrc);
|
| - SetRtcpReceiverSsrcs(new_ssrc);
|
| - }
|
| }
|
|
|
| void ModuleRtpRtcpImpl::BitrateSent(uint32_t* total_rate,
|
|
|