diff --git a/media/webrtc/signaling/src/jsep/JsepCodecDescription.h b/media/webrtc/signaling/src/jsep/JsepCodecDescription.h index 61ba0f97bdc..933f559ceb4 100644 --- a/media/webrtc/signaling/src/jsep/JsepCodecDescription.h +++ b/media/webrtc/signaling/src/jsep/JsepCodecDescription.h @@ -324,8 +324,10 @@ struct JsepVideoCodecDescription : public JsepCodecDescription { mDefaultPt, SdpRtcpFbAttributeList::kNack, SdpRtcpFbAttributeList::pli); rtcpfb.PushEntry( mDefaultPt, SdpRtcpFbAttributeList::kCcm, SdpRtcpFbAttributeList::fir); - rtcpfb.PushEntry( - mDefaultPt, SdpRtcpFbAttributeList::kCcm, SdpRtcpFbAttributeList::tmmbr); + if (mUseTmmbr) { + rtcpfb.PushEntry( + mDefaultPt, SdpRtcpFbAttributeList::kCcm, SdpRtcpFbAttributeList::tmmbr); + } } SdpFmtpAttributeList::H264Parameters @@ -668,6 +670,7 @@ struct JsepVideoCodecDescription : public JsepCodecDescription { uint32_t mMaxCpb; uint32_t mMaxDpb; uint32_t mMaxBr; + bool mUseTmmbr; std::string mSpropParameterSets; }; diff --git a/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp b/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp index 9988d7b5b56..330086cad63 100644 --- a/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp +++ b/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp @@ -966,6 +966,10 @@ PeerConnectionImpl::ConfigureJsepSessionCodecs() { videoCodec.mMaxFr = maxFr; } + + videoCodec.mUseTmmbr = false; + branch->GetBoolPref("media.navigator.video.use_tmmbr", + &videoCodec.mUseTmmbr); } break; case SdpMediaSection::kText: