Re: [webrtc-encoded-transform] Is frame-level fanout in scope of WebRTC encoded transform? (#211)

One possibility would be to first define how to plug an encoder in the current pipeline.
We then extend the API for encoder to be considered as a source, via a simple boolean at construction time for instance.

This two stage process would allow us to:
1. Focus first on how to define encoder as a transform, its processing model, feedback API and so on.
2. Focus second on the interactions of encoder as a source (and not as a transform) with regards to track, setParameters and so on.

Here is a rough sketch of what it could be:
```
[Exposed=DedicatedWorker]
interface RTCRtpSenderEncoder {
    constructor(boolean isSource)
    readonly attribute RTCRtpSenderEncoderHandle handle;
    readonly attribute ReadableStream? readable; // null if isSource is true.
    readonly attribute WritableStream writable;
    // Need congestion API, error API and so on.
};

[Exposed=(DedicatedWorker, Window),
Transferable]
interface RTCRtpSenderEncoderHandle {
    readonly boolean attribute isSource;
}

partial interface RTCRtpSender {
    readonly attribute RTCRtpSenderEncoderHandle? encoder;
}
```

-- 
GitHub Notification of comment by youennf
Please view or discuss this issue at https://github.com/w3c/webrtc-encoded-transform/issues/211#issuecomment-1844972816 using your GitHub account


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

Received on Thursday, 7 December 2023 09:17:38 UTC