commit 6b72fc19a379e951ce66aec7d0ff4663bb08f4ec
parent bdd147ba6aa33bfbccd1e47ababfaeee943ca86a
Author: alwu <alwu@mozilla.com>
Date: Tue, 28 Oct 2025 20:07:27 +0000
Bug 1996954 - treat `MF_E_POLICY_UNSUPPORTED` as a non-recoverable error. r=media-playback-reviewers,jolin
According to Microsoft, MF_E_POLICY_UNSUPPORTED is a non-recoverable error and
should be surfaced to the website. The pipeline automatically handles outputting
video at a lower resolution if the content license and current playback
configuration allow for it. When it’s not able to do that, it will trigger
MF_E_POLICY_UNSUPPORTED.
Some content can continue playback at a lower resolution on a
non-HDCP-compatible display, while other content may fail with
MF_E_POLICY_UNSUPPORTED.
Another aspect here is that constriction is not supported with hardware DRM. So
if hardware DRM is being used during playback of content with a license that
allows constriction when HDCP is not enabled or supported, playback will still
fail with MF_E_POLICY_UNSUPPORTED upon connecting a monitor that doesn’t support
HDCP.
Differential Revision: https://phabricator.services.mozilla.com/D270395
Diffstat:
1 file changed, 0 insertions(+), 9 deletions(-)
diff --git a/dom/media/ipc/MFMediaEngineParent.cpp b/dom/media/ipc/MFMediaEngineParent.cpp
@@ -305,15 +305,6 @@ void MFMediaEngineParent::NotifyError(MF_MEDIA_ENGINE_ERR aError,
if (aResult == MSPR_E_NO_DECRYPTOR_AVAILABLE) {
NotifyDisableHWDRM();
}
- // https://learn.microsoft.com/en-us/windows/win32/api/mfmediaengine/nf-mfmediaengine-imfextendeddrmtypesupport-istypesupportedex
- // This error indicates an invalid HDCP status, which should be hidden
- // from users to allow playback to continue. The CDM will later notifies
- // of the key status change to `output-restricted`, so the web application
- // can be aware of it.
- if (aResult == MF_E_POLICY_UNSUPPORTED) {
- LOG("Ignore MF_E_POLICY_UNSUPPORTED, not a real decode error!");
- return;
- }
#endif
(void)SendNotifyError(error);
return;