media/library
andrewlewis fe754f313e Mask ad media periods before the URI is available
Previously `MediaPeriodQueue` would return null if an ad media URI hadn't
loaded yet, but this meant that the player could be stuck in `STATE_READY` if
an `AdsLoader` unexpectedly didn't provide an ad URI. Fix this behavior by
masking ad media periods. `MaskingMediaPeriod` no longer requires a
`MediaSource` to instantiate it.

This also fixes a specific case where playback gets stuck when using the IMA
extension with an empty ad where the IMA SDK unexpectedly doesn't notify the ad
group fetch error.

Issue: #8205
PiperOrigin-RevId: 344984824
2021-01-08 16:52:25 +00:00
..
all Move common gradle setup to a setting file. 2020-06-26 11:13:25 +01:00
common Bump version to 2.12.2 2020-11-30 16:32:13 +00:00
core Mask ad media periods before the URI is available 2021-01-08 16:52:25 +00:00
dash Switch to an 'api' dependency on Guava 2020-10-20 22:16:12 +01:00
extractor Merge pull request #8257 from xufuji456:dev-v2 2020-11-30 10:41:52 +00:00
hls Fix HLS format derivation in traditional preparation 2020-11-23 09:58:48 +00:00
smoothstreaming Simplify DefaultMediaSourceFactory ad configuration 2020-09-07 20:46:57 +01:00
ui Support enabling next/previous actions in PlayerNotificationManager 2020-11-30 10:42:06 +00:00
README.md Tweak and add READMEs + remove refs to V1 2017-08-17 22:59:34 +01:00

ExoPlayer library

The ExoPlayer library is split into multiple modules. See ExoPlayer's top level README for more information about the available library modules and how to use them.