Closed Bug 1404250 Opened 8 years ago Closed 8 years ago

Check failed: streams[i].max_bitrate_bps >= streams[i].target_bitrate_bps (10000 vs. 30000)

Categories

(Core :: WebRTC: Audio/Video, enhancement, P3)

57 Branch
enhancement

Tracking

()

RESOLVED FIXED
mozilla58
Tracking Status
firefox58 --- fixed

People

(Reporter: pehrsons, Assigned: dminor)

References

Details

Attachments

(1 file)

I took fippo's fiddle from bug 1404039 comment 2 and tightened the b=TIAS a bit, and switched to fake media in [1]. The tightened TIAS causes the max_bitrate to go below the target_bitrate and so we fail the assert at [2]. We should fix this in VideoConduit and land a testcase based on the fiddle. [1] https://jsfiddle.net/pehrsons/yxbLvjm6/15/ [2] http://searchfox.org/mozilla-central/rev/20e41d4a61a8f5e34c9cf357304b78b3e9bced8a/media/webrtc/trunk/webrtc/modules/video_coding/video_codec_initializer.cc#192
Assignee: nobody → dminor
Comment on attachment 8917034 [details] Bug 1404250 - Ensure that target bitrate is between minimum and maximum bitrates in VideoConduit; https://reviewboard.mozilla.org/r/188048/#review193498 ::: media/webrtc/signaling/src/media-conduit/VideoConduit.cpp:1674 (Diff revision 1) > } > - out_start = std::max(out_start, out_min); > > + // Ensure that min <= start <= max > + if (out_max < out_min) { > + std::swap(out_min, out_max); Hmm, so with min=30, max=25 we end up with a bitrate range of [25, 30]. I would have expected one of the two to take precedence as the stronger limit, i.e., [25, 25] or [30, 30]. Do you have better justification? Any spec to rely on?
Attachment #8917034 - Flags: review?(apehrson)
(In reply to Andreas Pehrson [:pehrsons] from comment #2) > Comment on attachment 8917034 [details] > Bug 1404250 - Ensure that target bitrate is between minimum and maximum > bitrates in VideoConduit; > > https://reviewboard.mozilla.org/r/188048/#review193498 > > ::: media/webrtc/signaling/src/media-conduit/VideoConduit.cpp:1674 > (Diff revision 1) > > } > > - out_start = std::max(out_start, out_min); > > > > + // Ensure that min <= start <= max > > + if (out_max < out_min) { > > + std::swap(out_min, out_max); > > Hmm, so with min=30, max=25 we end up with a bitrate range of [25, 30]. I > would have expected one of the two to take precedence as the stronger limit, > i.e., [25, 25] or [30, 30]. > > Do you have better justification? Any spec to rely on? It looks like upstream webrtc.org makes the maximum take precedence [1]. Since their present is our future, I think it makes sense to do what they are doing. I couldn't find anything spec related for this, but perhaps I was just looking in the wrong places. [1] https://cs.chromium.org/chromium/src/third_party/webrtc/call/call.cc?type=cs&sq=package:chromium&l=972
Comment on attachment 8917034 [details] Bug 1404250 - Ensure that target bitrate is between minimum and maximum bitrates in VideoConduit; https://reviewboard.mozilla.org/r/188048/#review194818
Attachment #8917034 - Flags: review?(apehrson) → review+
Pushed by dminor@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3d089604ad0d Ensure that target bitrate is between minimum and maximum bitrates in VideoConduit; r=pehrsons
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: