media/library/core
tonihei f31894616c Ensure callback can't access player before constructor finished.
If the player is created on a background thread (which is allowed
as the only exception to the access-on-one-thread-only rule), it
may happen that a callback on the main thread tries to access the
player before the constructor even finished. This is dangerous and
can cause exceptions due to uninitialized variables.

To solve this, we can make sure that every player access is blocked
until the constructor finished. Blocking is safe because the
constructor itself is not doing any blocking work or acquiring locks.

The thread verification method is already called on every entry
point to the player, so we can reuse the same method for checking.

PiperOrigin-RevId: 365792949
2021-04-01 16:04:08 +01:00
..
src Ensure callback can't access player before constructor finished. 2021-04-01 16:04:08 +01:00
build.gradle Switch to an 'api' dependency on Guava 2020-10-17 01:34:15 +01:00
proguard-rules.txt #ExoPlayerMigration Ensure RawResourceDataSource class is obfuscated 2021-02-09 13:58:24 +00:00
README.md Use new exoplayer.dev domain everywhere. 2019-04-16 15:25:27 +01:00

ExoPlayer core library module

The core of the ExoPlayer library.

  • Javadoc: Note that this Javadoc is combined with that of other modules.