This is an automated email from the git hooks/post-receive script.
pierov pushed a commit to branch geckoview-99.0.1-11.0-1 in repository tor-browser.
commit 6ddff345736733dd1fb35dc20e98d5d5df90857d Author: Byron Campen docfaraday@gmail.com AuthorDate: Wed Mar 9 16:23:31 2022 +0000
Bug 1756222: Do not disable SSRC switching if there were no a=ssrc attributes in the remote SDP. r=mjf, a=dmeehan
Differential Revision: https://phabricator.services.mozilla.com/D140236 --- dom/media/webrtc/jsapi/RTCRtpReceiver.cpp | 46 ++++++++++++++++--------------- 1 file changed, 24 insertions(+), 22 deletions(-)
diff --git a/dom/media/webrtc/jsapi/RTCRtpReceiver.cpp b/dom/media/webrtc/jsapi/RTCRtpReceiver.cpp index 20843da496b75..50cc40fc940bf 100644 --- a/dom/media/webrtc/jsapi/RTCRtpReceiver.cpp +++ b/dom/media/webrtc/jsapi/RTCRtpReceiver.cpp @@ -660,18 +660,19 @@ nsresult RTCRtpReceiver::UpdateVideoConduit() { : mJsepTransceiver->mRecvTrack.GetRtxSsrcs().front(); mSsrc = mJsepTransceiver->mRecvTrack.GetSsrcs().front(); mVideoRtxSsrc = rtxSsrc; - }
- // TODO (bug 1423041) once we pay attention to receiving MID's in RTP - // packets (see bug 1405495) we could make this depending on the presence of - // MID in the RTP packets instead of relying on the signaling. - if (mJsepTransceiver->HasBundleLevel() && - (!mJsepTransceiver->mRecvTrack.GetNegotiatedDetails() || - !mJsepTransceiver->mRecvTrack.GetNegotiatedDetails()->GetExt( - webrtc::RtpExtension::kMidUri))) { - mCallThread->Dispatch( - NewRunnableMethod("VideoSessionConduit::DisableSsrcChanges", conduit, - &VideoSessionConduit::DisableSsrcChanges)); + // TODO (bug 1423041) once we pay attention to receiving MID's in RTP + // packets (see bug 1405495) we could make this depending on the presence of + // MID in the RTP packets instead of relying on the signaling. + // In any case, do not disable SSRC changes if no SSRCs were negotiated + if (mJsepTransceiver->HasBundleLevel() && + (!mJsepTransceiver->mRecvTrack.GetNegotiatedDetails() || + !mJsepTransceiver->mRecvTrack.GetNegotiatedDetails()->GetExt( + webrtc::RtpExtension::kMidUri))) { + mCallThread->Dispatch( + NewRunnableMethod("VideoSessionConduit::DisableSsrcChanges", conduit, + &VideoSessionConduit::DisableSsrcChanges)); + } }
if (mJsepTransceiver->mRecvTrack.GetNegotiatedDetails() && @@ -717,18 +718,19 @@ nsresult RTCRtpReceiver::UpdateAudioConduit() { GetMid().c_str(), __FUNCTION__, mJsepTransceiver->mRecvTrack.GetSsrcs().front())); mSsrc = mJsepTransceiver->mRecvTrack.GetSsrcs().front(); - }
- // TODO (bug 1423041) once we pay attention to receiving MID's in RTP - // packets (see bug 1405495) we could make this depending on the presence of - // MID in the RTP packets instead of relying on the signaling. - if (mJsepTransceiver->HasBundleLevel() && - (!mJsepTransceiver->mRecvTrack.GetNegotiatedDetails() || - !mJsepTransceiver->mRecvTrack.GetNegotiatedDetails()->GetExt( - webrtc::RtpExtension::kMidUri))) { - mCallThread->Dispatch( - NewRunnableMethod("AudioSessionConduit::DisableSsrcChanges", conduit, - &AudioSessionConduit::DisableSsrcChanges)); + // TODO (bug 1423041) once we pay attention to receiving MID's in RTP + // packets (see bug 1405495) we could make this depending on the presence of + // MID in the RTP packets instead of relying on the signaling. + // In any case, do not disable SSRC changes if no SSRCs were negotiated + if (mJsepTransceiver->HasBundleLevel() && + (!mJsepTransceiver->mRecvTrack.GetNegotiatedDetails() || + !mJsepTransceiver->mRecvTrack.GetNegotiatedDetails()->GetExt( + webrtc::RtpExtension::kMidUri))) { + mCallThread->Dispatch( + NewRunnableMethod("AudioSessionConduit::DisableSsrcChanges", conduit, + &AudioSessionConduit::DisableSsrcChanges)); + } }
if (mJsepTransceiver->mRecvTrack.GetNegotiatedDetails() &&