-
Notifications
You must be signed in to change notification settings - Fork 130
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
[Proposal] DRM: Add keySystems[].reuseMediaKeys
loadVideo
option
#1520
base: dev
Are you sure you want to change the base?
Conversation
54f2ba8
to
6b1b6cf
Compare
We've seen multiple occurences lately on several devices where playback failed after playing a few encrypted contents. On those, setting the `closesSessionsOnStop` option (an option and already-existing work-around) had no effect, yet renewing the MediaKeys at each load fixed the issue. It's very probably a device bug. For those, we usually had the strategy of knowing on which devices this problem was encountered, detect it inside the RxPlayer, and choose to always renew the `MediaKeys` on those (without the application even knowing we did that). However, some users suggested to us to add this as an option, because they may have reproduced the issue on other devices. I'm kind of ambivalent toward adding this as an option: - I generally prefer our strategy of fixing it for all devices with the issue, with people reporting issues to us when a new device has the issue. This allows to fix it once and for all for all those devices. - I understand that some applications might prefer to iterate rapidly and be able to have more control over the RxPlayer behavior. Another PR, #1510, would allow doing this by patching our config instead but this would not be doable in production for applications (config properties are not something we guarantee in our API). This PR however, would allow applications to do it when and wherever they please. Thoughts?
6b1b6cf
to
3fdedf5
Compare
keySystems[].renewMediaKeys
loadVideo
optionkeySystems[].reuseMediaKeys
loadVideo
option
We noticed that reusing a previous `MediaKeys` had led to errors on a few devices. For | ||
example some smart TVs had shown errors after playing several encrypted contents, errors | ||
which disappeared if we renewed the `MediaKeys` for each content. |
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 wondering if those details are relevant in the documentation
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.
Why wouldn't it?
To me it explain why this option exists and why it may be useful no?
doc/api/Decryption_Options.md
Outdated
example some smart TVs had shown errors after playing several encrypted contents, errors | ||
which disappeared if we renewed the `MediaKeys` for each content. | ||
|
||
We should already be able to detect most of those cases in the RxPlayer logic. However, 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.
It's hard to write good technical doc, but I think one improvement would be to not use pronoms like "we"
=> The RxPlayer should be able to detect most of those cases.
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.
Updated for renewMediaKeys
only, we may want to update the wording for other option in a commit external to that PR
ff14e9a
to
fe5e039
Compare
We've seen multiple occurences lately on several devices where playback failed after playing a few encrypted contents.
On those, setting the
closesSessionsOnStop
option (an option and already-existing work-around) had no effect, yet renewing the MediaKeys at each load fixed the issue.It's very probably device bugs. For those, we usually had the strategy of knowing on which devices this problem was encountered, detect it inside the RxPlayer, and choose to always renew the
MediaKeys
on those (without the application even knowing we did that).However, some users suggested to us to add this as an option, because they may have reproduced the issue on other devices.
I'm kind of ambivalent toward adding this as an option:
I generally prefer our strategy of fixing it for all devices with the issue, with people reporting issues to us when a new device has the issue. This allows to fix it once and for all for all those devices.
I understand that some applications might prefer to iterate rapidly and be able to have more control over the RxPlayer behavior.
Another PR, #1510, would allow doing this by patching our config instead but this would not be doable in production for applications (config properties are not something we guarantee in our API).
This PR however, would allow applications to do it when and wherever they please.
Thoughts?