media/library
tonihei 9de96782fd Serialize recursive listener notifications.
When the player state is changed from an event listener callback, we may
get recursive listener notifications. These recursions can produce a wrong
order, skip or duplicate updates, and send different notifications to
different listeners.

This change serializes listener notifications by clustering all update data
in a helper data class and adding the updates to a queue which can be handled
in a loop on the outer layer of the recursion.

As playWhenReady updates also reference the current playbackInfo, we need to
redirect the listener notifcations for setPlayWhenReady to the same queue.

Issue:#4276

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=198031431
2018-06-05 15:14:07 +01:00
..
all Migrate ExoPlayer Gradle build files. 2018-03-02 09:20:02 +00:00
core Serialize recursive listener notifications. 2018-06-05 15:14:07 +01:00
dash Include checkerframework annotatons with compileOnly and remove lint exclusion 2018-05-12 18:56:12 +01:00
hls Enable HLS sample queues as soon as possible. 2018-05-22 09:12:55 +01:00
smoothstreaming Include checkerframework annotatons with compileOnly and remove lint exclusion 2018-05-12 18:56:12 +01:00
ui Support TTML font size using % correctly. 2018-05-18 15:04:55 +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.