Bug 1846848 - part3 : add a way to get CDM capabilities from the chrome process. r=gerard-majax,jolin
Differential Revision: https://phabricator.services.mozilla.com/D194452
This commit is contained in:
@@ -19,6 +19,11 @@
|
||||
# include "mozilla/layers/VideoBridgeUtils.h"
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_WMF_CDM
|
||||
# include "mozilla/EMEUtils.h"
|
||||
# include "mozilla/PMFCDM.h"
|
||||
#endif
|
||||
|
||||
namespace mozilla::ipc {
|
||||
|
||||
NS_IMETHODIMP UtilityAudioDecoderChildShutdownObserver::Observe(
|
||||
@@ -173,4 +178,33 @@ bool UtilityAudioDecoderChild::CreateVideoBridge() {
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_WMF_CDM
|
||||
void UtilityAudioDecoderChild::GetKeySystemCapabilities() {
|
||||
EME_LOG("Ask capabilities for all supported CDMs");
|
||||
SendGetKeySystemCapabilities()->Then(
|
||||
NS_GetCurrentThread(), __func__,
|
||||
[](CopyableTArray<MFCDMCapabilitiesIPDL>&& result) {
|
||||
for (const auto& capabilities : result) {
|
||||
EME_LOG("Received capabilities for %s",
|
||||
NS_ConvertUTF16toUTF8(capabilities.keySystem()).get());
|
||||
for (const auto& v : capabilities.videoCapabilities()) {
|
||||
EME_LOG(" capabilities: video=%s",
|
||||
NS_ConvertUTF16toUTF8(v.contentType()).get());
|
||||
}
|
||||
for (const auto& a : capabilities.audioCapabilities()) {
|
||||
EME_LOG(" capabilities: audio=%s",
|
||||
NS_ConvertUTF16toUTF8(a.contentType()).get());
|
||||
}
|
||||
for (const auto& e : capabilities.encryptionSchemes()) {
|
||||
EME_LOG(" capabilities: encryptionScheme=%s",
|
||||
EncryptionSchemeStr(e));
|
||||
}
|
||||
}
|
||||
},
|
||||
[](const mozilla::ipc::ResponseRejectReason& aReason) {
|
||||
EME_LOG("IPC failure for GetKeySystemCapabilities!");
|
||||
});
|
||||
}
|
||||
#endif
|
||||
|
||||
} // namespace mozilla::ipc
|
||||
|
||||
Reference in New Issue
Block a user