media/library
olly b1dda6a02a Fix DefaultTimeBar glitches
The glitches were introduced in:
https://github.com/google/ExoPlayer/commit/6c31e34528

The problem is that Listener.onEvents is called in a later looper iteration
than the listener methods that were previously used. This created a gap on
the main thread between the UI component dispatching a seek operation to the
player, and onEvents being called to update the progress bar's position.

At the start of this gap the progress bar is rendering the new position,
but its position member variable is still set to the old position. If the
progress bar is re-drawn by another message on the main thread within the
gap, it will briefly show the old position until onEvents is called.

There are multiple possible fixes to this, and the best one is probably to
modify ListenerSet to remove the gap. That's high risk though, so for now we
fix the flicker by always updating the progress immediately after the seek
is dispatched, in addition to when onEvents is called.

Issue: #9049
#minor-release
PiperOrigin-RevId: 380678388
2021-06-21 23:52:43 +01:00
..
all Include RTSP module in gradle project 2021-05-10 23:41:50 +01:00
common Remove deprecated ParserException constructor 2021-06-21 22:29:27 +01:00
core Remove deprecated ParserException constructor 2021-06-21 22:29:27 +01:00
dash Parse BaseURL element including DVB attributes in DASH manifest 2021-06-21 22:28:17 +01:00
extractor Remove deprecated ParserException constructor 2021-06-21 22:29:27 +01:00
hls Set master playlist's channelCount only on audio renditions 2021-06-21 22:04:04 +01:00
rtsp Use a HashMap like behaviour in parsing SDP. 2021-06-21 22:25:36 +01:00
smoothstreaming Remove ParserException(cause) constructor 2021-06-10 17:36:29 +01:00
transformer Make AnalyticsListener.onPlayerError take a PlaybackException 2021-06-03 13:49:28 +01:00
ui Fix DefaultTimeBar glitches 2021-06-21 23:52:43 +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.