Bug 1315850 - Ensure we query for the correct string in HavePluginForKeySystem. r=gerald
Otherwise navigator.requestMediaKeySystemAccess() doesn't know whether we have
a CDM or not.
MozReview-Commit-ID: Hic6UneGA4u
--- a/dom/media/eme/MediaKeySystemAccess.cpp
+++ b/dom/media/eme/MediaKeySystemAccess.cpp
@@ -94,18 +94,21 @@ MediaKeySystemAccess::CreateMediaKeys(Er
mKeySystem,
mConfig));
return keys->Init(aRv);
}
static bool
HavePluginForKeySystem(const nsCString& aKeySystem)
{
- bool havePlugin = HaveGMPFor(NS_LITERAL_CSTRING(GMP_API_DECRYPTOR),
- { aKeySystem });
+ nsCString api = MediaPrefs::EMEChromiumAPIEnabled()
+ ? NS_LITERAL_CSTRING(CHROMIUM_CDM_API)
+ : NS_LITERAL_CSTRING(GMP_API_DECRYPTOR);
+
+ bool havePlugin = HaveGMPFor(api, { aKeySystem });
#ifdef MOZ_WIDGET_ANDROID
// Check if we can use MediaDrm for this keysystem.
if (!havePlugin) {
havePlugin = mozilla::java::MediaDrmProxy::IsSchemeSupported(aKeySystem);
}
#endif
return havePlugin;
}