Closed Bug 1868223 Opened 2 years ago Closed 6 months ago

Support [Serializable] for RTCEncodedVideoFrame and RTCEncodedAudioFrame (with .data member transfer)

Categories

(Core :: WebRTC: Networking, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
145 Branch
Tracking Status
firefox145 --- fixed

People

(Reporter: jib, Assigned: jib)

References

(Blocks 1 open bug)

Details

(Keywords: dev-doc-complete, webcompat:platform-bug)

User Story

user-impact-score:450

Attachments

(5 files, 1 obsolete file)

This was changed in https://github.com/w3c/webrtc-encoded-transform/pull/182.

[Serializable] is needed to transfer RTCRtpScriptTransform's readable and writable streams elsewhere, e.g. to main-thread.

STRs:

  1. Open https://jsfiddle.net/jib1/bf92opjh/
  2. Click the Go! button (and give camera permission if needed)

Expected result:

  • Two video elements playing, representing sender and receiver side.

Actual result:

  • DataCloneError: RTCEncodedVideoFrame object could not be cloned.
Assignee: nobody → jib
Status: NEW → ASSIGNED

There is an r+ patch which didn't land and no activity in this bug for 2 weeks.
:jib, could you have a look please?
If you still have some work to do, you can add an action "Plan Changes" in Phabricator.
For more information, please visit BugBot documentation.

Flags: needinfo?(smaug)
Flags: needinfo?(jib)
Flags: needinfo?(smaug)
Flags: needinfo?(jib)
Summary: Support [Serializable, Transferable] for RTCEncodedVideoFrame and RTCEncodedAudioFrame → Support [Serializable] for RTCEncodedVideoFrame and RTCEncodedAudioFrame (with .data member transfer)
Blocks: 1948971
Blocks: 1975032

Jan-Ivar Bruaroey [:jib] (needinfo? me), could you please clarify the bug's status now? Is it fixed with the latest PR?

You also mentioned bug 1896361 being blocked by this bug. Could you please update the bug info to reflect that?

Flags: needinfo?(jib)

A second patch is needed to complete this fix. Trying to find time to work on it.

It's only blocking bug 1896361 insofar as building a reverse shim for facebook would require inefficient transfer of encoded frames between main thread and a worker, as explained in Bug 1896361 comment 13.

Bug 1896361 would ideally be fixed through other means: facebook updating to use RTCScriptTransform (part of Interop 2025) once Chrome turns it on. This would make it work in Safari as well, not just Firefox.

We can remove the block if that happens first.

Blocks: 1896361
Flags: needinfo?(jib)
User Story: (updated)
Attachment #9366940 - Attachment is obsolete: true
Pushed by agoloman@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/b8005febde95 https://hg.mozilla.org/integration/autoland/rev/0a340905a471 Revert "Bug 1868223 - Reenable WPT RTCRtpScriptTransform-sender-worker-single-frame.https.html. r=bwc" for causing ios build bustages @StructuredCloneHolder.cpp.

Backed out for causing ios build bustages @StructuredCloneHolder.cpp.

Flags: needinfo?(jib)
Regressions: 1993264
No longer regressions: 1993264
Flags: needinfo?(jib)
Keywords: dev-doc-needed
QA Whiteboard: [qa-triage-done-c146/b145]

FF145 MDN docs work for this done as part of https://github.com/mdn/content/issues/41508

Depends on: 1995473
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: