Closed
Bug 1429219
Opened 8 years ago
Closed 8 years ago
Enforce providing simulcast encodings with enough bits to avoid encoder Init failure
Categories
(Core :: WebRTC: Audio/Video, defect, P1)
Tracking
()
RESOLVED
FIXED
mozilla59
People
(Reporter: jesup, Assigned: jesup)
References
Details
Attachments
(1 file)
3.83 KB,
patch
|
drno
:
review+
gchang
:
approval-mozilla-beta+
gchang
:
approval-mozilla-release+
|
Details | Diff | Splinter Review |
VP8 gets upset if you use temporal layers and don't specify a number of bits for each; but if the initial bitrate available is too low (such as when you switch to a screenshare when at a low bitrate), the largest simulcast screenshare layer(s) may not get allocated bits, and thus the ts_target_bitrates may be 0, leading to InitEncode() failure.
This ensures that the encoder init won't fail due to a simulcast encoding getting 0 bits. Note that future allocations will all happen "normally"; this is only an issue with Initing the encoder.
For example, if 500kbps is available at the point of switching, there may be enough for the 320x240 and 640x480 layers to init, but not the 1280x960 layer, and stream_bitrates[] might be [200, 300, 0]. Without this patch InitEncode for the last layer will fail.
Assignee | ||
Comment 1•8 years ago
|
||
Attachment #8941204 -
Flags: review?(drno)
Comment 2•8 years ago
|
||
Comment on attachment 8941204 [details] [diff] [review]
Ensure VP8 simulcast with temporal layers won't fail if there aren't enough bits
Review of attachment 8941204 [details] [diff] [review]:
-----------------------------------------------------------------
LGTM
Attachment #8941204 -
Flags: review?(drno) → review+
Assignee | ||
Comment 4•8 years ago
|
||
Definitely should open an upstream bug for this; I strongly suspect they'll want to solve it in a different way as part of the bug they're currently trying to finish that redoes a lot of the simulcast/temporal-layer code:
https://bugs.chromium.org/p/webrtc/issues/detail?id=4172
Flags: needinfo?(rjesup) → needinfo?(dminor)
Pushed by rjesup@wgate.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/ef313ab76a82
Ensure VP8 simulcast with temporal layers won't fail if there aren't enough bits r=drno
Comment 6•8 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 8 years ago
status-firefox59:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
Assignee | ||
Updated•8 years ago
|
Attachment #8941204 -
Flags: approval-mozilla-beta?
Hi Gerry, Ryan, this fix needs to be included in RC1. Could you please approve and make sure RC1 is built with this fix in? Thanks! Tracking as a blocker to be sure this doesn't fall off our radar.
status-firefox58:
--- → affected
tracking-firefox58:
--- → blocking
Flags: needinfo?(ryanvm)
Flags: needinfo?(gchang)
Assignee | ||
Updated•8 years ago
|
Attachment #8941204 -
Flags: approval-mozilla-release?
Comment 8•8 years ago
|
||
Comment on attachment 8941204 [details] [diff] [review]
Ensure VP8 simulcast with temporal layers won't fail if there aren't enough bits
Take this in RC. Beta58+.
Flags: needinfo?(gchang)
Attachment #8941204 -
Flags: approval-mozilla-release?
Attachment #8941204 -
Flags: approval-mozilla-release+
Attachment #8941204 -
Flags: approval-mozilla-beta?
Attachment #8941204 -
Flags: approval-mozilla-beta+
Comment 9•8 years ago
|
||
bugherder uplift |
Updated•8 years ago
|
Flags: needinfo?(ryanvm)
Comment 10•8 years ago
|
||
Filed https://bugs.chromium.org/p/webrtc/issues/detail?id=8753 upstream.
Flags: needinfo?(dminor)
You need to log in
before you can comment on or make changes to this bug.
Description
•