Closed Bug 1390202 Opened 8 years ago Closed 8 years ago

Temporal scalability not working in 56/57

Categories

(Core :: WebRTC: Audio/Video, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox55 --- unaffected
firefox56 --- wontfix
firefox57 --- fixed

People

(Reporter: jesup, Assigned: jesup)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

Attachments

(1 file, 1 obsolete file)

Upstream webrtc.org code uses temporal_layer_thresholds_bps (in particular the array size) to decide how many temporal layers to use. Note it ignores the values *in* the array, for some reason. Reported by the meetecho guys on dev.media
Comment on attachment 8897046 [details] [diff] [review] Populate temporal_layer_thresholds_bps so we'll send temporal layers in webrtc Review of attachment 8897046 [details] [diff] [review]: ----------------------------------------------------------------- ::: media/webrtc/signaling/src/media-conduit/VideoConduit.cpp @@ +619,5 @@ > > simulcastEncoding = mConduit->mCurSendCodecConfig->mSimulcastEncodings[idx]; > MOZ_ASSERT(simulcastEncoding.constraints.scaleDownBy >= 1.0); > > // leave vector temporal_layer_thresholds_bps empty Update this comment? @@ +624,5 @@ > + if (config.number_of_streams > 1) { > + // Oddly, though this is a 'bps' array, nothing really looks at the > + // values, just the size of the array to know the number of temporal > + // layers. > + video_stream.temporal_layer_thresholds_bps.resize(2); How are we going to ensure we remember to update this if/when webrtc.org starts paying attention to the values? We don't want this to regress again. @@ +628,5 @@ > + video_stream.temporal_layer_thresholds_bps.resize(2); > + // XXX Note: in simulcast.cc in upstream code, the array value is > + // 3(-1) for all streams, though it's in an array, except for screencasts, > + // which use 1 (i.e 2 layers). > + // XXX Bug XXXXX investigate using more of Bug number, of course.
Attachment #8897046 - Flags: review?(docfaraday)
> @@ +624,5 @@ > > + if (config.number_of_streams > 1) { > > + // Oddly, though this is a 'bps' array, nothing really looks at the > > + // values, just the size of the array to know the number of temporal > > + // layers. > > + video_stream.temporal_layer_thresholds_bps.resize(2); > > How are we going to ensure we remember to update this if/when webrtc.org > starts paying attention to the values? We don't want this to regress again. There's no easy way to do so, unless maybe have a bug blocking the next import (and the next if needed, etc).
(In reply to Randell Jesup [:jesup] from comment #4) > > @@ +624,5 @@ > > > + if (config.number_of_streams > 1) { > > > + // Oddly, though this is a 'bps' array, nothing really looks at the > > > + // values, just the size of the array to know the number of temporal > > > + // layers. > > > + video_stream.temporal_layer_thresholds_bps.resize(2); > > > > How are we going to ensure we remember to update this if/when webrtc.org > > starts paying attention to the values? We don't want this to regress again. > > There's no easy way to do so, unless maybe have a bug blocking the next > import (and the next if needed, etc). Let's do that. It would be _really_ nice to be able to test this, though.
Blocks: 1390215
Attachment #8897046 - Attachment is obsolete: true
Attachment #8897052 - Flags: review?(docfaraday) → review+
Pushed by rjesup@wgate.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/51b5264af174 Populate temporal_layer_thresholds_bps so we'll send temporal layers in webrtc r=bwc
Tested with https://janus.conf.meetecho.com/echotest?simulcast=true - works great (select tl1 or tl0 to verify - video should be slower/choppier)
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Too late for 56. Mass won't fix for 56.
Depends on: 1402834
Blocks: 1628851
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: