Skip to content

Commit

Permalink
Clean up parallel adaptation code.
Browse files Browse the repository at this point in the history
 - 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
  • Loading branch information
tonihei authored and icbaker committed Jan 7, 2021
1 parent 0901fe6 commit a4fbc2c
Show file tree
Hide file tree
Showing 2 changed files with 400 additions and 215 deletions.
Loading

0 comments on commit a4fbc2c

Please sign in to comment.