Closed Bug 2029073 Opened 3 months ago Closed 2 months ago

[wpt-sync] Sync PR 58961 - Media Capabilities: add encryptionScheme to decodingInfo

Categories

(Core :: WebRTC: Audio/Video, task, P4)

task

Tracking

()

RESOLVED FIXED
151 Branch
Tracking Status
firefox151 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 58961 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/58961
Details from upstream follow.

Sangbaek Park <sangbaekpark@google.com> wrote:

Media Capabilities: add encryptionScheme to decodingInfo

Based on the W3C spec for mediaCapabilities.decodingInfo
(https://www.w3.org/TR/media-capabilities/#is-encrypted-decode-supported:~:text=Set%20the%20encryptionScheme%20attribute%20to%20config.keySystemConfiguration.video.encryptionScheme)
, we should take keySystemConfiguration.encryptionScheme into
consideration. KeySystemTrackConfiguration had robustness field only.

The following JS script query returned "Supported" previously on the
device that doesn't support "CBCS" which is wrong.

async function checkMediaCapabilitiesDecodingInfoSupport() {
  try {
    const mediaConfig = {
      type: 'media-source',
      video: {
        contentType: 'video/mp4; codecs="avc1.4d401f"',
        width: 1920,
        height: 1080,
        bitrate: 1972240,
        framerate: 24,
      },
      audio: {
        contentType: 'audio/mp4; codecs="mp4a.40.2"',
        channels: 2,
        bitrate: 133940,
        samplerate: 44100,
        spatialRendering: false,
      },
      keySystemConfiguration: {
        keySystem: 'com.microsoft.playready.recommendation.3000',
        persistentState: 'required',
        distinctiveIdentifier: 'required',
        video: {
          robustness: "",
          encryptionScheme: "cbcs",
        }
      }
    };

    const support = await navigator.mediaCapabilities.decodingInfo(mediaConfig);

    if (support.supported && support.keySystemAccess) {
      console.log('Supported');
    } else {
      console.log('Not Supported');
    }
  } catch (error) {
    console.error('Error:', error);
  }
}

checkMediaCapabilitiesDecodingInfoSupport();

After adding the encryptionScheme field, the same script returns
"Not Supported".

Bug: 498284510
Change-Id: Idc1ae433ddd63d380bb02ecccfdbea9c985f5b3f
Reviewed-on: https://chromium-review.googlesource.com/7722637
WPT-Export-Revision: d9baee07b83c1f7d5b788bb040d0ae534c3d235a

Component: web-platform-tests → WebRTC: Audio/Video
Product: Testing → Core

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 12 tests and 38 subtests

Status Summary

Firefox

OK : 1[GitHub] 12[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt]
PASS: 18[GitHub] 259[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-24h2-debug, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-debug, Gecko-windows11-64-24h2-opt]
FAIL: 36[Gecko-windows11-32-24h2-debug, Gecko-windows11-64-24h2-debug] 42[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview] 44[Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-24h2-opt, Gecko-windows11-64-24h2-opt]

Chrome

OK : 1
PASS: 18

Safari

OK : 1
PASS: 8
FAIL: 10

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /media-capabilities/decodingInfo-webrtc.any.worker.html [wpt.fyi]
    • Test that decodingInfo returns a valid MediaCapabilitiesInfo objects: FAIL
    • Test that decodingInfo returns supported, smooth, and powerEfficient set to false for non-webrtc video content type.: FAIL
    • Test that decodingInfo returns supported, smooth, and powerEfficient set to false for non-webrtc audio content type.: FAIL
    • Test that decodingInfo returns supported true for the codec audio/opus: FAIL
    • Test that decodingInfo returns supported true for the codec video/VP9; profile-level="0": FAIL
  • /media-capabilities/decodingInfo-webrtc.any.html [wpt.fyi]
    • Test that decodingInfo returns a valid MediaCapabilitiesInfo objects: FAIL
    • Test that decodingInfo returns supported, smooth, and powerEfficient set to false for non-webrtc video content type.: FAIL
    • Test that decodingInfo returns supported, smooth, and powerEfficient set to false for non-webrtc audio content type.: FAIL
    • Test that decodingInfo returns supported true for the codec audio/opus returned by RTCRtpReceiver.getCapabilities(): FAIL
    • Test that decodingInfo returns supported true for the codec audio/G722 returned by RTCRtpReceiver.getCapabilities(): FAIL
    • Test that decodingInfo returns supported true for the codec audio/PCMU returned by RTCRtpReceiver.getCapabilities(): FAIL
    • Test that decodingInfo returns supported true for the codec audio/PCMA returned by RTCRtpReceiver.getCapabilities(): FAIL
    • Test that decodingInfo returns supported true for the codec video/VP8; max-fs=12288;max-fr=60 returned by RTCRtpReceiver.getCapabilities(): FAIL
    • Test that decodingInfo returns supported true for the codec video/VP9; max-fs=12288;max-fr=60 returned by RTCRtpReceiver.getCapabilities(): FAIL
    • Test that decodingInfo returns supported true for the codec video/H264; profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1 returned by RTCRtpReceiver.getCapabilities(): FAIL
    • Test that decodingInfo returns supported true for the codec video/H264; profile-level-id=42e01f;level-asymmetry-allowed=1 returned by RTCRtpReceiver.getCapabilities(): FAIL
    • Test that decodingInfo returns supported true for the codec video/H264; profile-level-id=42001f;level-asymmetry-allowed=1;packetization-mode=1 returned by RTCRtpReceiver.getCapabilities(): FAIL
    • Test that decodingInfo returns supported true for the codec video/H264; profile-level-id=42001f;level-asymmetry-allowed=1 returned by RTCRtpReceiver.getCapabilities(): FAIL
    • Test that decodingInfo returns supported true for the codec video/AV1 returned by RTCRtpReceiver.getCapabilities(): FAIL
  • /media-capabilities/decodingInfo.any.worker.html [wpt.fyi]
    • Test that decodingInfo rejects if the audio configuration contentType is not a valid MIME type string: FAIL
    • Test that decodingInfo with mismatched codec color space is unsupported: FAIL
  • /media-capabilities/decodingInfo.any.html [wpt.fyi]
    • Test that decodingInfo rejects if the audio configuration contentType is not a valid MIME type string: FAIL
    • Test that decodingInfo with mismatched codec color space is unsupported: FAIL
  • /media-capabilities/encodingInfo-webrtc.any.html [wpt.fyi]
    • Test that encodingInfo returns a valid MediaCapabilitiesInfo objects: FAIL
    • Test that encodingInfo returns supported, smooth, and powerEfficient set to false for non-webrtc video content type.: FAIL
    • Test that encodingInfo returns supported, smooth, and powerEfficient set to false for non-webrtc audio content type.: FAIL
    • Test that encodingInfo returns supported true for the codec audio/opus returned by RTCRtpSender.getCapabilities(): FAIL
    • Test that encodingInfo returns supported true for the codec audio/G722 returned by RTCRtpSender.getCapabilities(): FAIL
    • Test that encodingInfo returns supported true for the codec audio/PCMU returned by RTCRtpSender.getCapabilities(): FAIL
    • Test that encodingInfo returns supported true for the codec audio/PCMA returned by RTCRtpSender.getCapabilities(): FAIL
    • Test that encodingInfo returns supported true for the codec video/VP8; max-fs=12288;max-fr=60 returned by RTCRtpSender.getCapabilities(): FAIL
    • Test that encodingInfo returns supported true for the codec video/VP9; max-fs=12288;max-fr=60 returned by RTCRtpSender.getCapabilities(): FAIL
    • Test that encodingInfo returns supported true for the codec video/H264; profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1 returned by RTCRtpSender.getCapabilities(): FAIL
    • Test that encodingInfo returns supported true for the codec video/H264; profile-level-id=42e01f;level-asymmetry-allowed=1 returned by RTCRtpSender.getCapabilities(): FAIL
    • Test that encodingInfo returns supported true for the codec video/H264; profile-level-id=42001f;level-asymmetry-allowed=1;packetization-mode=1 returned by RTCRtpSender.getCapabilities(): FAIL
    • Test that encodingInfo returns supported true for the codec video/H264; profile-level-id=42001f;level-asymmetry-allowed=1 returned by RTCRtpSender.getCapabilities(): FAIL
    • Test that encodingInfo returns supported true for the codec video/AV1 returned by RTCRtpSender.getCapabilities(): FAIL
  • /media-capabilities/encodingInfo-webrtc.any.worker.html [wpt.fyi]
    • Test that encodingInfo returns a valid MediaCapabilitiesInfo objects: FAIL
    • Test that encodingInfo returns supported, smooth, and powerEfficient set to false for non-webrtc video content type.: FAIL
    • Test that encodingInfo returns supported, smooth, and powerEfficient set to false for non-webrtc audio content type.: FAIL
    • Test that encodingInfo returns supported true for the codec audio/opus: FAIL
    • Test that encodingInfo returns supported true for the codec video/VP9; profile-level="0": FAIL
  • /media-capabilities/encodingInfo.any.worker.html [wpt.fyi]
    • Test that encodingInfo rejects if the MediaConfiguration does not have a valid type: FAIL
  • /media-capabilities/encodingInfo.any.html [wpt.fyi]
    • Test that encodingInfo rejects if the MediaConfiguration does not have a valid type: FAIL
Pushed by wptsync@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/0d504401db6c https://hg.mozilla.org/integration/autoland/rev/c3e0297ba067 [wpt PR 58961] - Media Capabilities: add encryptionScheme to decodingInfo, a=testonly
Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 151 Branch
You need to log in before you can comment on or make changes to this bug.