media/library/core
olly 7e295cbfc9 Simplify bypass buffer batching
BatchBuffer has three different clear methods (clear, flush,
batchWasConsumed), and it's not hugely clear what each of them
does. In general, BatchBuffer owning the sample buffer seems
more complicated than having the caller own it, particularly
when it can be "pending" inside of the batch buffer.

This change moves ownership of the sample buffer to the
caller. BatchBuffer is simplified as a result. There are also
two behaviour changes:

1. The buffer's timeUs field is now set to the first sample's
   timestamp, rather than the last sample's.
2. A key-frame in the middle of the batch no longer causes the
   batch buffer to be considered a key-frame. Which seems like
   the right thing to do, because the batched data cannot be
   decoded independently of whatever came before it.

PiperOrigin-RevId: 350921306
2021-01-11 18:04:33 +00:00
..
src Simplify bypass buffer batching 2021-01-11 18:04:33 +00:00
build.gradle Switch to an 'api' dependency on Guava 2020-10-17 01:34:15 +01:00
proguard-rules.txt Add remaining proguard config tests. 2020-11-27 11:08:34 +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.