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

Multiple Primary Text Tracks allow ABR to change languages #918

Closed
vaage opened this issue Jul 5, 2017 · 1 comment
Closed

Multiple Primary Text Tracks allow ABR to change languages #918

vaage opened this issue Jul 5, 2017 · 1 comment
Assignees
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@vaage
Copy link
Contributor

vaage commented Jul 5, 2017

In the logic for filtering variants and text streams, if there are no language preference matches, the system will fallback to checking the "primary" value. If more than one text track is labeled as "primary", the ABR could change languages or roles on the user.

@vaage vaage self-assigned this Jul 5, 2017
bhh1988 pushed a commit to bhh1988/shaka-player that referenced this issue Jul 31, 2017
This fixes bugs in both filterVariantsByRoleAndLanguage and
filterTextStreamsByRoleAndLanguage which would ultimately allow ABR to
adapt across streams/variants with different languages/roles. There were
multiple ways that this could happen, detailed in shaka-project#947 and shaka-project#918. The bug
is fixed by some re-arrangment of the filtering logic and adding logic
to the END of the filter methods that do a final pass to select a
uniform set of variant/streams.

Technically the DASH spec requires that the player not adapt in/out of a
single AdaptationSet, but since the "variant" concept does not track the
AdaptationSet that its component streams originate from, the closest
thing we can go by is the "role", since two streams with different roles
certainly come from different adaptation sets.

Fixes issue shaka-project#947 and shaka-project#918
bhh1988 pushed a commit to bhh1988/shaka-player that referenced this issue Jul 31, 2017
This fixes bugs in both filterVariantsByRoleAndLanguage and
filterTextStreamsByRoleAndLanguage which would ultimately allow ABR to
adapt across streams/variants with different languages/roles. There were
multiple ways that this could happen, detailed in shaka-project#947 and shaka-project#918. The bug
is fixed by some re-arrangment of the filtering logic and adding logic
to the END of the filter methods that do a final pass to select a
uniform set of variant/streams.

Technically the DASH spec requires that the player not adapt in/out of a
single AdaptationSet, but since the "variant" concept does not track the
AdaptationSet that its component streams originate from, the closest
thing we can go by is the "role", since two streams with different roles
certainly come from different adaptation sets.

Fixes issue shaka-project#947 and shaka-project#918
@vaage vaage added type: bug Something isn't working correctly and removed needs triage labels Jul 31, 2017
@joeyparrish joeyparrish assigned joeyparrish and unassigned vaage Aug 3, 2017
@joeyparrish joeyparrish added this to the v2.2.0 milestone Aug 3, 2017
joeyparrish added a commit that referenced this issue Aug 6, 2017
This adds additional logic and tests to filtering in StreamUtils.

Closes #918
Closes #947
Closes #949

Backported to v2.1.x

Change-Id: I4cce0e0dd5d247e1eaadf7401116cdafb72c7259
@joeyparrish
Copy link
Member

The fix has been backported for v2.1.6.

@shaka-project shaka-project locked and limited conversation to collaborators Mar 22, 2018
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Apr 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
Development

No branches or pull requests

3 participants