diff --git a/src/ogg/ogg-demuxer.ts b/src/ogg/ogg-demuxer.ts index e509933..0b4569f 100644 --- a/src/ogg/ogg-demuxer.ts +++ b/src/ogg/ogg-demuxer.ts @@ -322,6 +322,10 @@ export class OggDemuxer extends Demuxer { } const totalPacketSize = chunks.reduce((sum, chunk) => sum + chunk.length, 0); + if (totalPacketSize === 0) { + return null; // Invalid packet, treat it as end of stream + } + const packetData = new Uint8Array(totalPacketSize); let offset = 0; @@ -499,10 +503,6 @@ class OggAudioTrackBacking implements InputAudioTrackBacking { return null; } - if (packet.data.byteLength === 0) { - return null; - } - const { durationInSamples, vorbisBlockSize } = extractSampleMetadata( packet.data, this.bitstream.codecInfo, diff --git a/test/browser/ogg-vorbis-windowed.test.ts b/test/browser/ogg-demuxer.test.ts similarity index 100% rename from test/browser/ogg-vorbis-windowed.test.ts rename to test/browser/ogg-demuxer.test.ts