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 all 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#206 https://searchfox.org/mozilla-central/rev/a965e3c683ecc035dee1de72bd33a8d91b1203ed/dom/media/gmp/widevine-adapter/content_decryption_module.h#316 https://searchfox.org/mozilla-central/rev/a965e3c683ecc035dee1de72bd33a8d91b1203ed/dom/media/gmp/widevine-adapter/content_decryption_module.h#520 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.
Bug 1944386 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
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.