diff --git a/examples/metadata-extraction/metadata-extraction.ts b/examples/metadata-extraction/metadata-extraction.ts index 9273493..25e8c3a 100644 --- a/examples/metadata-extraction/metadata-extraction.ts +++ b/examples/metadata-extraction/metadata-extraction.ts @@ -129,6 +129,8 @@ const renderObject = (object: Record) => { listItem.removeChild(loadingSpan); listItem.appendChild(renderValue(resolvedValue)); }).catch((error) => { + console.error(error); + // Show the promise error listItem.removeChild(loadingSpan); const errorSpan = document.createElement('span'); diff --git a/package-lock.json b/package-lock.json index b337f5d..01e8c21 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.4.0", + "version": "1.4.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.4.0", + "version": "1.4.1", "license": "MPL-2.0", "dependencies": { "@types/dom-mediacapture-transform": "^0.1.11", diff --git a/package.json b/package.json index 57b9c3b..ade2876 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.4.0", + "version": "1.4.1", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "main": "./dist/bundles/mediabunny.cjs", diff --git a/src/matroska/matroska-demuxer.ts b/src/matroska/matroska-demuxer.ts index 30f1ffd..da84f42 100644 --- a/src/matroska/matroska-demuxer.ts +++ b/src/matroska/matroska-demuxer.ts @@ -368,6 +368,13 @@ export class MatroskaDemuxer extends Demuxer { this.readContiguousElements(this.metadataReader, size); } + if (this.currentSegment.timestampScale === -1) { + // TimestampScale element is missing. Technically an invalid file, but let's default to the typical value, + // which is 1e6. + this.currentSegment.timestampScale = 1e6; + this.currentSegment.timestampFactor = 1e9 / 1e6; + } + // Put default tracks first this.currentSegment.tracks.sort((a, b) => Number(b.isDefault) - Number(a.isDefault));