media/library
christosts 5ae2982122 Change how AnalyticsCollector forwards onPlayerReleased
Before releasing r2.15.0, we had a regression that crashed
PlaybackStatsListener. A change in the AnalyticsCollector made
it to send an additional AnalyticsListener.onEvents() callback after
calling Player.release() and AnalyticsListener.onEvents() appeared
to arrive with event times that were not monotonically increasing.
The AnalyticsListener.onEvents() callback that contained
AnalyticsListener.EVENT_PLAYER_RELEASED was called with a timestamp that
was smaller than event times of previously AnalyticsListener.onEvents()
calls.

A first fix changed the order of events being forwarded to
AnalyticsListener. Upon calling Player.release(), the AnalyticsCollector
would call AnalyticsListener.onPlayerReleased() and its associated
AnalyticsListener.onEvents() on the same stack call. This fix maintained
that event times are monotonically increasing, but made
AnalyticsListener.onPlayerReleased() be called earlier.

This change:
- Further changes AnalyticsCollector to ensure that
  AnalyticsListener.onPlayerReleased() and its related
  AnalyticsListener.onEvents() are the last callbacks to be called,
  and the associated timestamp is bigger than  previously reported
  event times.
- Adds an instrumentation test to guard against the regression.

PiperOrigin-RevId: 399437724
2021-09-28 16:48:57 +01:00
..
all Include RTSP module in gradle project 2021-05-10 23:41:50 +01:00
common Migrate usages of MediaItem.PlaybackProperties to LocalConfiguration 2021-09-28 16:35:31 +01:00
core Change how AnalyticsCollector forwards onPlayerReleased 2021-09-28 16:48:57 +01:00
dash Migrate callers of ExoPlayer.Builder#build() to buildExoPlayer() 2021-09-28 16:38:20 +01:00
extractor Move SubtitleExtractor to text package 2021-09-28 16:41:08 +01:00
hls Migrate usages of MediaItem.PlaybackProperties to LocalConfiguration 2021-09-28 16:35:31 +01:00
rtsp Migrate callers of ExoPlayer.Builder#build() to buildExoPlayer() 2021-09-28 16:38:20 +01:00
smoothstreaming Migrate usages of MediaItem.PlaybackProperties to LocalConfiguration 2021-09-28 16:35:31 +01:00
transformer Migrate callers of ExoPlayer.Builder#build() to buildExoPlayer() 2021-09-28 16:38:20 +01:00
ui Add empty sdk-version node to all AndroidManifest.xml files 2021-09-21 14:17:33 +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.