From b93395e7a5932fbd443353e031ad23ab5ff176c9 Mon Sep 17 00:00:00 2001 From: olly Date: Thu, 1 Apr 2021 15:43:31 +0100 Subject: [PATCH] HLS: Set initial SampleQueue start times This ensures BUFFER_FLAG_DECODE_ONLY is set on samples that are before the playback start position, in the case that the queue is created after the start position is set. #minor-release PiperOrigin-RevId: 366249188 --- RELEASENOTES.md | 3 +++ .../android/exoplayer2/source/hls/HlsSampleStreamWrapper.java | 1 + 2 files changed, 4 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 83dc20d7c7..4af5281417 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -43,6 +43,9 @@ `EXT-X-DISCONTINUITY` tags in different media playlists occur at different positions in time ([#8372](https://github.com/google/ExoPlayer/issues/8372)). + * Fix issue that could cause playback of on-demand content to not start in + cases where the media playlists referenced by the master playlist have + different starting `EXT-X-PROGRAM-DATE-TIME` tags. * Fix container type detection for segments with incorrect file extension or HTTP Content-Type ([#8733](https://github.com/google/ExoPlayer/issues/8733)). diff --git a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStreamWrapper.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStreamWrapper.java index df1c598be5..14852ae00a 100644 --- a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStreamWrapper.java +++ b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStreamWrapper.java @@ -1070,6 +1070,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; drmSessionManager, drmEventDispatcher, overridingDrmInitData); + sampleQueue.setStartTimeUs(lastSeekPositionUs); if (isAudioVideo) { sampleQueue.setDrmInitData(drmInitData); }