|
@@ -314,6 +314,13 @@ export default class E2EEcontext {
|
314
|
314
|
return controller.enqueue(encodedFrame);
|
315
|
315
|
}, e => {
|
316
|
316
|
logger.error(e);
|
|
317
|
+ if (encodedFrameType === undefined) { // audio, replace with silence.
|
|
318
|
+ const newData = new ArrayBuffer(3);
|
|
319
|
+ const newUint8 = new Uint8Array(newData);
|
|
320
|
+
|
|
321
|
+ newUint8.set([ 0xd8, 0xff, 0xfe ]); // opus silence frame.
|
|
322
|
+ encodedFrame.data = newData;
|
|
323
|
+ }
|
317
|
324
|
|
318
|
325
|
// Just feed the (potentially encrypted) frame in case of error.
|
319
|
326
|
// Worst case it is garbage.
|