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

Content Steering #5191

Merged
merged 14 commits into from
Feb 18, 2023
Merged

Content Steering #5191

merged 14 commits into from
Feb 18, 2023

Conversation

robwalch
Copy link
Collaborator

@robwalch robwalch commented Jan 27, 2023

This PR will...

Add support for HLS Content Steering. This includes Steering Manifest loading and refresh, as well as Pathway grouping, selection and Pathway Cloning.

Support for legacy redundant streams is maintained and covered by new tests. The HLS.js light build options remove the Content Steering Controller from the light build. The light build treats the multiple Pathways as redundant levels so long as they have variants with matching quality attributes (same as previous releases without Content Steering/PATHWAY-ID support).

The advantage of using a Steering Manifest is that it allows for more dynamic redundancy and URL/host switching, controlled remotely.

With these changes the player will always switch to the Steering Manifest's highest priority Pathway regardless of errors encounters. A followup PR will address Pathway error penalties and switching Pathways on error.

Resolves issues:

Addresses a majority of #5074

Pathway penalty will be addressed in a follow up PR (#5241):

Penalize Pathway when all variant streams in a Pathway fail (Look at player penalty box timeout, but consider re-evaluating after Content Steering Manifest refresh)

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 force-pushed the feature/content-steering branch 3 times, most recently from a0ddbc0 to d151621 Compare January 27, 2023 23:10
@robwalch robwalch force-pushed the feature/content-steering branch 4 times, most recently from 3779c7a to 9cbb91f Compare February 1, 2023 00:28
@robwalch robwalch force-pushed the feature/content-steering branch 2 times, most recently from b2d51ca to 05b8a59 Compare February 10, 2023 00:51
@robwalch robwalch force-pushed the feature/content-steering branch 2 times, most recently from 510f954 to cc87b72 Compare February 14, 2023 03:00
@robwalch robwalch mentioned this pull request Feb 14, 2023
5 tasks
@robwalch robwalch force-pushed the feature/content-steering branch 2 times, most recently from 49a3da3 to 3e578db Compare February 15, 2023 18:55
@robwalch robwalch marked this pull request as ready for review February 15, 2023 19:02
@robwalch robwalch linked an issue Feb 15, 2023 that may be closed by this pull request
@robwalch robwalch added this to the 1.4.0 milestone Feb 15, 2023
@robwalch robwalch merged commit 766ec37 into master Feb 18, 2023
@robwalch robwalch deleted the feature/content-steering branch February 18, 2023 20:20
robwalch added a commit that referenced this pull request Feb 21, 2023
robwalch added a commit that referenced this pull request Feb 21, 2023
robwalch added a commit that referenced this pull request Feb 22, 2023
robwalch added a commit that referenced this pull request Feb 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

Add support for Content Steering and Variable Substitution
1 participant