media/library
tonihei 9982e1f154 Release AnalyticsListeners after calling SimpleExoPlayer.release
Currently we don't remove the AnalyticsListeners registed to
SimpleExoPlayer after calling release. We didn't do this mainly
because there are messages triggered as part of the release that
still cause interesting events (e.g. decoderDisabled with the
final counters, final dropped counts etc).

However, we should fully release/remove the listeners once these
pending events are delivered to:
 1. Not leak listener implementations (e.g. if the listener is an
    Activity)
 2. Ensure we don't send future events that may cause listeners
    to unintentionally access released or nulled variables. This
    could happen for example if someone calls a player method
    after the player was released.
In addition, we can add a onPlayerReleased callback to
AnalyticsListener to allow implementations to clean themselves up
once all pending events are delivered.

PiperOrigin-RevId: 347434344
2020-12-17 11:25:53 +00:00
..
all Move common gradle setup to a setting file. 2020-06-26 11:13:25 +01:00
common Move classes Player depends on to common 2020-12-17 11:25:52 +00:00
core Release AnalyticsListeners after calling SimpleExoPlayer.release 2020-12-17 11:25:53 +00:00
dash Add live configuration to Timeline.Window 2020-12-14 10:17:23 +00:00
extractor Minor refactor in Matroska extractor 2020-12-14 10:18:13 +00:00
hls Add live configuration to Timeline.Window 2020-12-14 10:17:23 +00:00
smoothstreaming Add live configuration to Timeline.Window 2020-12-14 10:17:23 +00:00
ui Fix UI menu not dismissing on API level 22 and earlier 2020-12-14 10:18:43 +00: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.