#942: Constructors for RTC encoded frames with custom metadata

Visit on Github.

Opened Apr 3, 2024

こんにちは TAG-さん!

I'm requesting a TAG review of [feature name].

[One paragraph summary of idea, ideally copy-pasted from Explainer introduction]

In some use cases, a Web application would like to have control over the metadata attached to RTC encoded frames. One example would be adjusting timestamps to introduce a delay in playout. Another one would be relaying incoming encoded data from one or more input peer connections to one or more output PeerConnections use case 3.2.2, which requires encoded frame metadata to conform with the requirements of its destination. The proposed solution consists of a constructor for encoded frames that takes data from an existing frame + customized metadata.

Note: Fully supporting use case 3.2.2 also requires an additional API for inserting encoded frames into an RTCPeerConnection, for which a separate TAG review will be requested.

Further details:

  • I have reviewed the TAG's Web Platform Design Principles
  • The group where the incubation/design work on this is being done (or is intended to be done in the future): W3C WebRTC Working Group
  • The group where standardization of this work is intended to be done ("unknown" if not known): W3C WebRTC Working Group
  • Existing major pieces of multi-stakeholder review or discussion of this design: https://github.com/w3c/webrtc-encoded-transform/pull/223 (review of PR adding the constructors)
  • Major unresolved issues with or opposition to this design: No major issues. Some details about the API surface and precise wording of the spec are under discussion at https://github.com/w3c/webrtc-encoded-transform/pull/223
  • This work is being funded by: Google

Please provide feedback here (not on https://github.com/w3c/webrtc-encoded-transform/pull/223).

Discussions

2024-06-17

Minutes

Martin to take this offline and do some research.

2024-07-01

Minutes

Asked for information. The explainer lacks key pieces of detail, like motivation. WebKit marked this "invalid". Hold, but expect to close.