media/library
andrewlewis b58daf8dc5 Reset start trim only if input was queued
Before this change we would reset the start trim to zero after initial
configuration (at the start of playback) and after seeking to any position. The
fact that no trimming was applied at the start of playback meant that after the
first period transition we'd see a mismatch between the next buffer timestamp
(equal to the duration of the period taking into account edits) and the duration
of audio submitted to the sink.

This change modifies the behavior so that we reset the start trim to zero only
if some audio was queued since configuration. This is incorrect in the case of
starting playback at a non-zero position, but fixes the common case of starting
at zero. As before, a later seek to any position is handled via a flush and
resets the trim as required.

Transitions from one period to the next are unaffected by this change.

One way to implement start trimming correctly would be to provide the input
buffer timestamp to the audio processors and only trim when handling audio from
the start of the stream, but that is a larger change so left for later.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=213828511
2018-09-21 12:39:19 +01:00
..
all Migrate ExoPlayer Gradle build files. 2018-03-02 09:20:02 +00:00
core Reset start trim only if input was queued 2018-09-21 12:39:19 +01:00
dash Add wrapper for Log messages to allow settig the log level. 2018-09-20 12:12:21 +01:00
hls Allow HlsSampleStreamWrapper to cancel partial media chunk loads 2018-09-20 12:16:47 +01:00
smoothstreaming SmoothStreaming: Test for fourCC equal to DFXP 2018-09-17 17:58:03 +01:00
ui Add wrapper for Log messages to allow settig the log level. 2018-09-20 12:12:21 +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.