media/library
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
..
all Move common gradle setup to a setting file. 2020-06-26 11:13:25 +01:00
common Merge pull request #8397 from equeim:avc-codecs 2021-01-05 12:00:21 +00:00
core Clean up parallel adaptation code. 2021-01-07 10:43:56 +00:00
dash Fix second sync point calculation for unbounded live streams. 2020-12-23 22:51:55 +00:00
extractor Initialize Format.codecs from AVC SPS NAL unit (#8393) 2020-12-24 20:30:35 +03:00
hls Rollback of dd7b379dc0 2020-12-23 22:53:24 +00:00
smoothstreaming Add live configuration to Timeline.Window 2020-12-14 10:17:23 +00:00
ui StyledPlayerView: Fix control overflow logic 2020-12-17 11:25:53 +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.