Bug 1320101 - mNegotiatedMaxBitrate should be able to cap the max bitrate. r?bwc draft
authorAndreas Pehrson <pehrsons@gmail.com>
Thu, 01 Dec 2016 16:52:41 +0100
changeset 446640 d4ec16195003fbea83acb6d66d2a1d8e1d572c9e
parent 446639 8061d82aa7880ba9e3a2eed7601bfb35e8dc07c8
child 446641 48194d50f88c8645847245af97b71e819e6a9bdc
push id37837
push userbmo:pehrson@telenordigital.com
push dateThu, 01 Dec 2016 17:14:18 +0000
reviewersbwc
bugs1320101
milestone53.0a1
Bug 1320101 - mNegotiatedMaxBitrate should be able to cap the max bitrate. r?bwc MozReview-Commit-ID: 9WRUa0SKuM2
media/webrtc/signaling/src/media-conduit/VideoConduit.cpp
--- a/media/webrtc/signaling/src/media-conduit/VideoConduit.cpp
+++ b/media/webrtc/signaling/src/media-conduit/VideoConduit.cpp
@@ -1182,19 +1182,18 @@ WebrtcVideoConduit::SelectBitrates(unsig
   }
   out_start = std::max(out_start, out_min);
 
   // Note: mNegotiatedMaxBitrate is the max transport bitrate - it applies to
   // a single codec encoding, but should also apply to the sum of all
   // simulcast layers in this encoding!  So sum(layers.maxBitrate) <=
   // mNegotiatedMaxBitrate
   // Note that out_max already has had mPrefMaxBitrate applied to it
-  if (mNegotiatedMaxBitrate != 0 && mNegotiatedMaxBitrate > out_max) {
-    out_max = mNegotiatedMaxBitrate;
-  }
+  out_max = MinIgnoreZero(mNegotiatedMaxBitrate, out_max);
+
   MOZ_ASSERT(mPrefMaxBitrate == 0 || out_max <= mPrefMaxBitrate);
 }
 
 static void ConstrainPreservingAspectRatioExact(uint32_t max_fs,
                                                 unsigned short* width,
                                                 unsigned short* height)
 {
   // We could try to pick a better starting divisor, but it won't make any real