media3/libraries/exoplayer_hls
tonihei f1a5825d73 Add optional id to TrackGroup.
This allows to give TrackGroups an identifier. The underlying goal is
to provide a way to make otherwise identical TrackGroups
distinguishable.

Also set this id in all internal sources that may produce identical
TrackGroups in certain edge cases.

Issue: google/ExoPlayer#9718
PiperOrigin-RevId: 413430719
2021-12-02 11:56:42 +00:00
..
2021-12-02 11:56:42 +00:00
2021-10-27 09:12:46 +01:00
2021-10-27 09:12:46 +01:00

ExoPlayer HLS module

Provides support for HTTP Live Streaming (HLS) content in ExoPlayer.

Getting the module

The easiest way to get the module is to add it as a gradle dependency:

implementation 'androidx.media3:media3-exoplayer-hls:1.X.X'

where 1.X.X is the version, which must match the version of the other media modules being used.

Alternatively, you can clone this GitHub project and depend on the module locally. Instructions for doing this can be found in the top level README.

Using the module

Adding a dependency to this module is all that's required to enable playback of HLS media items added to ExoPlayer in its default configuration. Internally, DefaultMediaSourceFactory will automatically detect the presence of the module and convert an HLS MediaItem into an HlsMediaSource 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.