-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
PlayReady Object with invalid length encountered. #3086
Comments
The Playready streams from the demo work fine both single and MultiDRM. |
Please let me know if you require more information to investigate this issue. |
Is there anyway to know which DRM types are supported from the Shaka API so we can make a decision if we have a preference. As it seems that Playready error is always thrown but if we just only add widevine then there is no issue. We cannot just add widevine though as some devices do not support widevine. |
This error comes from here. This means the PRO found in the manifest isn't valid since the first four bytes should be the length. I'm not that familiar with with the PRO format, so I don't know how correct it is. It does look similar to a PRO so it isn't a PSSH instead. You can configure priority by setting the order of the |
Thank you. I provided the manifest for this particular scenario to the support email address. It is a bit hard to tell at present if this is a device issue or a manifest issue. The manifest does play and decode well on some devices that support playready. Atpresent the issues are experienced on newer webOS and Tizen devices. WebOS5 and Tizen 5 with CENC manifests. |
The |
Thank you! I will confirm with our packaging team if we can get this updated. I am pretty sure we are using 8Byte IV could this be a factor? |
I don't think the IV is the issue. It's placing a PlayReady XML object into |
Thank you @joeyparrish I just decoded the
|
Actually I do see 4 invisible characters at the beginning of that header. Is that the part we are missing? |
It should be a PRO object, not the XML. The XML will be in the PRO object somewhere, but you need to wrap it in a valid PRO object. Check out https://docs.microsoft.com/en-us/playready/specifications/playready-header-specification#2-playready-object-pro for the format. One of the entries in the PRO object will be the PlayReady Header (PRH, the XML you posted). |
Thank you I will investigate with our encoding team further. Example:
Decoded:
|
So sort of assuming the first 4 binary chars are the PRO object and the rest is the PRH.
We are using Bento to package the manifests. |
Here's a table of the PRO format from the doc that @TheModMaker linked to (https://docs.microsoft.com/en-us/playready/specifications/playready-header-specification#2-playready-object-pro):
Here's a table for those PRO records that go inside the third field of the PRO (what you quoted above):
|
If the output of Bento doesn't follow this spec, then it's a Bento bug and you should follow up with them. Thanks! |
Thanks @joeyparrish Yes I think it is a bug in the packager that created the content. It seems quite a few other PlayReady players IE oipf A/V and Tizen player are tolerant of this issue so it slipped by. Thank you for your help in tracking down the issue. Now to repackage:) |
Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
3.0.7
Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from
master
?I have not tried with master.
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 have not tried with the demo app.
What browser and OS are you using?
webOS5
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
What are the manifest and license server URIs?
I will email manifest and LA URLs
What did you do?
We have a multi DRM stream set up for PlayReady and Widevine. The webOS5 TV states it supports both and shaka tends to choose PlayReady when we provide both types to the configuration.
I am suspecting an issue with our manifest but cannot quite find the issue as playback with Playready is successful on other devices. webOS4 and Tizen 4/5
What did you expect to happen?
Multi DRM stream to playback with best possible DRM type.
What actually happened?
We provide LA URLs for both Widevine and Playready shaka chooses Playready and then a warning is logged:
PlayReady Object with invalid length encountered.
Then an error
6006
is thrown with severity 2The text was updated successfully, but these errors were encountered: