diff --git a/src/demux/transmuxer.ts b/src/demux/transmuxer.ts index 5b37e99942f..89a48e0f18e 100644 --- a/src/demux/transmuxer.ts +++ b/src/demux/transmuxer.ts @@ -347,7 +347,12 @@ export default class Transmuxer { chunkMeta: ChunkMetadata ): TransmuxerResult { const { audioTrack, avcTrack, id3Track, textTrack } = (this - .demuxer as Demuxer).demux(data, timeOffset, false); + .demuxer as Demuxer).demux( + data, + timeOffset, + false, + !this.config.progressive + ); const remuxResult = this.remuxer!.remux( audioTrack, avcTrack, diff --git a/src/demux/tsdemuxer.ts b/src/demux/tsdemuxer.ts index a382143a2fc..fe7e071ebe6 100644 --- a/src/demux/tsdemuxer.ts +++ b/src/demux/tsdemuxer.ts @@ -486,7 +486,12 @@ class TSDemuxer implements Demuxer { keyData: KeyData, timeOffset: number ): Promise { - const demuxResult = this.demux(data, timeOffset, true); + const demuxResult = this.demux( + data, + timeOffset, + true, + !this.config.progressive + ); const sampleAes = (this.sampleAes = new SampleAesDecrypter( this.observer, this.config, diff --git a/src/types/demuxer.ts b/src/types/demuxer.ts index f398b3e06d0..505d2fe42f7 100644 --- a/src/types/demuxer.ts +++ b/src/types/demuxer.ts @@ -2,7 +2,8 @@ export interface Demuxer { demux( data: Uint8Array, timeOffset: number, - isSampleAes?: boolean + isSampleAes?: boolean, + flush?: boolean ): DemuxerResult; demuxSampleAes( data: Uint8Array,