- From: Jan-Ivar Bruaroey via GitHub <sysbot+gh@w3.org>
- Date: Thu, 30 Nov 2023 21:23:18 +0000
- To: public-webrtc@w3.org
jan-ivar has just created a new issue for https://github.com/w3c/webrtc-rtptransport: == Update examples with standard APIs == I found the examples the most helpful part of the [explainer](https://github.com/w3c/webrtc-rtptransport/blob/main/explainer.md). But they refer to the _"Encoded Transform API"_, presumably [webrtc-encoded-transform](https://w3c.github.io/webrtc-encoded-transform/) without using any of its APIs, (instead using nonstandard `createEncodedStreams`). This should be fixed to avoid confusion. This should help solve #13 and address feedback from at least @jesup and myself that this API should be worker-first. E.g. a minimum update of the existing examples to spec might yield: #### Example: Send with custom packetization ```js // main.js const pc = new RTCPeerConnection(); const rtpTransport = pc.createRtpTransport(); const transform = new RTCRtpScriptTransform(worker, {rtpTransport}, [rtpTransport]); for (const sender of pc.getSenders()) { sender.transform = transform; } ``` ...except why expose `rtpTransport` on main thread at all? E.g. why not: ```js // worker.js onrtctransform = async ({transformer}) => { const {readable, options} = transformer; const {writable} = transformer.createRtpTransport(); await readable.pipeThrough(new TransformStream({transform})).pipeTo(writable); function transform(encodedFrame, controller) { for (const packet of myPacketizer.packetize(frame)) { controller.enqueue(packet); } }; } ``` I'm not necessarily condoning this as a final shape — it begs other questions like what is the type of a packet and why not reuse the transformer's existing `writable`? — but developing off of standard APIs I think is the right step forward. Please view or discuss this issue at https://github.com/w3c/webrtc-rtptransport/issues/14 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Thursday, 30 November 2023 21:23:21 UTC