[wpt-sync] Sync PR 58961 - Media Capabilities: add encryptionScheme to decodingInfo
Categories
(Core :: WebRTC: Audio/Video, task, P4)
Tracking
()
| 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 takekeySystemConfiguration.encryptionSchemeinto
consideration. KeySystemTrackConfiguration hadrobustnessfield 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
encryptionSchemefield, the same script returns
"Not Supported".Bug: 498284510
Change-Id: Idc1ae433ddd63d380bb02ecccfdbea9c985f5b3f
Reviewed-on: https://chromium-review.googlesource.com/7722637
WPT-Export-Revision: d9baee07b83c1f7d5b788bb040d0ae534c3d235a
| Assignee | ||
Updated•3 months ago
|
| Assignee | ||
Comment 1•3 months ago
|
||
| Assignee | ||
Comment 2•3 months ago
|
||
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
- Test that decodingInfo returns a valid MediaCapabilitiesInfo objects:
- /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
- Test that decodingInfo returns a valid MediaCapabilitiesInfo objects:
- /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
- Test that decodingInfo rejects if the audio configuration contentType is not a valid MIME type string:
- /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
- Test that decodingInfo rejects if the audio configuration contentType is not a valid MIME type string:
- /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
- Test that encodingInfo returns a valid MediaCapabilitiesInfo objects:
- /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
- Test that encodingInfo returns a valid MediaCapabilitiesInfo objects:
- /media-capabilities/encodingInfo.any.worker.html [wpt.fyi]
- Test that encodingInfo rejects if the MediaConfiguration does not have a valid type:
FAIL
- Test that encodingInfo rejects if the MediaConfiguration does not have a valid type:
- /media-capabilities/encodingInfo.any.html [wpt.fyi]
- Test that encodingInfo rejects if the MediaConfiguration does not have a valid type:
FAIL
- Test that encodingInfo rejects if the MediaConfiguration does not have a valid type:
Description
•