[webrtc-rtptransport] Examples pipe multiple streams into a single writable (#15)

jan-ivar has just created a new issue for https://github.com/w3c/webrtc-rtptransport:

== Examples pipe multiple streams into a single writable ==
The [examples](https://github.com/w3c/webrtc-rtptransport/blob/main/explainer.md#proposed-solutions) won't work as written  for more than one sender:
```js
const rtpTransport = pc.createRtpTransport();
pc.getSenders().forEach((sender) => {
  pc.createEncodedStreams().readable.
      pipeThrough(createPacketizingTransformer()).pipeTo(rtpTransport.writable);
});
```
...because multiple streams cannot be piped into a single writable.

It's not super-clear what a single "transport" is meant to be scoped to.
1. Is there one for the entire peer connection?
2. Is there one per transceiver?
3. Is there one per sender and receiver?
4. Is there one per transform?
5. Can apps create as many as they wish?

Is it just a packetizer sink? — In #14 I end up with number 4.

Conceptually, is this just be some option on a transform to change expected inputs and outputs? E.g. on the sender:

 1. encodedFrame → encodedFrame (default, e.g. e2ee)
 2. encodedFrame → packet (e.g adding metadata)
 3. Frame → encodedFrame (JS encoder)
 4. Frame → packet (hold my beer)

If so, this proposal may be closer to @alvestrand's that I previously appreciated.


Please view or discuss this issue at https://github.com/w3c/webrtc-rtptransport/issues/15 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Friday, 1 December 2023 14:35:01 UTC