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

Incorrect variant filtering on codec profile for multi period manifests #2799

Closed
Stansbridge opened this issue Aug 14, 2020 · 0 comments · Fixed by #2800
Closed

Incorrect variant filtering on codec profile for multi period manifests #2799

Stansbridge opened this issue Aug 14, 2020 · 0 comments · Fixed by #2800
Assignees
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@Stansbridge
Copy link
Contributor

Stansbridge commented Aug 14, 2020

Have you read the FAQ and checked for duplicate open issues?
Yes, related issues:
Re-query MediaKeys to handle codec profile changes: #1567
MIME type checks should ignore case: #1991

What version of Shaka Player are you using?
2.5.13
3.0.x

Can you reproduce the issue with our latest release version?
Yes

Can you reproduce the issue with the latest code from master?
Yes

Are you using the demo app or your own custom app?
Custom

If custom app, can you reproduce the issue using our demo app?
I haven't specifically tested here.

What browser and OS are you using?
Chrome / Darwin

For embedded devices (smart TVs, etc.), what model and firmware version are you using?

What are the manifest and license server URIs?

Happy to attempt to procure this via email if necessary.

What did you do?
Play a multi period DASH manifest with a period containing video codec "avc1.4d401f". On manifest update, a subsequent period contains the same codec but with an uppercase profile "avc1.4D401F".

What did you expect to happen?
Content continues to play as the profiles are the same.

What actually happened?
In Shaka 2.5.13 playback ends and a 4011 error is emitted.
In Shaka 3.0.x playback ends and a 4032 error is emitted.

The willSupport method in DrmEngine checks against a Set keyed by MIME content type. This comparison should be case insensitive, particularly for codec profiles described in hex which may be either lower or upper case.
https://github.com/google/shaka-player/blob/master/lib/media/drm_engine.js#L575

I have created a pull request which normalizes the Set keys and method arguments:
#2800

Stansbridge added a commit to Stansbridge/shaka-player that referenced this issue Aug 14, 2020
This fixes the case sensitivity in the `DrmEngine` `willSupport` method. This comparison should be case insensitive, particularly for codec profiles described in hex which may be either lower or upper case. The change normalizes both the stored content types and the method arguments.

Closes shaka-project#2799
joeyparrish pushed a commit that referenced this issue Aug 20, 2020
This fixes the case sensitivity in the `DrmEngine` `willSupport` method. This comparison should be case insensitive, particularly for codec profiles described in hex which may be either lower or upper case. The change normalizes both the stored content types and the method arguments.

Closes #2799
joeyparrish pushed a commit that referenced this issue Aug 25, 2020
This fixes the case sensitivity in the `DrmEngine` `willSupport` method. This comparison should be case insensitive, particularly for codec profiles described in hex which may be either lower or upper case. The change normalizes both the stored content types and the method arguments.

Closes #2799

Backported to v2.5.x

Change-Id: If38d2aadc5d5aac09e55f1a3a0faaf2f2f2b4a26
joeyparrish pushed a commit that referenced this issue Aug 25, 2020
This fixes the case sensitivity in the `DrmEngine` `willSupport` method. This comparison should be case insensitive, particularly for codec profiles described in hex which may be either lower or upper case. The change normalizes both the stored content types and the method arguments.

Closes #2799
@shaka-project shaka-project locked and limited conversation to collaborators Oct 19, 2020
@joeyparrish joeyparrish added the type: bug Something isn't working correctly label Jan 14, 2021
@joeyparrish joeyparrish added this to the v3.1 milestone Jan 14, 2021
@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

Successfully merging a pull request may close this issue.

3 participants