From 93cbe69abc6c844c2e49bbf5a7966db87d951277 Mon Sep 17 00:00:00 2001 From: Vanilagy <1696106+Vanilagy@users.noreply.github.com> Date: Wed, 13 Aug 2025 09:58:52 +0200 Subject: [PATCH] Fix remaining type errors, bump version --- package-lock.json | 12 ++++++------ package.json | 2 +- packages/mp3-encoder/package.json | 2 +- src/input-format.ts | 19 ++++++++++++++++--- 4 files changed, 24 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9c91c82..8213981 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.7.3", + "version": "1.7.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.7.3", + "version": "1.7.4", "license": "MPL-2.0", "workspaces": [ "packages/*" @@ -5900,9 +5900,9 @@ } }, "node_modules/mediabunny": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.7.2.tgz", - "integrity": "sha512-M84Ice7IR1OpWmmDoUh691Hjpf+w2UTt+VWUH0WkiF5MdfFZ63OAF2TmOhbAEVZyvQ088xlvmaT01t00Qgy/QA==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.7.3.tgz", + "integrity": "sha512-wh0bTZ0bLKIdkn0gMMF/uxEVh85Ft/qH1OtUKJO8k5tdqP0RG7rMfoXLZI6r+wZ9VadfQ4xxYZTEallAWZ74jw==", "license": "MPL-2.0", "peer": true, "workspaces": [ @@ -9017,7 +9017,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.7.3", + "version": "1.7.4", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" diff --git a/package.json b/package.json index d258406..46a0b4f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.7.3", + "version": "1.7.4", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index 961c5d2..a5a81e5 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.7.3", + "version": "1.7.4", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs", diff --git a/src/input-format.ts b/src/input-format.ts index 142ee0d..671b0ce 100644 --- a/src/input-format.ts +++ b/src/input-format.ts @@ -10,7 +10,7 @@ import { Demuxer } from './demuxer'; import { Input } from './input'; import { IsobmffDemuxer } from './isobmff/isobmff-demuxer'; import { IsobmffReader } from './isobmff/isobmff-reader'; -import { EBMLId, EBMLReader } from './matroska/ebml'; +import { EBMLId, EBMLReader, MIN_HEADER_SIZE } from './matroska/ebml'; import { MatroskaDemuxer } from './matroska/matroska-demuxer'; import { Mp3Demuxer } from './mp3/mp3-demuxer'; import { FRAME_HEADER_SIZE } from '../shared/mp3-misc'; @@ -106,6 +106,10 @@ export class QuickTimeInputFormat extends IsobmffInputFormat { } } +function foo() { + return 5; +} + /** * Matroska file format. * @public @@ -120,6 +124,12 @@ export class MatroskaInputFormat extends InputFormat { const ebmlReader = new EBMLReader(input._mainReader); const varIntSize = ebmlReader.readVarIntSize(); + if (varIntSize === null) { + return false; + } + + foo(); + if (varIntSize < 1 || varIntSize > 8) { return false; } @@ -135,8 +145,11 @@ export class MatroskaInputFormat extends InputFormat { } const startPos = ebmlReader.pos; - while (ebmlReader.pos < startPos + dataSize) { - const { id, size } = ebmlReader.readElementHeader(); + while (ebmlReader.pos <= startPos + dataSize - MIN_HEADER_SIZE) { + const header = ebmlReader.readElementHeader(); + if (!header) break; + + const { id, size } = header; const dataStartPos = ebmlReader.pos; if (size === null) return false;