media/library
andrewlewis 8d47209a46 Make video playback smoother at the beginning
Video renderers assume that the player position is advancing linearly while in
the started state. MediaCodecVideoRenderer schedules frames for rendering in the
future in the expectation that the player position is advancing.

This assumption is not currently true when using a position from the AudioTrack:
the player position can be fixed for (in the worst case) up to about 100 ms
before it starts increasing. This leads to an effect where the first frame is
rendered then a few other frames are rendered, then there's a pause before
frames start being rendered smoothly.

Work around this issue by checking whether the position has started advancing
before scheduling frames to be rendered in the future.

It might be preferable to make the audio renderer only become ready when its
timestamp can start advancing, but this is likely to be complicated.

Issue: #3841

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=190937429
2018-03-29 17:55:01 +01:00
..
all Migrate ExoPlayer Gradle build files. 2018-03-02 09:20:02 +00:00
core Make video playback smoother at the beginning 2018-03-29 17:55:01 +01:00
dash Fix DashDownloader failure for some multi segment representations 2018-03-29 17:51:24 +01:00
hls Add missing @Nullable annotations 2018-03-29 13:45:38 +01:00
smoothstreaming Add missing @Nullable annotations 2018-03-29 13:45:38 +01:00
ui Fix Javadoc generation + Javadoc 2018-03-29 13:57:09 +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.