fix typecheck
This commit is contained in:
@@ -139,8 +139,8 @@ export class AESDecryptor {
|
||||
const invSubMix2 = invSubMix[2];
|
||||
const invSubMix3 = invSubMix[3];
|
||||
|
||||
let prev;
|
||||
let t;
|
||||
let prev: number = 0;
|
||||
let t: number;
|
||||
|
||||
for (ksRow = 0; ksRow < ksRows; ksRow++) {
|
||||
if (ksRow < keySize) {
|
||||
@@ -168,6 +168,10 @@ export class AESDecryptor {
|
||||
t = keySchedule[ksRow - 4];
|
||||
}
|
||||
|
||||
if (t === undefined) {
|
||||
throw new Error('Invalid key schedule');
|
||||
}
|
||||
|
||||
if (invKsRow < 4 || ksRow <= 4) {
|
||||
invKeySchedule[invKsRow] = t;
|
||||
} else {
|
||||
|
||||
@@ -545,8 +545,10 @@ export class M3U8Downloader {
|
||||
if (xhr.status >= 200 && xhr.status < 300) {
|
||||
task.aesConf.key = xhr.response;
|
||||
// 初始化 AES 解密器
|
||||
task.aesConf.decryption = new AESDecryptor();
|
||||
task.aesConf.decryption.expandKey(task.aesConf.key);
|
||||
if (task.aesConf.key) {
|
||||
task.aesConf.decryption = new AESDecryptor();
|
||||
task.aesConf.decryption.expandKey(task.aesConf.key);
|
||||
}
|
||||
resolve();
|
||||
} else {
|
||||
reject(new Error('获取 AES 密钥失败'));
|
||||
@@ -562,7 +564,7 @@ export class M3U8Downloader {
|
||||
* AES 解密
|
||||
*/
|
||||
private aesDecrypt(task: M3U8DownloadTask, data: ArrayBuffer, index: number): ArrayBuffer {
|
||||
if (!task.aesConf.decryption) {
|
||||
if (!task.aesConf.decryption || !task.aesConf.key) {
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user