Make Matroska block decoding lazy

This commit is contained in:
Vanilagy
2025-09-18 10:00:03 +02:00
parent f13a81bee3
commit 407dd05953
7 changed files with 72 additions and 49 deletions
+2 -1
View File
@@ -12,6 +12,7 @@ import {
assert,
assertNever,
Bitstream,
getUint24,
last,
readExpGolomb,
readSignedExpGolomb,
@@ -116,7 +117,7 @@ const findNalUnitsInLengthPrefixed = (packetData: Uint8Array, lengthSize: 1 | 2
} else if (lengthSize === 2) {
nalUnitLength = dataView.getUint16(offset, false);
} else if (lengthSize === 3) {
nalUnitLength = (dataView.getUint16(offset, false) << 8) + dataView.getUint8(offset + 2);
nalUnitLength = getUint24(dataView, offset, false);
} else if (lengthSize === 4) {
nalUnitLength = dataView.getUint32(offset, false);
} else {