media/library
andrewlewis c37f757854 Allow playback for ads buffered to end
`ImaAdsLoader` only loads ad media URLs once playback of the preceding ad (if
any) has started, and this behavior is likely to be similar for other ad loader
implementations due to limits on how long before an ad plays it is meant to be
loaded. This is problematic for very short ads followed by an ad because the ad
will load to the end but load control may not allow playback to start due to
the total buffered duration being low.

Fix this by allowing playback to start regardless of load control if we are
waiting for an ad media period to prepare.

An alternative fix would be to fake the ad progress in the `ImaAdsLoader` to
trigger loading the next ad, but this would only allow one ad to load ahead (so
the problem would remain for two short ads in a row followed by another ad).

Issue: #8492
PiperOrigin-RevId: 353600088
2021-01-25 15:36:39 +00:00
..
all Move common gradle setup to a setting file. 2020-06-26 11:13:25 +01:00
common Move some utility classes to common 2021-01-22 16:22:18 +00:00
core Allow playback for ads buffered to end 2021-01-25 15:36:39 +00:00
dash Add MediaSourceFactory#setDrmSessionManagerProvider() 2021-01-22 16:58:56 +00:00
extractor Add support for playing JPEG motion photos 2021-01-18 22:00:36 +00:00
hls Add MediaSourceFactory#setDrmSessionManagerProvider() 2021-01-22 16:58:56 +00:00
smoothstreaming Add MediaSourceFactory#setDrmSessionManagerProvider() 2021-01-22 16:58:56 +00:00
transformer Publish transformer module 2021-01-22 17:13:47 +00:00
ui Move Player.getTrackSelector to ExoPlayer 2021-01-22 16:22:09 +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.