Skip to content

Commit d5ddaba

Browse files
committed
Unblock audio appends when video source buffer is at EoS
1 parent d46bf0e commit d5ddaba

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/controller/buffer-controller.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -790,7 +790,12 @@ transfer tracks: ${stringify(transferredTracks, (key, value) => (key === 'initSe
790790
if (videoSb && sn !== 'initSegment') {
791791
const partOrFrag = part || (frag as MediaFragment);
792792
const blockedAudioAppend = this.blockedAudioAppend;
793-
if (type === 'audio' && parent !== 'main' && !this.blockedAudioAppend) {
793+
if (
794+
type === 'audio' &&
795+
parent !== 'main' &&
796+
!this.blockedAudioAppend &&
797+
!(videoTrack.ending || videoTrack.ended)
798+
) {
794799
const pStart = partOrFrag.start;
795800
const pTime = pStart + partOrFrag.duration * 0.05;
796801
const vbuffered = videoSb.buffered;
@@ -1077,6 +1082,9 @@ transfer tracks: ${stringify(transferredTracks, (key, value) => (key === 'initSe
10771082
this.tracksEnded();
10781083
this.hls.trigger(Events.BUFFERED_TO_END, undefined);
10791084
}
1085+
} else if (data.type === 'video') {
1086+
// Make sure pending audio appends are unblocked when video reaches end
1087+
this.unblockAudio();
10801088
}
10811089
}
10821090

0 commit comments

Comments
 (0)