diff --git a/webrtc/video/rtp_video_stream_receiver.cc b/webrtc/video/rtp_video_stream_receiver.cc index 0a946975d7..14e5958c0b 100644 --- a/webrtc/video/rtp_video_stream_receiver.cc +++ b/webrtc/video/rtp_video_stream_receiver.cc @@ -127,6 +127,7 @@ RtpVideoStreamReceiver::RtpVideoStreamReceiver( rtp_rtcp_->SetRTCPStatus(config_.rtp.rtcp_mode); rtp_rtcp_->SetSSRC(config_.rtp.local_ssrc); + rtp_rtcp_->SetRemoteSSRC(config_.rtp.remote_ssrc); rtp_rtcp_->SetKeyFrameRequestMethod(kKeyFrameReqPliRtcp); for (size_t i = 0; i < config_.rtp.extensions.size(); ++i) { @@ -217,7 +218,7 @@ bool RtpVideoStreamReceiver::AddReceiveCodec(const VideoCodec& video_codec) { } uint32_t RtpVideoStreamReceiver::GetRemoteSsrc() const { - return rtp_receiver_->SSRC(); + return config_.rtp.remote_ssrc; } int RtpVideoStreamReceiver::GetCsrcs(uint32_t* csrcs) const { @@ -302,10 +303,6 @@ int32_t RtpVideoStreamReceiver::OnInitializeDecoder( return 0; } -void RtpVideoStreamReceiver::OnIncomingSSRCChanged(const uint32_t ssrc) { - rtp_rtcp_->SetRemoteSSRC(ssrc); -} - // This method handles both regular RTP packets and packets recovered // via FlexFEC. void RtpVideoStreamReceiver::OnRtpPacket(const RtpPacketReceived& packet) { @@ -481,7 +478,7 @@ void RtpVideoStreamReceiver::ParseAndHandleEncapsulatingHeader( return; } if (!rtp_payload_registry_.RestoreOriginalPacket( - restored_packet_, packet, &packet_length, rtp_receiver_->SSRC(), + restored_packet_, packet, &packet_length, config_.rtp.remote_ssrc, header)) { LOG(LS_WARNING) << "Incoming RTX packet: Invalid RTP header ssrc: " << header.ssrc << " payload type: " @@ -623,7 +620,7 @@ bool RtpVideoStreamReceiver::IsPacketRetransmitted(const RTPHeader& header, return false; // Check if this is a retransmission. int64_t min_rtt = 0; - rtp_rtcp_->RTT(rtp_receiver_->SSRC(), nullptr, nullptr, &min_rtt, nullptr); + rtp_rtcp_->RTT(config_.rtp.remote_ssrc, nullptr, nullptr, &min_rtt, nullptr); return !in_order && statistician->IsRetransmitOfOldPacket(header, min_rtt); } diff --git a/webrtc/video/rtp_video_stream_receiver.h b/webrtc/video/rtp_video_stream_receiver.h index e298803c3f..736f513697 100644 --- a/webrtc/video/rtp_video_stream_receiver.h +++ b/webrtc/video/rtp_video_stream_receiver.h @@ -112,7 +112,7 @@ class RtpVideoStreamReceiver : public RtpData, int frequency, size_t channels, uint32_t rate) override; - void OnIncomingSSRCChanged(uint32_t ssrc) override; + void OnIncomingSSRCChanged(uint32_t ssrc) override {} void OnIncomingCSRCChanged(uint32_t CSRC, bool added) override {} // Implements VCMFrameTypeCallback.