onrtctransform = (event) => { const transformer = event.transformer; transformer.options.port.onmessage = (event) => transformer.options.port.postMessage(event.data); self.postMessage("started"); transformer.reader = transformer.readable.getReader(); transformer.writer = transformer.writable.getWriter(); function process(transformer) { transformer.reader.read().then(chunk => { if (chunk.done) return; if (chunk.value instanceof RTCEncodedVideoFrame) self.postMessage("video chunk"); else if (chunk.value instanceof RTCEncodedAudioFrame) self.postMessage("audio chunk"); transformer.writer.write(chunk.value); process(transformer); }); } process(transformer); }; self.postMessage("registered");