Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Base initial bandwidth estimate on first level bitrate #5649

Merged
merged 1 commit into from
Jul 13, 2023

Conversation

robwalch
Copy link
Collaborator

@robwalch robwalch commented Jul 12, 2023

This PR will...

Set the default bandwidth estimate based on first variant in multivariant playlist

  • Adds setter for hls.bandwidthEstimate which resets the bandwidth estimator using the input value as the new default estimate.
  • Adds config.abrEwmaDefaultEstimateMax option which limits how high default value can be adjusted to.

Separate peak and average bitrates of Level objects

  • Level.bitrate returns peak bitrate value (BANDWIDTH attribute) by default
  • Adds averageBitrate getter to Level

Why is this Pull Request needed?

This is the first of several changes that will allow selection and playback of preferred codecs on start.

Are there any points in the code the reviewer needs to double check?

This change does not change default initial quality selection. It should however provide a faster BWE ramp up, and more stable start.

Resolves issues:

Resolves #2754

Checklist

  • changes have been done against master branch, and PR does not conflict
  • new unit / functional tests have been added (whenever applicable)
  • API or design changes are documented in API.md

@robwalch robwalch added this to the 1.5.0 milestone Jul 12, 2023
@@ -617,27 +635,6 @@ export default class LevelController extends BasePlaylistController {
}
}

export function addGroupId(
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had to move addGroupId because it created a circular dependency between level-controller -> config -> content-steering-controller.

@robwalch robwalch merged commit bc60dbf into master Jul 13, 2023
16 checks passed
@robwalch robwalch deleted the feature/first-variant-bwe branch July 13, 2023 21:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Base initial bandwidth estimate on first level's bitrate
1 participant