media/library
tonihei 9ed7b42af6 Prevent negative renderer timestamps when seeking back.
We are currently queuing periods in a way such that the new start position
lines up with the end of the previous period (to ensure continuous playback).
However, if the start position of the new period is larger than the total of
all previously played period durations, we may end up with negative renderer
timestamps when seeking back to the beginning of this new period. Negative
timestamps should be avoided as most decoders have problems handling them
correctly.

This change forces a renderer reset if we detect such a seek to a negative
renderer time and also resets the renderer offset to 0 every time all
renderers are disabled, as this is the only time where we can savely change
the offset of an existing media period.

Also, if playback starts with an ad, we choose the content position as
renderer offset to prevent the whole issue from occurring for the seek-behind-
midroll case.

Issue:#6009
Issue:#5323
PiperOrigin-RevId: 253790054
2019-06-18 17:49:29 +01:00
..
all Use new exoplayer.dev domain everywhere. 2019-04-16 15:25:27 +01:00
core Prevent negative renderer timestamps when seeking back. 2019-06-18 17:49:29 +01:00
dash Modify DashDownloaderTest to test if content length is stored 2019-05-30 15:26:32 +01:00
hls Add HlsTrackMetadataEntry.toString 2019-06-03 19:15:23 +01:00
smoothstreaming Put @Nullable annotation in the right place 2019-05-30 15:10:55 +01:00
ui Keep controller visible on d-pad key events 2019-05-30 15:26:32 +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.