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

Method setupSenderTransform

app/utils/e2ee.ts:152–185  ·  view source on GitHub ↗
(sender: RTCRtpSender)

Source from the content-addressed store, hash-verified

150 }
151
152 async setupSenderTransform(sender: RTCRtpSender) {
153 console.log('Setting up sender transform')
154
155 // If this is Firefox, we will have to use RTCRtpScriptTransform
156 if (window.RTCRtpScriptTransform) {
157 sender.transform = new RTCRtpScriptTransform(this.worker, {
158 operation: 'encryptStream',
159 })
160 return
161 }
162
163 // Otherwise if this is Chrome we'll have to use createEncodedStreams
164 if (
165 'createEncodedStreams' in sender &&
166 typeof sender.createEncodedStreams === 'function'
167 ) {
168 const senderStreams = sender.createEncodedStreams()
169 const { readable, writable } = senderStreams
170 this.worker.postMessage(
171 {
172 type: 'encryptStream',
173 in: readable,
174 out: writable,
175 },
176 [readable, writable]
177 )
178
179 return
180 }
181
182 throw new Error(
183 'Neither RTCRtpScriptTransform nor RTCRtpSender.createEncodedStreams methods supported'
184 )
185 }
186
187 async setupReceiverTransform(receiver: RTCRtpReceiver) {
188 console.log('Setting up receiver transform')

Callers 1

useE2EEFunction · 0.80

Calls 1

logMethod · 0.80

Tested by

no test coverage detected