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

Playback freezes for DASH VOD with multiple Adatpation Sets with different DRM restrictions #2135

Closed
tylerdaines opened this issue Sep 5, 2019 · 2 comments
Assignees
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@tylerdaines
Copy link
Contributor

Have you read the FAQ and checked for duplicate open issues?
Yes

What version of Shaka Player are you using?
2.5.5

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?
Demo app

If custom app, can you reproduce the issue using our demo app?
N/A

What browser and OS are you using?
Chrome on MacOS

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

What are the manifest and license server URIs?
Working url: https://content.uplynk.com/299ca57da2d04bdaa28c3c643467b3a1.mpd?prettydash=1

Non-working url: https://content.uplynk.com/299ca57da2d04bdaa28c3c643467b3a1.mpd?prettydash=1&vcodec=avc&rmp.content_key_specs.Audio.security_level=1&v=2&rmp.policy_overrides.can_persist=False&rmt=wv&rmp.content_key_specs.HD.security_level=4&rmp.content_key_specs.SD.security_level=1&rmp.policy_overrides.license_duration_seconds=172800&rmp.policy_overrides.playback_duration_seconds=172800&rmp.content_key_specs.Audio.required_output_protection.hdcp=HDCP_NONE&rmp.content_key_specs.HD.required_output_protection.hdcp=HDCP_V1&ct=a&rmp.content_key_specs.SD.required_output_protection.hdcp=HDCP_NONE&vcodec=avc&prettydash=1&rmp.policy_overrides.can_play=True

License server url: https://content.uplynk.com/wv

What did you do?
Play the VOD asset. Second period starts around 22 seconds into the video.

What did you expect to happen?
For the video to play through to the second period and beyond.

What actually happened?
The video freezes at ~22 seconds (period boundary). Looking at the network inspector, the player correctly chooses a variant from the SD adaptation set for the first period, but at the period boundary, the player tries to switch to a variant from the HD adaptation set which is DRM restricted to WV security level 4.

@tylerdaines
Copy link
Contributor Author

I was able to fix this by changing onKeyStatus_ in player.js to loop through all the variants of all the periods in this.manifest_.periods rather than just through the variants of this.getPresentationPeriod_() period. All tests still pass but maybe this change has wider implications I'm not aware of. Happy to submit a PR if you like.

@TheModMaker TheModMaker added type: bug Something isn't working correctly and removed needs triage labels Sep 6, 2019
@TheModMaker TheModMaker self-assigned this Sep 6, 2019
@TheModMaker TheModMaker added this to the v2.6 milestone Sep 6, 2019
@joeyparrish
Copy link
Member

Thanks, @tylerdaines, for the report and the suggestion, and thanks @TheModMaker, for landing the fix!

TheModMaker added a commit that referenced this issue Nov 6, 2019
Before we would only update the current Period when we got a key status
change; this caused us to fail playback for the second Period if the
streams were restricted.  Now we update all the Periods.

Closes #2135

Change-Id: I2238a90c1d367a1d898ec26e4318852cd26da4b7
@shaka-project shaka-project locked and limited conversation to collaborators Nov 9, 2019
@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

4 participants