media/library/core
tonihei a4fbc2c98d Clean up parallel adaptation code.
- The AdaptiveTrackSelection doesn't need to use the experimental
terminolgy because the code is always triggered if there are multiple
adaptive selections.

- It's also confusing to pass the state on the outside after the object
creation, so moving everything into a simple control flow again where
the adaptation checkpoints are passed in via the constructor.

- Instead of triple arrays, we can use more readable named structures.

- The calculation of the checkpoints can be cleaned up to be more
readable by moving things to helper methods.

- The reserved bandwidth from all fixed track selections is really just
a special case of multiple parallel adaptataions. So this logic doesn't
need to be separate.

- The whole logic also didn't have test coverage so far. Added tests
for the actual adaptation using these checkpoints and the builder
calculating the checkpoints.

Overall this should be a no-op change.

PiperOrigin-RevId: 350162834
2021-01-07 10:43:56 +00:00
..
src Clean up parallel adaptation code. 2021-01-07 10:43:56 +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.