media/library
olly f150856567 Fix masking step 1
1. Move Timeline/Manifest into PlaybackInfo
2. Don't update externally visible Timeline/Manifest during preparation
3. Ignore MSG_POSITION_DISCONTINUITY during preparation
4. Correctly set masking variables at start of preparation, and use them

Once this change goes in, PlaybackInfo will contain timeline, manifest
and position, which should always be self-consistent with one another.
The next step would then be to move a bunch of logic in ExoPlayerImpl
that derives state from timeline and position into PlaybackInfo, and
split that into its own top level class that can be easily tested to make
sure it never IndexOutOfBounds.

I think we could also replace the masking variables and instead just assign
a new PlaybackInfo to the playbackInfo variable whenever we're doing
something that requires masking. This should be possible because we no
longer update playbackInfo whenever we have pending acks. It would
require allowing PlaybackInfo to mask the window position internally when
the timeline is empty, but I think this is ok, and again is something we
could test pretty easily.

Issue: #3362

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=173909791
2017-11-01 14:09:33 +00:00
..
all Tweak and add READMEs + remove refs to V1 2017-08-17 22:59:34 +01:00
core Fix masking step 1 2017-11-01 14:09:33 +00:00
dash Remove apparently unused field 2017-11-01 14:06:36 +00:00
hls Pass MediaSource instance through onSourceInfoRefreshed 2017-10-27 16:13:59 +01:00
smoothstreaming Pass MediaSource instance through onSourceInfoRefreshed 2017-10-27 16:13:59 +01:00
ui Allow specifying a Drawable for the TimeBar scrubber 2017-10-27 16:20:00 +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.