Bug 1403714 - Only regard max_fs when set explicitly. r?dminor
MozReview-Commit-ID: DczP0bq96AW
--- a/media/webrtc/signaling/src/media-conduit/VideoConduit.cpp
+++ b/media/webrtc/signaling/src/media-conduit/VideoConduit.cpp
@@ -1904,22 +1904,26 @@ WebrtcVideoConduit::OnSinkWantsChanged(
if (!mLockScaling) {
mLastSinkWanted = wants;
// limit sink wants based upon max-fs constraint
int max_fs = mCurSendCodecConfig->mEncodingConstraints.maxFs*(16*16);
rtc::Optional<int> max_pixel_count = wants.max_pixel_count;
rtc::Optional<int> max_pixel_count_step_up = wants.max_pixel_count_step_up;
- if (max_pixel_count.value_or(max_fs) > max_fs) {
- max_pixel_count = rtc::Optional<int>(max_fs);
- }
+ if (max_fs > 0) {
+ // max_fs was explicitly set by signaling and needs to be accounted for
- if (max_pixel_count_step_up.value_or(max_fs) > max_fs) {
- max_pixel_count_step_up = rtc::Optional<int>(max_fs);
+ if (max_pixel_count.value_or(max_fs) > max_fs) {
+ max_pixel_count = rtc::Optional<int>(max_fs);
+ }
+
+ if (max_pixel_count_step_up.value_or(max_fs) > max_fs) {
+ max_pixel_count_step_up = rtc::Optional<int>(max_fs);
+ }
}
mVideoAdapter.OnResolutionRequest(max_pixel_count,
max_pixel_count_step_up);
}
}
MediaConduitErrorCode