Closed Bug 2030484 Opened 6 months ago Closed 6 months ago

Netflix claims no HDR support on HDR capable laptop

Categories

(Core :: Audio/Video, defect, P3)

Desktop
Windows 11
defect

Tracking

()

RESOLVED FIXED
151 Branch
Tracking Status
firefox151 --- fixed

People

(Reporter: jimm, Assigned: alwu)

References

(Blocks 1 open bug)

Details

Attachments

(5 files, 3 external files, 1 obsolete file)

On an HDR capable Intel Arc laptop Netflix debug console claims Media Capabilities reports no HDR support. HDR is clearly working on other sites like youtube.

Attached file media-capabilities-test.html (obsolete) —

Adds an export results as text option.

Attachment #9567961 - Attachment is obsolete: true

Looks like Widevine content isn't reported as power efficient? The video codec in use by Netflix is AV1, and I have hardware for that.

Flags: needinfo?(azebrowski)
Attached file bug-2030484-triage.md —

I think if we have hardware to do the decoding, we should return true for power efficient.

Hey Alastor. I think the initial assumption was fine (non-efficient) but I'd like to update that. Do you foresee any negative side effects to switching the value to check for hardware decoding?

Flags: needinfo?(alwu)
Blocks: 2029169
Flags: needinfo?(azebrowski)
Assignee: nobody → alwu
Flags: needinfo?(alwu)

The DRM decodingInfo path previously determined powerEfficient solely from
IsHardwareDecryptionSupported(), which returns false for software-DRM systems
like Widevine L3 or ClearKey — causing powerEfficient to always be false for
those cases, regardless of whether the underlying video decoder is hardware-
accelerated.

Extract a CheckVideoDecodingInfo() static helper that creates and initialises
a platform video decoder and queries IsHardwareAccelerated(). When the DRM
path detects a software key system and a video configuration is present, it
chains CheckVideoDecodingInfo() to obtain the correct powerEfficient value.
Hardware-DRM paths and cases without a video track continue to derive
powerEfficient from IsHardwareDecryptionSupported() as before.

The non-DRM path already suppressed powerEfficient when resisting fingerprinting.
The DRM path had no such guard.

For hardware DRM (robustness "3000", "HW_SECURE_ALL", "HW_SECURE_DECODE"),
return supported=false/smooth=false/powerEfficient=false since hardware TEE
presence is a strong fingerprinting signal.

For software DRM under RFP, keep supported/smooth from the key system check
but force powerEfficient=false to suppress hardware decode capability.

  • Add GTest (TestMediaCapabilities) with HardwareCapableMockDecoder and
    AutoForcePDM to verify CheckVideoDecodingInfo returns the correct
    powerEfficient value for hardware/software decoders and under RFP.
  • Add mochitest (test_mediacapabilities_drm_power_efficient.html) to verify
    that software-DRM (ClearKey) decodingInfo exposes a boolean powerEfficient
    and that RFP forces it to false.
  • Add mochitest (test_mediacapabilities_drm_hardware_encryption.html) to verify
    that hardware-DRM (PlayReady via WMF media engine) reports powerEfficient=true
    and that RFP suppresses the result entirely; this test must be a separate file
    in mochitest_media_engine.toml because it requires the WMF media engine prefs
    that are not available in other mochitest suites.
Pushed by alwu@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/73c5d174941b https://hg.mozilla.org/integration/autoland/rev/4d0d2b0f54b2 Part 1: Detect powerEfficient by checking real decoder for software-DRM key systems. r=media-playback-reviewers,jolin https://github.com/mozilla-firefox/firefox/commit/a776f22e74d8 https://hg.mozilla.org/integration/autoland/rev/05b5fdb2ee9f Part 2: Add RFP guard to DRM decodingInfo path. r=media-playback-reviewers,jolin https://github.com/mozilla-firefox/firefox/commit/687704e08115 https://hg.mozilla.org/integration/autoland/rev/8544e0c54b0b Part 3: Tests for DRM powerEfficient and RFP behavior. r=media-playback-reviewers,jolin https://github.com/mozilla-firefox/firefox/commit/2e9e030e1568 https://hg.mozilla.org/integration/autoland/rev/bda11e53a190 apply code formatting via Lando

Backed out for causing build bustages at RefPtr.h
Backout link
Push with failures
Failure log(s)

Flags: needinfo?(alwu)
Flags: needinfo?(alwu)
Pushed by alwu@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/996ee103c983 https://hg.mozilla.org/integration/autoland/rev/3f7f577cbcf4 Part 1: Detect powerEfficient by checking real decoder for software-DRM key systems. r=media-playback-reviewers,jolin https://github.com/mozilla-firefox/firefox/commit/0926933690e2 https://hg.mozilla.org/integration/autoland/rev/83a1bdefc7fa Part 2: Add RFP guard to DRM decodingInfo path. r=media-playback-reviewers,jolin https://github.com/mozilla-firefox/firefox/commit/75f1a473ac14 https://hg.mozilla.org/integration/autoland/rev/eb2678c0676a Part 3: Tests for DRM powerEfficient and RFP behavior. r=media-playback-reviewers,jolin https://github.com/mozilla-firefox/firefox/commit/0e109d94fd4f https://hg.mozilla.org/integration/autoland/rev/cac63b0856ce apply code formatting via Lando
See Also: → 2032579
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: