diff --git a/dom/media/tests/mochitest/mochitest.ini b/dom/media/tests/mochitest/mochitest.ini index cf651eef8f2c..df2f8218a12d 100644 --- a/dom/media/tests/mochitest/mochitest.ini +++ b/dom/media/tests/mochitest/mochitest.ini @@ -248,6 +248,8 @@ skip-if = (android_version == '18') # android(Bug 1189784, timeouts on 4.3 emula skip-if = (android_version == '18') # android(Bug 1189784, timeouts on 4.3 emulator) [test_peerConnection_addSecondVideoStream.html] skip-if = android_version == '18' # android(Bug 1189784, timeouts on 4.3 emulator) +[test_peerConnection_restrictBandwidthTargetBitrate.html] +skip-if = android_version == '18' # android(Bug 1189784, timeouts on 4.3 emulator) [test_peerConnection_restrictBandwidthWithTias.html] skip-if = android_version == '18' # android(Bug 1189784, timeouts on 4.3 emulator) [test_peerConnection_removeVideoTrack.html] diff --git a/dom/media/tests/mochitest/test_peerConnection_restrictBandwidthTargetBitrate.html b/dom/media/tests/mochitest/test_peerConnection_restrictBandwidthTargetBitrate.html new file mode 100644 index 000000000000..e1c5f6d18530 --- /dev/null +++ b/dom/media/tests/mochitest/test_peerConnection_restrictBandwidthTargetBitrate.html @@ -0,0 +1,30 @@ + + + + + + +
+
+
+ + diff --git a/media/webrtc/signaling/src/media-conduit/VideoConduit.cpp b/media/webrtc/signaling/src/media-conduit/VideoConduit.cpp index f46e51ec2b4b..6214ce444738 100755 --- a/media/webrtc/signaling/src/media-conduit/VideoConduit.cpp +++ b/media/webrtc/signaling/src/media-conduit/VideoConduit.cpp @@ -1672,7 +1672,12 @@ WebrtcVideoConduit::SelectBitrates( if (mStartBitrate && mStartBitrate > out_start) { out_start = mStartBitrate; } - out_start = std::max(out_start, out_min); + + // Ensure that min <= start <= max + if (out_min > out_max) { + out_min = out_max; + } + out_start = std::min(out_max, std::max(out_start, out_min)); MOZ_ASSERT(mPrefMaxBitrate == 0 || out_max <= mPrefMaxBitrate); }