Skip to content
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/safari 12.1 #86

Merged
merged 2 commits into from
May 8, 2019
Merged

Conversation

squarebracket
Copy link
Contributor

Safari 12.1 introduced in-spec EME API support on macOS 10.14.4 and iOS 12.2.

This plugin does not support using fairplay with the standard EME API. However, it appears that Safari's EME API is broken; navigator.requestMediaKeySystemAccess seems to always reject. I am currently building Safari to see if I can get at some debug logs. Unfortunately, the prebuilt binaries on webkit.org don't actually work, so I have a feeling my build won't work.

To bridge the gap until Safari gets its act together, this patch uses the old prefixed API if it exists.

Closes #79, #80.

Copy link
Member

@misteroneill misteroneill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good. Will see if we can verify this fixes iOS error(s) we were seeing.

@squarebracket
Copy link
Contributor Author

After looking around in the tests, I found this capabilities object which did work. Progressively removing keys, it seems that Safari requires at least {initDataTypes: ['sinf'], videoCapabilities: [{contentType: 'video/mp4'}]}.

I will put together a PR that prefers in-spec EME over prefixed EME.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Safari fires handleEncryptedEvent with error
2 participants