
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
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 MediaItem
s added to an ExoPlayer
or SimpleExoPlayer
in their default
configurations. Internally, DefaultMediaSourceFactory
will automatically
detect the presence of the module and convert HLS MediaItem
s 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.
Links
- Developer Guide.
- Javadoc: Classes matching
com.google.android.exoplayer2.source.hls.*
belong to this module.