media/library
andrewlewis 69dad31b67 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
2020-12-03 17:09:53 +00:00
..
all Move common gradle setup to a setting file. 2020-06-26 11:13:25 +01:00
common Add ParsableByteArray#ensureCapacity() method that keeps data 2020-12-03 17:09:35 +00:00
core Mask ad media periods before the URI is available 2020-12-03 17:09:53 +00:00
dash Replace PeriodSeekInfo by static methods. 2020-11-30 09:33:22 +00:00
extractor Add ParsableByteArray#ensureCapacity() method that keeps data 2020-12-03 17:09:35 +00:00
hls Prevent reading into preload parts. 2020-12-03 17:09:44 +00:00
smoothstreaming Remove deprecated MediaSource builder methods and constructors. 2020-10-13 16:27:20 +01:00
ui Add explaning comment to UI proguard file. 2020-11-30 16:11:27 +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.