From 1192057d7288d910c9d88ab95c596dabd1b826a9 Mon Sep 17 00:00:00 2001 From: Rob Walch Date: Wed, 26 May 2021 12:07:05 -0400 Subject: [PATCH] Use startPosition to determine if audio-stream-controller waiting fragment should be cleared Fixes #3950 --- src/controller/audio-stream-controller.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/controller/audio-stream-controller.ts b/src/controller/audio-stream-controller.ts index 865731f4f22..5d4b92700ed 100644 --- a/src/controller/audio-stream-controller.ts +++ b/src/controller/audio-stream-controller.ts @@ -180,6 +180,7 @@ class AudioStreamController const { frag, part, cache, complete } = waitingData; if (this.initPTS[frag.cc] !== undefined) { this.waitingData = null; + this.waitingVideoCC = -1; this.state = State.FRAG_LOADING; const payload = cache.flush(); const data: FragLoadedData = { @@ -200,9 +201,10 @@ class AudioStreamController this.clearWaitingFragment(); } else { // Drop waiting fragment if an earlier fragment is needed + const pos = this.getLoadPosition(); const bufferInfo = BufferHelper.bufferInfo( this.mediaBuffer, - this.media.currentTime, + pos, this.config.maxBufferHole ); const waitingFragmentAtPosition = fragmentWithinToleranceTest(