-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Add ability to uninstall PatchedMediaKeysApple polyfill #4469
Comments
I don't understand why this is necessary. Admittedly, I don't have a lot of hands-on experience with FairPlay. But removing the polyfill is a bit odd to me. In general, I would expect you simply not to install it, instead. Can you help me understand what the underlying issue is? |
If there's a way to do this that we've not found, please correct us. This is where we're running into issues: We use If we don't uninstall the polyfill before playing using shaka, it throws If we use Since Shaka is able to play using Is there a difference in the default handling of the initData when playing natively vs. playing using shaka with modern EME? We're using DrmToday by Castlabs. Thank you for taking your time. To clarify the issue: We would like to use both native and non-native shaka playback depending on content, but we haven't been able to get a single keysystem to work for both. That is why the question of being able to uninstall the polyfill in order to use both keysystems came up. It'd be great if we would be able to use modern EME for everything, in which case this ticket can and should be closed. |
@joeyparrish , I think the same as @martinstark , because I have found the same error, that's why I have approved the PR. |
just FYI, the PR in its current state is non-functional. I will update it to the working version if there's no comment on my question |
I feel like the best thing to do would be to align Fairplay support such that the same key system IDs and configurations work whether you're using native HLS or not. Is that not possible? |
@avelad @joeyparrish I agree, the root cause seems to be that modern EME support is broken when playing natively through Shaka. I don't have ready access to an Apple laptop in order to attempt this myself. I could maybe try with some pointers? But it's probably better if someone who does could look at it. |
@martinstark, does the fix for #4431 relieve the need to switch? I'm not deeply familiar with FairPlay myself, and I'm going to be away until Monday. I apologize for the inconvenience. @avelad, if you have any insights, please let me know. I can take a look at this again when I return, but I'd be starting from scratch. |
I have looked it up and my conclusions are:
Using MSE has many advantages and if a provider supports MP4 and the Modern EME is the way to go. This issue makes a lot of sense if you have to support two DRM providers at the same time and one supports Modern EME and the other doesn't. Since the PR does not add a large amount of code, I would approve it, since there is no good solution unless the code handles both APIs at the same time (which has never been done). What I would like to add to the PR is to document in the FairPlay tutorial that this new method exists. |
Okay. I'm convinced. Thank you both for taking the time to explain it.
@avelad, please coordinate with @martinstark and merge the PR when you both feel it's ready. @martinstark, I left a comment on the PR with a tip that may help with the prototype getter. I would prefer to see a test added for this new uninstall() method if possible. You can limit it to run only on Safari and use jasmine's Thank you both for your patience with me. |
Yes, for our particular use case it does, thank you very much for fixing it (testing it right now on the main branch). Since it seems this feature may be needed by others I'll keep working on the PR. |
Have you read the FAQ and checked for duplicate open issues?
Yes
Is your feature request related to a problem? Please describe.
Yes. We want to be able to install and uninstall shaka.polyfill.PatchedMediaKeysApple depending on the type of content we're playing, since we want to be able to swap between native and non-native Safari Fairplay playback. This is due to "startover" live content not being playable using Shaka Fairplay HLS (see #4431).
Describe the solution you'd like
A
shaka.polyfill.PatchedMediaKeysApple.uninstall()
method, that uninstalls the polyfill. Synchronously if possible.Describe alternatives you've considered
We're currently using native Fairplay playback, but it has more quality issues that playing using Shaka, so we would like to use Shaka playback as much as possible.
One alternative solution is to fix #4431.
Additional context
The text was updated successfully, but these errors were encountered: