media/libraries/exoplayer_smoothstreaming
jbibik 4d7b23f0d1 Add setters of SubtitleParser.Factory and experimental toggle
The `SubtitleParser.Factory` is no longer @Nullable and the experimenting toggle is used to enable/disable the use of this factory for subtitle parsing during extraction.

The three places that will hold the "truth" for the `SubtitleParser.Factory` are: BundledChunkExtractor.Factory, SsChunkSource.Factory, DefaultHlsExtractorFactory

DASH: `DashMediaSource.Factory` would only propagate it to `DashChunkSource.Factory` -> `BundledChunkExtractor.Factory`

SS: `SSMediaSource.Factory` -> `SsChunkSource.Factory`

HLS: `HlsMediaSource.Factory` -> `HlsExtractorFactory`

#minor-release

PiperOrigin-RevId: 601151615
2024-01-24 09:55:49 -08:00
..
src Add setters of SubtitleParser.Factory and experimental toggle 2024-01-24 09:55:49 -08:00
build.gradle Replace deprecated NullableType from checkerframework with our own one 2023-06-19 16:08:20 +01:00
README.md Add media3 guide entries in README files 2023-03-30 17:28:03 +00:00

ExoPlayer SmoothStreaming module

Provides support for SmoothStreaming 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-smoothstreaming: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.

Adding a dependency to this module is all that's required to enable playback of SmoothStreaming media items added to ExoPlayer in its default configuration. Internally, DefaultMediaSourceFactory will automatically detect the presence of the module and convert a SmoothStreaming MediaItem into a SsMediaSource for playback.

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

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