diff --git a/RELEASENOTES.md b/RELEASENOTES.md index c97e9ba046..e6e68257cb 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -25,6 +25,10 @@ * Cronet Extension: * RTMP Extension: * HLS Extension: + * Fix bug where pending EMSG samples waiting for a discontinuity were + delegated in `HlsSampleStreamWrapper` with an incorrect offset causing + an `IndexOutOfBoundsException` or an `IllegalArgumentException` + ([#1002](https://github.com/androidx/media/issues/1002)). * DASH Extension: * Smooth Streaming Extension: * RTSP Extension: diff --git a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsSampleStreamWrapper.java b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsSampleStreamWrapper.java index aebff9592d..b9961c603c 100644 --- a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsSampleStreamWrapper.java +++ b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsSampleStreamWrapper.java @@ -1882,7 +1882,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; int sampleSize = sampleForDelegate.bytesLeft(); delegate.sampleData(sampleForDelegate, sampleSize); - delegate.sampleMetadata(timeUs, flags, sampleSize, offset, cryptoData); + delegate.sampleMetadata(timeUs, flags, sampleSize, /* offset= */ 0, cryptoData); } private boolean emsgContainsExpectedWrappedFormat(EventMessage emsg) {