MCPcopy Create free account
hub / github.com/cloudflare/meet / setupReceiverTransform

Method setupReceiverTransform

app/utils/e2ee.ts:187–221  ·  view source on GitHub ↗
(receiver: RTCRtpReceiver)

Source from the content-addressed store, hash-verified

185 }
186
187 async setupReceiverTransform(receiver: RTCRtpReceiver) {
188 console.log('Setting up receiver transform')
189
190 // If this is Firefox, we will have to use RTCRtpScriptTransform
191 if (window.RTCRtpScriptTransform) {
192 receiver.transform = new RTCRtpScriptTransform(this.worker, {
193 operation: 'decryptStream',
194 })
195
196 return
197 }
198
199 // Otherwise if this is Chrome we'll have to use createEncodedStreams
200 if (
201 'createEncodedStreams' in receiver &&
202 typeof receiver.createEncodedStreams === 'function'
203 ) {
204 const senderStreams = receiver.createEncodedStreams()
205 const { readable, writable } = senderStreams
206 this.worker.postMessage(
207 {
208 type: 'decryptStream',
209 in: readable,
210 out: writable,
211 },
212 [readable, writable]
213 )
214
215 return
216 }
217
218 throw new Error(
219 'Neither RTCRtpScriptTransform nor RTCRtpSender.createEncodedStreams methods supported'
220 )
221 }
222
223 decryptStream(inStream: ReadableStream, outStream: WritableStream) {
224 this.worker.postMessage({

Callers 1

useE2EEFunction · 0.80

Calls 1

logMethod · 0.80

Tested by

no test coverage detected