- From: Harald Alvestrand <harald@alvestrand.no>
- Date: Sun, 6 Nov 2022 10:23:42 +0000
- To: "public-webrtc@w3.org" <public-webrtc@w3.org>
So far, I've been able to spend the day hacking.
And the result is a working example of how to do what "encoded
transform" does in a different API:
const frameSource = audioPassingPc.getSenders()[0].divertFrames();
// This class definition defines the work done.
// Constructor is called with an EncodedFramesource as input.
class CountingFrameSource extends EncodedFrameSource {
constructor(firstSource) {
super();
const frameCounter = new TransformStream({
transform: (frame, controller) => {
frameCount += 1;
audioCounterDiv.innerText = frameCount;
controller.enqueue(frame);
}
});
this.readable = frameSource.readable.pipeThrough(frameCounter);
}
};
const outgoingFrameSource = new CountingFrameSource(frameSource);
audioPassingPc.getSenders()[0].insertFrames(outgoingFrameSource);
The implementation is a shim on top of the Chrome version of
webrtc-encoded-transform.
So far, signals are not connected (there are no signals).
Code is available at
https://github.com/alvestrand/hackathon-encoded-media - since it's only
me so far, I'm just pushing stuff to the main branch; once others want
to contribute, we'll start using PRs.
Now to construct some *non*working samples and see what they will look
like. And then see if we can make them work.
Harald
Received on Sunday, 6 November 2022 10:24:01 UTC