From bf95cdd19349d93289d5595dec653f7be6ad78d9 Mon Sep 17 00:00:00 2001 From: Rob Walch Date: Fri, 7 Aug 2020 11:36:48 -0400 Subject: [PATCH] Fix regression (v0.14.1) in audio-remuxer where bad samples mid fragment were not being dropped, resulting in stretching of audio track duration once appended Test stream (4 second segment with one out of sequence audio sample) https://playertest.longtailvideo.com/adaptive/audio-sample-out-of-sequence/main.m3u8 --- src/remux/mp4-remuxer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/remux/mp4-remuxer.js b/src/remux/mp4-remuxer.js index 5897f32c847..031a08eee35 100644 --- a/src/remux/mp4-remuxer.js +++ b/src/remux/mp4-remuxer.js @@ -520,7 +520,7 @@ class MP4Remuxer { // If we're overlapping by more than a duration, drop this sample if (delta <= -maxAudioFramesDrift * inputSampleDuration) { - if (contiguous) { + if (contiguous || i > 0) { logger.warn(`Dropping 1 audio frame @ ${toMsFromMpegTsClock(nextPts, true) / 1000}s due to ${toMsFromMpegTsClock(delta, true)} ms overlap.`); inputSamples.splice(i, 1); // Don't touch nextPtsNorm or i