-
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
Fix error 4012 RESTRICTIONS_CANNOT_BE_MET
for webOS TV platform
#2513
Conversation
This change breaks WebOS 3.5, WebOS 4.0, and WebOS 4.5, so the change should verify that the platform is WebOS 5.0 or higher. |
Suggestion, You can make it configurable and add a default like https://github.com/google/shaka-player/blob/master/lib/util/player_configuration.js#L131-L136 , What do you think? |
@avelad Thank you for comments. I am an engineer responsible for webOS media/cdm related interfaces. The key-id information is provided through MediaKeySession.keyStatuses, which is supported from the 2020 model(webOS 5.0). So, without this patch, the error will not occur on older platforms. Therefore, the above change does not affect other versions of webOS. In my opinion, the above fix would be enough. |
Two months ago I tried this on the televisions we have in our lab and it didn't work. I wish I could test this in our lab, but for a month I will not have access to it due to COVID-19. I think the solution of putting it in a player configuration would be better, in case some platform does not work, it can at least change to the previous behavior without having to touch the code, what do you think? |
"Two months ago I tried this on the televisions we have in our lab and it didn't work." => "I think the solution of putting it in a player configuration would be better, in case some platform does not work, it can at least change to the previous behavior without having to touch the code, what do you think?" => So you mean suggesting additional parameters to the shaka.extern.DrmConfiguration? |
I can tell you that we have a client in production in Bolivia working with PlayReady with WebOS 3.5, 4.0 and 4.5 using ShakaPlayer 2.5.6 Putting it in the configuration file produces the same result, but allows clients to override the default value.
Yes |
For the 4012 error, we confirmed that there were no problems with 4.0 / 4.5 / 5.0. (by modified version 2.5.9) However, even if you update the exception-handling part in the key-id, there will be no problem. Like Tizen and other platforms, I want to handle exceptions. |
Okay, well then I agree to your change. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm going to run tests, but I don't expect any issue from this change.
@dong-heun, is there anything else needed to close issue #2512? Or is this everything that was missing for PlayReady support on 2020 WebOS devices? |
Test Failure:
|
lib/media/drm_engine.js
Outdated
@@ -1326,7 +1326,8 @@ shaka.media.DrmEngine = class { | |||
if (this.currentDrmInfo_.keySystem == 'com.microsoft.playready' && | |||
keyId.byteLength == 16 && | |||
!shaka.util.Platform.isTizen() && | |||
!shaka.util.Platform.isVideoFutur()) { | |||
!shaka.util.Platform.isVideoFutur() && | |||
!shaka.util.Platform.isWeb0S()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this supposed to have a zero in it instead of the letter O? Now I'm concerned about whether or not your solution works, since it doesn't look like you could have tested it with this typo in it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@joeyparrish
We were mistaken for the value of the userAgent we use.
We will update the patch.
Sorry.
@avelad Thank you for agreeing with my opinion. |
@joeyparrish As already explained above, key-id exception handling for IE11 is not required on webOS platform. Again, it would be nice if it could be handled with other possible platforms (Tizen, VideoFutur). |
Test Failure:
|
This failure is caused by buggy tests that we recently fixed. @dong-heun, can you please rebase your change so we can re-run the tests? Thanks! |
For webOS TV 2020 platform, like for Tizen, key IDs should not be transformed to big-endian UUIDs, it causes `4012 RESTRICTIONS_CANNOT_BE_MET` error. Issue shaka-project#2512
I have done rebase. Thank you. |
All tests passed! |
) For webOS TV 2020 platform, like for Tizen, key IDs should not be transformed to big-endian UUIDs, it causes `4012 RESTRICTIONS_CANNOT_BE_MET` error. Backported to v2.5.x Closes #2512 Change-Id: Id0eab790bf8ecaf7249acb92db8ab8d976e7bae6
For webOS TV 2020 platform, like for Tizen, key IDs should not be
transformed to big-endian UUIDs, it causes
4012 RESTRICTIONS_CANNOT_BE_MET
error.Issue #2512