@@ -4,7 +4,6 @@ import { DecrypterAesMode } from './decrypter-aes-mode';
4
4
import FastAESKey from './fast-aes-key' ;
5
5
import { logger } from '../utils/logger' ;
6
6
import { appendUint8Array } from '../utils/mp4-tools' ;
7
- import { sliceUint8 } from '../utils/typed-array' ;
8
7
import type { HlsConfig } from '../config' ;
9
8
10
9
const CHUNK_SIZE = 16 ; // 16 bytes, 128 bits
@@ -16,7 +15,7 @@ export default class Decrypter {
16
15
private softwareDecrypter : AESDecryptor | null = null ;
17
16
private key : ArrayBuffer | null = null ;
18
17
private fastAesKey : FastAESKey | null = null ;
19
- private remainderData : Uint8Array | null = null ;
18
+ private remainderData : Uint8Array < ArrayBuffer > | null = null ;
20
19
private currentIV : ArrayBuffer | null = null ;
21
20
private currentResult : ArrayBuffer | null = null ;
22
21
private useSoftware : boolean ;
@@ -55,7 +54,7 @@ export default class Decrypter {
55
54
return this . useSoftware ;
56
55
}
57
56
58
- public flush ( ) : Uint8Array | null {
57
+ public flush ( ) : Uint8Array < ArrayBuffer > | null {
59
58
const { currentResult, remainderData } = this ;
60
59
if ( ! currentResult || remainderData ) {
61
60
this . reset ( ) ;
@@ -142,7 +141,7 @@ export default class Decrypter {
142
141
const result = currentResult ;
143
142
144
143
this . currentResult = softwareDecrypter . decrypt ( currentChunk . buffer , 0 , iv ) ;
145
- this . currentIV = sliceUint8 ( currentChunk , - 16 ) . buffer ;
144
+ this . currentIV = currentChunk . slice ( - 16 ) . buffer ;
146
145
147
146
if ( ! result ) {
148
147
return null ;
@@ -151,7 +150,7 @@ export default class Decrypter {
151
150
}
152
151
153
152
public webCryptoDecrypt (
154
- data : Uint8Array ,
153
+ data : Uint8Array < ArrayBuffer > ,
155
154
key : ArrayBuffer ,
156
155
iv : ArrayBuffer ,
157
156
aesMode : DecrypterAesMode ,
@@ -210,8 +209,8 @@ export default class Decrypter {
210
209
let currentChunk = data ;
211
210
const splitPoint = data . length - ( data . length % CHUNK_SIZE ) ;
212
211
if ( splitPoint !== data . length ) {
213
- currentChunk = sliceUint8 ( data , 0 , splitPoint ) ;
214
- this . remainderData = sliceUint8 ( data , splitPoint ) ;
212
+ currentChunk = data . slice ( 0 , splitPoint ) ;
213
+ this . remainderData = data . slice ( splitPoint ) ;
215
214
}
216
215
return currentChunk ;
217
216
}
0 commit comments