Use CDM v11 interface if supported by plugin
Categories
(Core :: Audio/Video: GMP, enhancement)
Tracking
()
People
(Reporter: aosmond, Assigned: aosmond)
References
(Blocks 1 open bug)
Details
Attachments
(3 files)
|
48 bytes,
text/x-phabricator-request
|
Details | |
|
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-esr115+
|
Details |
|
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-esr128+
|
Details |
We have the header in place already with the relevant structs:
https://searchfox.org/mozilla-central/rev/a965e3c683ecc035dee1de72bd33a8d91b1203ed/dom/media/gmp/widevine-adapter/content_decryption_module.h#1212
But we should probably pull in the latest header since there are a few changes (11 wasn't declared as stable when we last pulled):
https://source.chromium.org/chromium/chromium/src/+/main:media/cdm/api/content_decryption_module.h;drc=27d34700b83f381c62e3a348de2e6dfdc08364b8;bpv=1;bpt=1;l=1
Here we should bump it to version 11, and the backwards compat to version 10:
https://searchfox.org/mozilla-central/rev/a965e3c683ecc035dee1de72bd33a8d91b1203ed/dom/media/gmp/GMPUtils.h#19-20
And here we should switch to accepting either:
https://searchfox.org/mozilla-central/rev/a965e3c683ecc035dee1de72bd33a8d91b1203ed/dom/media/gmp/ChromiumCDMAdapter.cpp#119
And when we create the host, we need to support creating the correct version requested, either 10 or 11:
https://searchfox.org/mozilla-central/rev/a965e3c683ecc035dee1de72bd33a8d91b1203ed/dom/media/gmp/ChromiumCDMAdapter.cpp#140
If only version 10 is supported, we should use a compatibility wrapper like we did in bug 1487811:
https://phabricator.services.mozilla.com/D5631
So that we are able to convert usage of the interfaces to the 11 variants:
https://searchfox.org/mozilla-central/rev/a965e3c683ecc035dee1de72bd33a8d91b1203ed/dom/media/gmp/widevine-adapter/content_decryption_module.h#868
https://searchfox.org/mozilla-central/rev/a965e3c683ecc035dee1de72bd33a8d91b1203ed/dom/media/gmp/widevine-adapter/content_decryption_module.h#1212
We should also update Clearkey to use the 11 variant as part of this work, so that when we want to drop 10, we are ready.
It may be possible to avoid supporting 10 if the plugins we are shipping with (4.10.2830.0) already support 11.
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 1•1 year ago
|
||
It appears the current Widevine CDM does not support version 11, so we need to support both at the same time.
| Assignee | ||
Comment 2•1 year ago
|
||
This patch adds support for v11 to ensure forwards compatibility with
new CDM plugin versions. It uses a compatibility layer for v10 plugins.
Updated•1 year ago
|
Comment 4•1 year ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/d459910a82f3
https://hg.mozilla.org/mozilla-central/rev/11d73209a2e0
| Assignee | ||
Comment 5•10 months ago
|
||
This patch adds support for v11 to ensure forwards compatibility with
new CDM plugin versions. It uses a compatibility layer for v10 plugins.
Original Revision: https://phabricator.services.mozilla.com/D235909
Updated•10 months ago
|
| Assignee | ||
Comment 6•10 months ago
|
||
This patch adds support for v11 to ensure forwards compatibility with
new CDM plugin versions. It uses a compatibility layer for v10 plugins.
Original Revision: https://phabricator.services.mozilla.com/D235909
Updated•10 months ago
|
Comment 7•10 months ago
|
||
firefox-esr115 Uplift Approval Request
- User impact if declined: We will be unable to push future Widevine updates when Google deprecates the v10 interface (in the next year)
- Code covered by automated testing: yes
- Fix verified in Nightly: yes
- Needs manual QE test: yes
- Steps to reproduce for manual QE testing: Do the Widevine test plan.
- Risk associated with taking this patch: Low but must verify
- Explanation of risk level: I was able to cherry-pick the patch and it merged fine, but I have been unable to push to try to verify the build myself due to the git migration. We have been otherwise been shipping these patches for quite some time in release.
- String changes made/needed: N/A
- Is Android affected?: no
| Assignee | ||
Updated•10 months ago
|
Comment 8•10 months ago
|
||
firefox-esr128 Uplift Approval Request
- User impact if declined: We will be unable to push future Widevine updates when Google deprecates the v10 interface (in the next year)
- Code covered by automated testing: yes
- Fix verified in Nightly: yes
- Needs manual QE test: yes
- Steps to reproduce for manual QE testing: Do the Widevine test plan.
- Risk associated with taking this patch: Low but must verify
- Explanation of risk level: I was able to cherry-pick the patch and it merged fine, but I have been unable to push to try to verify the build myself due to the git migration. We have been otherwise been shipping these patches for quite some time in release.
- String changes made/needed: N/A
- Is Android affected?: no
Comment 9•10 months ago
|
||
firefox-esr128 Uplift Approval Request
- User impact if declined: We will be unable to push future Widevine updates when Google deprecates the v10 interface (in the next year)
- Code covered by automated testing: yes
- Fix verified in Nightly: yes
- Needs manual QE test: yes
- Steps to reproduce for manual QE testing: Do the Widevine test plan.
- Risk associated with taking this patch: Low
- Explanation of risk level: We have been shipping these patches for quite some time in release, patch was auto merged by git.
- String changes made/needed: N/A
- Is Android affected?: no
Comment 10•10 months ago
|
||
firefox-esr115 Uplift Approval Request
- User impact if declined: We will be unable to push future Widevine updates when Google deprecates the v10 interface (in the next year)
- Code covered by automated testing: yes
- Fix verified in Nightly: yes
- Needs manual QE test: yes
- Steps to reproduce for manual QE testing: Do the Widevine test plan.
- Risk associated with taking this patch: Low
- Explanation of risk level: We have been shipping these patches for quite some time in release, patch was auto merged by git.
- String changes made/needed: N/A
- Is Android affected?: no
Updated•10 months ago
|
Comment 11•10 months ago
|
||
Smoke testing done on Firefox 140.1.0esr build, playback works on sites (Netflix, Hulu, HBO, Amazon Prime, Spotify, Shaka Player, Therokuchannel) tested on Windows 11, Ubuntu 22 and macOS 10.15.
Updated•10 months ago
|
Updated•10 months ago
|
Updated•10 months ago
|
Updated•10 months ago
|
Updated•10 months ago
|
Comment 12•10 months ago
|
||
| uplift | ||
Updated•10 months ago
|
Comment 13•10 months ago
|
||
| uplift | ||
Comment 14•9 months ago
|
||
Smoke testing done on Firefox 115.26.0esr and 128.13.0esr builds, playback works on sites (Netflix, Hulu, HBO, Amazon Prime, Spotify, Shaka Player, Therokuchannel) tested on Windows 11, Ubuntu 22 and macOS 10.15.
Description
•