Intent to Experiment: WebRTC encoded transform - Modify Metadata functions

248 views
Skip to first unread message

Guido Urdaneta

unread,
Aug 11, 2023, 9:08:03 AM8/11/23
to blink-dev

Contact emails

h...@chromium.org, agp...@chromium.org, top...@chromium.org, gui...@chromium.org


Explainer

https://github.com/palak8669/webrtc-encoded-transform/blob/create-encoded-explainer/create-encoded-explainer.md


Specification

https://github.com/w3c/webrtc-encoded-transform/compare/main...palak8669:webrtc-encoded-transform:setmetadata-pr


Design docs


https://github.com/palak8669/webrtc-encoded-transform/blob/create-encoded-explainer/create-encoded-explainer.md


Summary

Add features to the WebRTC Encoded Transform API that allow manipulating audio and video frame metadata Background: A number of use cases have been identified that require the manipulation of WebRTC encoded media without decoding them first. These include: - Sending data that has been encoded previously - Sending data that has been received in encoded form - Receiving data in encoded form and forwarding it.

 In particular, we want to support the use case of glitch-free forwarding of media coming from multiple redundant peer connections that provide the same media payloads but with different metadata. 

Issue links: 

https://github.com/w3c/webrtc-nv-use-cases/issues/77

https://github.com/w3c/webrtc-nv-use-cases/issues/122



Blink component

Blink>WebRTC


TAG review

The original full spec was reviewed by TAG here: https://github.com/w3ctag/design-reviews/issues/531 

No TAG review has been requested for this incremental change, since it is a small addition and its API surface might change as a result of feedback from the origin trial and ongoing discussions in the WebRTC working group.


TAG review status

Pending


Chromium Trial Name

RTCEncodedFrameSetMetadata


WebFeature UseCounter name

V8RTCEncodedVideoFrame_SetMetadata_Method


Risks



Interoperability and Compatibility

Interoperability risk: There is the risk that other browsers will not implement this feature. We try to mitigate this risk by providing a detailed specification of the new behavior and discussing it in the WebRTC working group, so that it becomes part of the encoded transform spec, which currently has consensus. Compatibility test: This is a new feature intended to support a new use case. It introduces no breaking changes, so we do not expect any compatibility issues.



Gecko: No signal


WebKit: No signal


Web developers: No signals.


Other signals:


Ergonomics

This feature is an extension to WebRTC Encoded Transform, which itself is an extension to WebRTC/RTCPeerConnection.



Activation

N/A



Security

No new security risks identified.



WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

No



Goals for experimentation

Our goal is to validate that the proposed API can support the intended use case. More specifically, we want to confirm using setMetadata() can help achieve glitch-free forwarding of media using redundant input peer connections in real-world settings.



Ongoing technical constraints

None



Debuggability

N/A



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes


Is this feature fully tested by web-platform-tests?

No. Currently tested using unit and web tests. WPTs will be added once the final API shape is confirmed.


Flag name on chrome://flags

N/A


Finch feature name

N/A


Non-finch justification

Currently guarded by a Blink RuntimeEnabledFeature: RTCEncodedFrameSetMetadata.


Requires code in //chrome?

No


Tracking bug

https://crbug.com/1393964


Estimated milestones

OriginTrial desktop last

123

OriginTrial desktop first

118


OriginTrial Android last

123

OriginTrial Android first

118


OriginTrial webView last

123

OriginTrial webView first

118


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5116073827893248


Links to previous Intent discussions

Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/x2ZACgXrqp0


Mike Taylor

unread,
Aug 11, 2023, 10:03:04 AM8/11/23
to Guido Urdaneta, blink-dev

LGTM to experiment from 118 to 123 inclusive.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2BBuZxazRts59rCgrOHm2yDKwpGkXqsd-_5Wkurxid34FknDiQ%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages