
This was generated by combining the existing `ts/bbb_2500ms.ts` test asset and a temporary `.srt` file using https://cloud.google.com/transcoder/docs/how-to/captions-and-subtitles This doesn't directly reproduce the problem fixed by7ca26f898d
, because the CEA-608 subs are structured differently to the stream I discovered the problem with (from Issue: androidx/media#887). However this test does fail if that fix is reverted after486230fbd7
. I'm also not able to repro the character duplication reported in Issue: androidx/media#887 by just changing the manifest in this CL. I'm not yet sure on the exact differences between the stream provided on GitHub and this stream. This stream does provide some regression protection, because it currently fails with 'new' subtitle parsing (`DashMediaSource.Factory.experimentalParseSubtitlesDuringExtraction(true)`), though I'm not sure on the exact reason for that yet. PiperOrigin-RevId: 592476328
ExoPlayer DASH module
Provides support for Dynamic Adaptive Streaming over HTTP (DASH) 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-dash: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
DASH media items added to ExoPlayer
in its default configuration. Internally,
DefaultMediaSourceFactory
will automatically detect the presence of the module
and convert a DASH MediaItem
into a DashMediaSource
for playback.
Similarly, a DownloadManager
in its default configuration will use
DefaultDownloaderFactory
, which will automatically detect the presence of
the module and build DashDownloader
instances to download DASH content.
For advanced playback use cases, applications can build DashMediaSource
instances and pass them directly to the player. For advanced download use cases,
DashDownloader
can be used directly.