[wpt-sync] Sync PR 43447 - Reland "Allow createEncodedStreams on PCs without encodedInsertableStreams param"
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox122 fixed)
Tracking | Status | |
---|---|---|
firefox122 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 43447 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/43447
Details from upstream follow.
Tony Herre <toprice@chromium.org> wrote:
Reland "Allow createEncodedStreams on PCs without encodedInsertableStreams param"
This is a reland of commit e5518aa87b722a83596d1fb2a7506d0ab76f1207
Original change's description:
Allow createEncodedStreams on PCs without encodedInsertableStreams param
Allow creating Encoded Transforms for any Receivers and Senders, so
long as createEncodedStreams() is called by JS synchronously after
sender/receiver creation. This is achieved by setting up a WebRTC
transform on all transceivers, but "short circuiting" it if JS hasn't
set up its own transform within an event loop spin of creation. This
will make the transform just pass frames to be transformed directly back
without invoking the cost of a thread hop or any JS work.The existing behaviour (dropping all frames until a JS transform is
installed) is preserved for PCs created with {encodedInsertableStreams:
true}.This implements the algorithm defined in https://www.w3.org/TR/2023/WD-webrtc-encoded-transform-20231012/#stream-creation,
but for the Chromium createEncodedStreams() method, improving
conformance incrementally.Bug: 1502781
Change-Id: Ie36d8ed8f431afa97307030646d3b207bf14cf7a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5040731
Commit-Queue: Tony Herre \<toprice@chromium.org>
Reviewed-by: Guido Urdaneta \<guidou@chromium.org>
Reviewed-by: Harald Alvestrand \<hta@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1230611}Bug: 1502781
Change-Id: I70b366f375e1b6c8e90567f5c994423fd738c8faReviewed-on: https://chromium-review.googlesource.com/5077034
WPT-Export-Revision: 3eff4d81e2f12a25d851b41c095cc2e4c4efc58e
Assignee | ||
Comment 1•2 years ago
|
||
Assignee | ||
Comment 2•2 years ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 5 tests and 4 subtests
Status Summary
Firefox
OK
: 5
FAIL
: 20
Chrome
OK
: 5
PASS
: 12
FAIL
: 8
Safari
OK
: 5
FAIL
: 20
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /webrtc-encoded-transform/RTCPeerConnection-insertable-streams-audio.https.html [wpt.fyi]:
OK
[GitHub
],SKIP
[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
,Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:OK
, Safari:OK
)- Frames flow correctly using insertable streams:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Frames flow correctly using insertable streams when receiver starts negotiation:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Frames flow correctly using insertable streams with param:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Frames flow correctly using insertable streams when receiver starts negotiation with param:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Enqueuing the same frame twice fails:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Creating streams twice throws:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Encoded frames serialize and deserialize into a deep clone:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Modifying rtp timestamp:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Frames flow correctly using insertable streams:
- /webrtc-encoded-transform/RTCPeerConnection-insertable-streams-errors.https.html [wpt.fyi]:
OK
[GitHub
],SKIP
[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
,Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:OK
, Safari:OK
)- Enqueuing the same frame twice fails:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Enqueuing the same frame twice fails:
- /webrtc-encoded-transform/RTCPeerConnection-insertable-streams-video-frames.https.html [wpt.fyi]:
OK
[GitHub
],SKIP
[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
,Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:OK
, Safari:OK
)- Key and Delta frames are sent and received:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Key and Delta frames are sent and received:
- /webrtc-encoded-transform/RTCPeerConnection-insertable-streams-video.https.html [wpt.fyi]:
OK
[GitHub
],SKIP
[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
,Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:OK
, Safari:OK
)- Frames flow correctly using insertable streams:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Frames flow correctly using insertable streams when receiver starts negotiation:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Frames flow correctly using insertable streams with param:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Frames flow correctly using insertable streams when receiver starts negotiation with param:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Creating streams twice throws:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Encoded frames serialize and deserialize into a deep clone:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Frames flow correctly using insertable streams:
- /webrtc-encoded-transform/RTCPeerConnection-insertable-streams-worker.https.html [wpt.fyi]:
OK
[GitHub
],SKIP
[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
,Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:OK
, Safari:OK
)- RTCRtpSender readable stream transferred to a Worker and the Worker sends an RTCEncodedAudioFrame back:
FAIL
(Chrome:PASS
, Safari:FAIL
) - RTCRtpSender readable stream transferred to a Worker and the Worker sends an RTCEncodedVideoFrame back:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Video RTCRtpSender insertable streams transferred to a worker, which tries to write an invalid frame:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Audio RTCRtpSender insertable streams transferred to a worker, which tries to write an invalid frame:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- RTCRtpSender readable stream transferred to a Worker and the Worker sends an RTCEncodedAudioFrame back:
Tests Disabled in Gecko Infrastructure
- /webrtc-encoded-transform/RTCPeerConnection-insertable-streams-audio.https.html [wpt.fyi]:
OK
[GitHub
],SKIP
[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
,Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:OK
, Safari:OK
) - /webrtc-encoded-transform/RTCPeerConnection-insertable-streams-errors.https.html [wpt.fyi]:
OK
[GitHub
],SKIP
[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
,Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:OK
, Safari:OK
) - /webrtc-encoded-transform/RTCPeerConnection-insertable-streams-video-frames.https.html [wpt.fyi]:
OK
[GitHub
],SKIP
[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
,Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:OK
, Safari:OK
) - /webrtc-encoded-transform/RTCPeerConnection-insertable-streams-video.https.html [wpt.fyi]:
OK
[GitHub
],SKIP
[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
,Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:OK
, Safari:OK
) - /webrtc-encoded-transform/RTCPeerConnection-insertable-streams-worker.https.html [wpt.fyi]:
OK
[GitHub
],SKIP
[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
,Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:OK
, Safari:OK
)
Comment 5•2 years ago
|
||
bugherder |
Description
•