media/library
tonihei 2e52c0b8d8 Make FakeClock fully deterministic.
This is achieved by only triggering one message at a time. After
triggering a message we send another to ourselves to know when the
following message can be triggered.

Other required changes:
 - The messages need to be sorted correctly (by time and creation order)
 - To prevent deadlocks when one thread is waiting for another,
   we need to add new method to Clock to indicate that the current
   thread is about to wait. This then allows us to trigger messages
   from other threads in FakeClock.
 - AnalyticsCollectorTest needed some adjustments:
   - onTimelineChanged now deterministically arrives after the initial
     timline is already known, so some of the period information changes
     from window only to full period info.
   - The playlistOperations test suffers from a bug that the first frame
     is rendered too early and that's why we now get additional events.

PiperOrigin-RevId: 353877832
2021-01-26 17:13:35 +00:00
..
all Move common gradle setup to a setting file. 2020-06-26 11:13:25 +01:00
common Make FakeClock fully deterministic. 2021-01-26 17:13:35 +00:00
core Make FakeClock fully deterministic. 2021-01-26 17:13:35 +00:00
dash Replace non-inclusively named constant 2021-01-25 17:38:26 +00:00
extractor Fix parsing of Vorbis codec private 2021-01-26 15:59:41 +00:00
hls Split mutations method out of TrackSelection 2021-01-25 15:37:38 +00:00
smoothstreaming Split mutations method out of TrackSelection 2021-01-25 15:37:38 +00:00
transformer Make FakeClock fully deterministic. 2021-01-26 17:13:35 +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.