tonihei 8ded11753e Fix issue where getFirstSampleIndex was called on spliced in chunks.
We need to avoid reading and skipping into preload chunks as they
may need to be discarded. The current code iterates over all chunks,
but this can be simplified by just checking the last chunk knowing
that the preload chunk must always be the last one.

As a result, we avoid calling getFirstSampleIndex on all chunks. This
is a bug since the method is not allowed to be called for chunks
that have been spliced in. This still leaves the smaller issue of
potentially calling this method for spliced-in preload chunks, which
will be solved separately.

Issue: #8937

#minor-release

PiperOrigin-RevId: 375053638
2021-05-21 12:05:23 +01:00
..
2020-09-07 20:42:23 +01:00

ExoPlayer HLS library module

Provides support for HTTP Live Streaming (HLS) content.

Adding a dependency to this module is all that's required to enable playback of HLS MediaItems added to an ExoPlayer or SimpleExoPlayer in their default configurations. Internally, DefaultMediaSourceFactory will automatically detect the presence of the module and convert HLS MediaItems into HlsMediaSource instances for playback.

Similarly, a DownloadManager in its default configuration will use DefaultDownloaderFactory, which will automatically detect the presence of the module and build HlsDownloader instances to download HLS content.

For advanced playback use cases, applications can build HlsMediaSource instances and pass them directly to the player. For advanced download use cases, HlsDownloader can be used directly.

  • Developer Guide.
  • Javadoc: Classes matching com.google.android.exoplayer2.source.hls.* belong to this module.