@@ -23,6 +23,8 @@ const defaultRatchetSalt = 'LKFrameEncryptionKey';
23
23
const defaultMagicBytes = 'LK-ROCKS' ;
24
24
const defaultRatchetWindowSize = 16 ;
25
25
const defaultFailureTolerance = - 1 ;
26
+ const defaultKeyRingSize = 16 ;
27
+ const defaultDiscardFrameWhenCryptorNotReady = false ;
26
28
27
29
class KeyInfo {
28
30
final String participantId;
@@ -70,16 +72,20 @@ class BaseKeyProvider implements KeyProvider {
70
72
String ? uncryptedMagicBytes,
71
73
int ? ratchetWindowSize,
72
74
int ? failureTolerance,
75
+ int ? keyRingSize,
76
+ bool ? discardFrameWhenCryptorNotReady,
73
77
}) async {
74
78
rtc.KeyProviderOptions options = rtc.KeyProviderOptions (
75
- sharedKey: sharedKey,
76
- ratchetSalt:
77
- Uint8List .fromList ((ratchetSalt ?? defaultRatchetSalt).codeUnits),
78
- ratchetWindowSize: ratchetWindowSize ?? defaultRatchetWindowSize,
79
- uncryptedMagicBytes: Uint8List .fromList (
80
- (uncryptedMagicBytes ?? defaultMagicBytes).codeUnits),
81
- failureTolerance: failureTolerance ?? defaultFailureTolerance,
82
- );
79
+ sharedKey: sharedKey,
80
+ ratchetSalt:
81
+ Uint8List .fromList ((ratchetSalt ?? defaultRatchetSalt).codeUnits),
82
+ ratchetWindowSize: ratchetWindowSize ?? defaultRatchetWindowSize,
83
+ uncryptedMagicBytes: Uint8List .fromList (
84
+ (uncryptedMagicBytes ?? defaultMagicBytes).codeUnits),
85
+ failureTolerance: failureTolerance ?? defaultFailureTolerance,
86
+ keyRingSize: keyRingSize ?? defaultKeyRingSize,
87
+ discardFrameWhenCryptorNotReady:
88
+ defaultDiscardFrameWhenCryptorNotReady);
83
89
final keyProvider =
84
90
await rtc.frameCryptorFactory.createDefaultKeyProvider (options);
85
91
return BaseKeyProvider (keyProvider, options);
0 commit comments