From 3a44865b5a666ea5ca107e17bdb02190eac087e6 Mon Sep 17 00:00:00 2001 From: Marco Castelluccio Date: Tue, 21 Nov 2023 12:20:23 +0000 Subject: [PATCH] Bug 1862098 [wpt PR 42856] - Prepare to enable HDR media capabilities by default., a=testonly Automatic update from web-platform-tests Prepare to enable HDR media capabilities by default. I2S approved here: https://groups.google.com/a/chromium.org/g/blink-dev/c/0neM-5GDn8I/m/ymH32sDDAgAJ This cleans up an unnecessary feature flag and implements the rest of the feature per the current spec. Adds a test for mismatched color space information. https://github.com/w3c/media-capabilities/issues/152 covers how we should reject mismatched color parameters, though a PR to add it to the spec hasn't yet been made. Safari has implemented this behavior though, so copy it. Bug: 1048045 Change-Id: I4fee62361c697922bb041724f4e4ac8c8e9d5c2d Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4989038 Reviewed-by: Johannes Kron Commit-Queue: Dale Curtis Cr-Commit-Position: refs/heads/main{#1217958} -- wpt-commits: f1f1925c4876c73f932d35e0a038b619b861ed83 wpt-pr: 42856 UltraBlame original commit: 04c64b3491fa73115ddc56ccc442cb7655e7bd2e --- .../media-capabilities/decodingInfo.any.js | 192 ++++++++++++++++-- 1 file changed, 180 insertions(+), 12 deletions(-) diff --git a/testing/web-platform/tests/media-capabilities/decodingInfo.any.js b/testing/web-platform/tests/media-capabilities/decodingInfo.any.js index bd8e2a247fa0b..e72641cba9015 100644 --- a/testing/web-platform/tests/media-capabilities/decodingInfo.any.js +++ b/testing/web-platform/tests/media-capabilities/decodingInfo.any.js @@ -29,7 +29,7 @@ properties are missing . -var +const minimalVideoConfiguration = { @@ -85,7 +85,7 @@ properties are missing . -var +const minimalAudioConfiguration = { @@ -112,7 +112,7 @@ optional spatialRendering param . -var +const audioConfigurationWithSpatialRendering = { @@ -147,7 +147,7 @@ and transferFunction properties . -var +const videoConfigurationWithDynamicRange = { @@ -168,6 +168,16 @@ vp09 10 . 08 +. +00 +. +09 +. +16 +. +09 +. +00 " ' width @@ -184,20 +194,21 @@ framerate 24 hdrMetadataType : -" +' smpteSt2086 -" +' colorGamut : -" -srgb -" +' +rec2020 +' transferFunction : -" -srgb -" +' +pq +' } +; promise_test ( t @@ -2474,6 +2485,163 @@ t = > { +/ +/ +VP9 +has +a +default +color +space +of +BT +. +709 +in +the +codec +string +. +So +this +will +/ +/ +mismatch +against +the +provided +colorGamut +and +transferFunction +. +let +bt709Config += +videoConfigurationWithDynamicRange +; +bt709Config +. +contentType += +' +video +/ +webm +; +codecs += +" +vp09 +. +00 +. +10 +. +08 +" +' +; +return +navigator +. +mediaCapabilities +. +decodingInfo +( +{ +type +: +' +file +' +video +: +bt709Config +} +) +. +then +( +ability += +> +{ +assert_equals +( +typeof +ability +. +supported +' +boolean +' +) +; +assert_equals +( +typeof +ability +. +smooth +' +boolean +' +) +; +assert_equals +( +typeof +ability +. +powerEfficient +' +boolean +' +) +; +assert_equals +( +typeof +ability +. +keySystemAccess +' +object +' +) +; +assert_false +( +ability +. +supported +) +; +} +) +; +} +' +Test +that +decodingInfo +with +mismatched +codec +color +space +is +unsupported +' +) +; +promise_test +( +t += +> +{ return promise_rejects_js (