Skip to content

Commit b784dda

Browse files
committed
Merge branch 'main' into session-api
2 parents 412d0ac + 1a93123 commit b784dda

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

web/e2ee.frame_cryptor.dart

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,11 @@ class FrameCryptor {
265265
);
266266
}
267267

268-
void enqueueFrame(JSObject frameObj, web.TransformStreamDefaultController controller, BytesBuilder buffer) {
268+
void enqueueFrame(
269+
JSObject frameObj,
270+
web.TransformStreamDefaultController controller,
271+
BytesBuilder buffer,
272+
) {
269273
final jsBuffer = buffer.toBytes().buffer.toJS;
270274
// No need for runtime type checks; set the JS 'data' property for both audio/video frames.
271275
frameObj.setProperty('data'.toJS, jsBuffer);
@@ -385,7 +389,7 @@ class FrameCryptor {
385389
final srcFrame = readFrameInfo(frameObj);
386390
var ratchetCount = 0;
387391

388-
logger.fine('decodeFunction: frame lenght ${srcFrame.buffer.length}');
392+
logger.fine('decodeFunction: frame length ${srcFrame.buffer.length}');
389393

390394
ByteBuffer? decrypted;
391395
KeySet? initialKeySet;
@@ -396,9 +400,8 @@ class FrameCryptor {
396400
srcFrame.buffer.isEmpty) {
397401
sifGuard.recordUserFrame();
398402
if (keyOptions.discardFrameWhenCryptorNotReady) return;
399-
logger.fine('enqueing empty frame');
403+
logger.fine('enqueing empty dtx frame');
400404
controller.enqueue(frameObj);
401-
logger.finer('enqueing silent frame');
402405
return;
403406
}
404407

@@ -412,20 +415,18 @@ class FrameCryptor {
412415
sifGuard.recordSif();
413416
if (sifGuard.isSifAllowed()) {
414417
final frameType = srcFrame.buffer.sublist(srcFrame.buffer.length - 1)[0];
415-
logger.finer('encodeFunction: skip unencrypted frame, type $frameType');
418+
logger.finer('decodeFunction: skip unencrypted frame, type $frameType');
416419
final finalBuffer = BytesBuilder();
417420
finalBuffer
418421
.add(Uint8List.fromList(srcFrame.buffer.sublist(0, srcFrame.buffer.length - (magicBytes.length + 1))));
419-
logger.fine('encodeFunction: enqueing silent frame');
422+
logger.fine('decodeFunction: enqueing silent frame src: ${srcFrame.buffer}');
420423
enqueueFrame(frameObj, controller, finalBuffer);
421-
logger.fine('ecodeFunction: enqueing silent frame');
422-
controller.enqueue(frameObj);
424+
logger.fine('decodeFunction: enqueing done');
425+
return;
423426
} else {
424-
logger.finer('ecodeFunction: SIF limit reached, dropping frame');
427+
logger.warning('decodeFunction: SIF limit reached, dropping frame');
428+
return;
425429
}
426-
logger.finer('ecodeFunction: enqueing silent frame');
427-
controller.enqueue(frameObj);
428-
return;
429430
} else {
430431
sifGuard.recordUserFrame();
431432
}
@@ -567,7 +568,8 @@ class FrameCryptor {
567568

568569
logger.fine(
569570
'decodeFunction[CryptorError.kOk]: decryption success kind $kind, headerLength: $headerLength, timestamp: ${srcFrame.timestamp}, ssrc: ${srcFrame.ssrc}, data length: ${srcFrame.buffer.length}, decrypted length: ${finalBuffer.toBytes().length}, keyindex $keyIndex iv $iv');
570-
} catch (e) {
571+
} catch (e, s) {
572+
logger.warning('decodeFunction[CryptorError.kDecryptError]: $e, $s');
571573
if (lastError != CryptorError.kDecryptError) {
572574
lastError = CryptorError.kDecryptError;
573575
postMessage({

0 commit comments

Comments
 (0)