Closed Bug 1328142 Opened 9 years ago Closed 9 years ago

Webrtc.org 49 update broke simulcast

Categories

(Core :: WebRTC: Signaling, defect, P1)

53 Branch
defect

Tracking

()

RESOLVED FIXED
mozilla53
Tracking Status
firefox50 --- unaffected
firefox51 --- unaffected
firefox52 --- unaffected
firefox53 + fixed

People

(Reporter: pehrsons, Assigned: pkerr)

References

Details

(Keywords: regression)

Attachments

(11 files)

59 bytes, text/x-review-board-request
pkerr
: review+
Details
59 bytes, text/x-review-board-request
pkerr
: review+
Details
59 bytes, text/x-review-board-request
pkerr
: review+
Details
59 bytes, text/x-review-board-request
pkerr
: review+
Details
59 bytes, text/x-review-board-request
pkerr
: review+
Details
59 bytes, text/x-review-board-request
pkerr
: review-
Details
59 bytes, text/x-review-board-request
pkerr
: review+
Details
59 bytes, text/x-review-board-request
pkerr
: review+
Details
59 bytes, text/x-review-board-request
pkerr
: review+
Details
1.83 KB, patch
jesup
: review+
Details | Diff | Splinter Review
8.65 KB, patch
jesup
: review+
Details | Diff | Splinter Review
It seems like test_peerConnection_simulcastOffer.html was tweaked in the patch-rollup-patch of bug 1250356 to no longer test that we are receiving multiple simulcast streams. Changing it back shows that our implementation is broken. When debugging I see only one ssrc registered as received, although there should be two. The test changes confirm this as only the last simulcast stream that is scaled down is being received.
Rank: 12
Priority: -- → P1
The received ssrcs seem based on received rtp packets so I assume we're simply not sending simulcast properly.
Keywords: regression
Summary: Webrtc.org 49 update broke receiving simulcast → Webrtc.org 49 update broke simulcast
SimulcastEncoderAdapter::GetStreamBitrate() seems to be selecting only the lowest resolution stream on the first frame. This because the codec settings are: (for the 50x50 stream) maxBitrate = 250, targetBitrate = 80, minBitrate = 40 (for the 25x25 stream) maxBitrate = 250, targetBitrate = 80, minBitrate = 40 To send the 25x25 one the code requires the 50x50 target and the 25x25 min bitrates, alas 80+40=120kbps. This while it says we only have 80kbps available. The test sets a maxBitrate of 40kbps on both simulcast encodings. This seems broken (code says 250kbps for both encodings). The test forces a min_bitrate_estimate (by pref) to 100kbps. This seems broken (code says 80kbps).
The rollup patch also seems to have reverted bug 1320101.
Blocks: 1320101
Assignee: nobody → pehrson
Status: NEW → ASSIGNED
Version: unspecified → 53 Branch
Comment on attachment 8823290 [details] Bug 1328142 - Fix VideoConduit warning: Comparison between signed and unsigned ints. https://reviewboard.mozilla.org/r/101852/#review102364
Attachment #8823290 - Flags: review?(pkerr) → review+
Comment on attachment 8823291 [details] Bug 1328142 - Fix VideoConduit warning: Unexpected format type. https://reviewboard.mozilla.org/r/101854/#review102366
Attachment #8823291 - Flags: review?(pkerr) → review+
Attachment #8823292 - Flags: review?(pkerr) → review+
Comment on attachment 8823293 [details] Bug 1328142 - Pass in a cap when selecting bitrates on reconfigure. https://reviewboard.mozilla.org/r/101858/#review102370
Attachment #8823293 - Flags: review?(pkerr) → review+
Attachment #8823295 - Flags: review?(pkerr) → review+
Attachment #8823296 - Flags: review?(pkerr) → review+
Attachment #8823297 - Flags: review?(pkerr) → review+
Comment on attachment 8823289 [details] Bug 1328142 - Fix VideoConduit warning: kf_request_method unused. https://reviewboard.mozilla.org/r/101850/#review102392
Attachment #8823289 - Flags: review?(pkerr) → review+
Assignee: pehrson → pkerr
Attachment #8824288 - Flags: review?(rjesup)
Comment on attachment 8824289 [details] [diff] [review] enable switching between simulcast receive streams This may be a little rough. I moved SetRemoteSSRC into the MediaConduit abstract class and stubbed it out in the WebrtcAudioConduit class because when the voice engine moved under the call api this call may need to be supported there. The idea is when you call SelectSsrc it will change the SSRC that the VideoReceiveStream is expecting and pick up on of the other VP8 versions.
Attachment #8824289 - Flags: review?(rjesup)
Comment on attachment 8823294 [details] Bug 1328142 - Restore test_pc_simulcastOffer.html. https://reviewboard.mozilla.org/r/101860/#review103200 I made some changes to allow switching between the simulcast streams. An updated version of this test in that patch.
Attachment #8823294 - Flags: review?(pkerr) → review-
Attachment #8824288 - Flags: review?(rjesup) → review+
Attachment #8824289 - Flags: review?(rjesup) → review+
Blocks: 1093835
Tracking for 53. Is this planned to land on m-c before the merge next Monday?
Pushed by rjesup@wgate.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/8e9b98f63192 Restore test_pc_simulcastOffer.html. r=pkerr https://hg.mozilla.org/integration/mozilla-inbound/rev/15a88f1ebc49 Fix VideoConduit warning: Comparison between signed and unsigned ints. r=pkerr https://hg.mozilla.org/integration/mozilla-inbound/rev/902f9175ee2b Fix VideoConduit warning: Unexpected format type. r=pkerr https://hg.mozilla.org/integration/mozilla-inbound/rev/71041d19d2ae Pass in a cap when selecting bitrates on reconfigure. r=pkerr https://hg.mozilla.org/integration/mozilla-inbound/rev/4efc5eb60678 Remove comment that wants to be removed. r=pkerr https://hg.mozilla.org/integration/mozilla-inbound/rev/cd5f8d67b620 Unify macros in MediaPipeline. r=pkerr https://hg.mozilla.org/integration/mozilla-inbound/rev/4ea7585240cf enable switching between simulcast receive streams r=jesup https://hg.mozilla.org/integration/mozilla-inbound/rev/2233e03ef6fc fix bug in VideoConduit::SetRemoteSSRC handling r=jesup
Setting qe-verify- since this fix seems to have automated coverage. Paul, if you think manual QA should instead be looking at this, feel free to flip the flag or ni? me.
Flags: qe-verify-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: