media/library
tonihei 27c239d6b3 Directly track playback queue in AnalyticsCollector.
We currently try to keep track of the playback queue (MediaPeriodQueue)
by listening to onMediaPeriodCreated/onMediaPeriodReleased events.
This approach has some problems:
 1. It's easily broken by custom MediaSources that don't report these
    events correctly.
 2. We need to make some assumptions about what the order of these
    events actually means. For example it is currently important that
    the playing period gets released last in MediaPeriodQueue.clear()
 3. We don't see batched events (like MediaPeriodQueue.clear()), so that
    it is impossible to keep the "last reading period" for example. This
    information is needed to correctly associate renderer errors to
    periods after the queue has been cleared.

All of these problems can be solved by directly tracking the queue.

This also makes the onMediaPeriodCreated/Released/ReadingStarted events
obsolete and they can be removed in a future change.

PiperOrigin-RevId: 319739993
2020-07-06 16:46:35 +01:00
..
all Move common gradle setup to a setting file. 2020-06-26 11:13:25 +01:00
common Add some missing nullness assertions. 2020-07-03 15:31:30 +01:00
core Directly track playback queue in AnalyticsCollector. 2020-07-06 16:46:35 +01:00
dash Rename some white/blacklist occurrences in core library 2020-07-06 16:43:36 +01:00
extractor Add support for partially fragmented MP4s 2020-07-06 16:43:26 +01:00
hls Rename some white/blacklist occurences in HLS library 2020-07-06 16:43:16 +01:00
smoothstreaming Rename some white/blacklist occurrences in core library 2020-07-06 16:43:36 +01:00
ui Increase char limits for some string translations 2020-07-03 09:03:24 +01: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.