Re-query MediaKeys to handle codec profile changes
See original GitHub issueHave you read the FAQ and checked for duplicate open issues?:
Yes
What version of Shaka Player are you using?:
master
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 app.
If custom app, can you reproduce the issue using our demo app?:
No, you need to test specific stream.
What browser and OS are you using?:
it is reproducible on Chrome and Tizen.
What are the manifest and license server URIs?:
If you require the custom app, I am happy to share it. What did you do? When an encrypted live stream becomes clear, it throws 4011 UNPLAYABLE_PERIOD error. What did you expect to happen? It should play the stream smoothly. What actually happened? playback is crashed.
This issue is introduced at this commit. When a stream is initiated, all supported types are stored at this array. However, supportedTypes only includes the codec and mime combination of initial segments as it is captured at this line. When the stream becomes clear, the ad segments have different codecs which are not in the supportedTypes array. So, these ad segments are filtered at this line. Although all ad segments are playable, they are filtered out and, eventually throws 4011 error code. I also attached supportedTypes array and an ad segment screenshots.
Please let me know if the issue is still unclear for you. Happy to help on fixing this issue.
Thank you, Semih. An ad segment =>

supportedTypes array =>

Issue Analytics
- State:
- Created 5 years ago
- Comments:12 (12 by maintainers)

Top Related StackOverflow Question
@SemihGk @joeyparrish , Just so you both know, I have been following along. Will follow through on @joeyparrish recommended approach.
Thank you very much. I look forward to waiting for your fix. Meanwhile, I tested this approach and it is working on Tizen 17/18, LG 18 ( which those only support one video element at once), Chrome and Mozilla. Thus, this solution seems very safe to go.