From 25a0c6303ddf7fa29a5c1db397d6bf15b85dbdf6 Mon Sep 17 00:00:00 2001 From: Harvey Zhao Date: Tue, 15 Sep 2026 03:07:20 +0800 Subject: [PATCH] test(ci): [CI-01] verify installed MediaBunny browser matrix --- .../ARCHITECTURE.md | 17 + .../ci-mediabunny-installed-validation.json | 5052 +++++++++++++++++ .../2026-09-15-CI-01-mediabunny-installed.md | 44 + refactor/plan.md | 2 +- refactor/progress.md | 9 + refactor/tasks.json | 4 +- scripts/browser-validation/README.md | 9 + scripts/browser-validation/scope.ts | 13 +- scripts/package-check.mjs | 1 + test/browser-validation.test.js | 3 + test/browser/mediabunny-audio.spec.js | 7 +- test/browser/mediabunny-capability.spec.js | 7 +- test/browser/mediabunny-dpip.spec.js | 9 +- test/browser/mediabunny-entry.spec.js | 7 +- test/browser/mediabunny-hls.spec.js | 7 +- test/browser/mediabunny-inputs.spec.js | 7 +- test/browser/mediabunny-load.spec.js | 7 +- test/browser/mediabunny-shim.spec.js | 7 +- test/browser/mediabunny-video.spec.js | 7 +- test/browser/mediabunny.spec.js | 6 +- test/helpers/mediabunny.js | 12 +- test/package-check.test.js | 10 + 22 files changed, 5228 insertions(+), 19 deletions(-) create mode 100644 refactor/baselines/ci-mediabunny-installed-validation.json create mode 100644 refactor/changes/2026-09-15-CI-01-mediabunny-installed.md diff --git a/packages/artplayer-proxy-mediabunny/ARCHITECTURE.md b/packages/artplayer-proxy-mediabunny/ARCHITECTURE.md index 62605c819..7226b12a7 100644 --- a/packages/artplayer-proxy-mediabunny/ARCHITECTURE.md +++ b/packages/artplayer-proxy-mediabunny/ARCHITECTURE.md @@ -315,3 +315,20 @@ races using the actual new/old cores and SDK with controlled query ordering. PKG validation. PKG-MB-10 owns the demo, installed package and MPL/source notice gate. Windows WebKit without WebCodecs/Web Audio is recorded as a capability failure, not successful playback or a claim about all Safari installations. + +## Installed browser validation + +Run `yarn test:package --browser`, then pass its browser-artifacts.json as +ARTPLAYER_BROWSER_ARTIFACTS to `yarn test:browser:installed mediabunny`. The shared +roster includes this proxy and Document PiP. All ten MediaBunny browser files use +the verified installed UMD, including its bundled SDK; they never silently rebuild +a candidate when an installed map exists. Baseline and artifact overrides are +rejected in installed mode; its runner also rejects the candidate-only flag so +historical controls stay present. Source mode retains these explicit diagnostics. + +Available-input attachments are an inventory, not proof that every listed input +ran. Each observation identifies the selected implementation and its provenance; +PiP combinations identify both packages. Local MP4/WebM/HLS fixtures remain test +media, not npm assets. Actual decoding, controlled races/unsupported decoder +branches, missing browser APIs and physical device evidence stay distinct. This +CI coverage does not close PKG-MB-09/10 or establish long-run/acoustic acceptance. diff --git a/refactor/baselines/ci-mediabunny-installed-validation.json b/refactor/baselines/ci-mediabunny-installed-validation.json new file mode 100644 index 000000000..89dadc9fd --- /dev/null +++ b/refactor/baselines/ci-mediabunny-installed-validation.json @@ -0,0 +1,5052 @@ +{ + "task": "CI-01", + "status": "doing", + "capturedAt": "2026-09-14T19:05:57.364Z", + "sourceHead": "8379ac7bbfa266d79362705b8604338d83c636a5", + "environment": { + "node": "24.21.0", + "yarn": "1.22.22", + "platform": "win32", + "engines": { + "chromium": "153.0.8010.12", + "firefox": "155.0", + "webkit": "26.6" + }, + "remoteCI": false, + "physicalDevices": false + }, + "collection": { + "tests": 1536, + "files": 49, + "executedAll": false + }, + "packageReport": { + "path": "refactor/.cache/packages/run-cblqI3/report.json", + "sha256": "2c13940506622f7f4ce9b73f2d68a13f585fba7f2c5953ddd4c88b6e609831ba" + }, + "inputs": [ + { + "name": "artplayer", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer\\dist\\artplayer.js", + "member": "package/dist/artplayer.js", + "sha256": "9148a369636f814b03e6a1ed2a7db222a31b159f93e8a94d52c5a9dde2dfe6a6", + "archiveSha256": "084261f603cb9e138bb33c013c64ba09d76137f438eba7be685b86e57afa9a01", + "sourceHashes": { + "src/accessibility/button.ts": "e5afa7aade56116082f54678c44961157950fa550d66e21a4e1ff9bb5369a6f8", + "src/accessibility/focus.ts": "2fa16941ac3632cb1e4b466e9a7e29700ef97b7eb2facd4330c59ec0a9320594", + "src/accessibility/keyboard.ts": "2d82122732f84f39e59c6852ca081614caa6430a82b32c4749e297826c77eb12", + "src/accessibility/moved-focus.ts": "c3d2a7d496381b2a86819b82fbd26cc940a1204fdf19408ccc8db267741d96c9", + "src/accessibility/overlay-focus.ts": "93fa088daaa3afed88f645507828a10cb63292937c49b16f6c2a0ea895897878", + "src/accessibility/player-focus.ts": "e8fd5222cbfc38cd4938324c83d9f5cef3d01a439464e1570d63a5131c84f20a", + "src/accessibility/slider.ts": "cfc9237d8db8fe7db3c4a0201ae83f0c4027603e647636545ba7b7e891fef5dd", + "src/accessibility/suspend-focus.ts": "d95c6097236be66e252165287435cca01b50553d64259add6b011721e4bbc644", + "src/bootstrap/browser.ts": "8d401627e8ea1c87fb44204227b04177a70cc7a0f79f95fb5dc73fe828e46a8c", + "src/capture/frame.ts": "eb25d81ec2d40a239103c63cfd80333705251291f2c2da77c740b4d413ea9cd9", + "src/component/dom.ts": "740f63e6e5942c444b9f05605880f8d56a77b066dbe5c4791da74f78cb96c668", + "src/component/focus.ts": "f4aff802711f6146c80e8c6bd90bc2cb406ccbdb581aef41f436ff5c03871ad3", + "src/component/resources.ts": "ff158ef0db8ba13343ff6ba329713820cfe2f5c2c446a7873a6cfff782855edf", + "src/component/selection.ts": "1f0bd089415da28db862647ffd1a0b4af752576465fb616d4b97ae4f8dcae3a7", + "src/component/types.ts": "d7b0e7008b0f6c82e3e97ac43e0188598dca4f740a860e7a60b3b38a46f4565d", + "src/config/index.ts": "a56b4d3d6942cfa3e2b47f909fc5ad87e6e3202fd61b29c7afd7649049e31d05", + "src/contextmenu/aspectRatio.ts": "18ab60c9acee1e0cecd76c0b6cf750763eed7cfbede4220328b5200154c5c478", + "src/contextmenu/choices.ts": "6bb880b27afc9457442c3973992da6dc8da48fc61d6b66b3b5a3bb4fc4651dc8", + "src/contextmenu/close.ts": "84b7a96df910e6f38140df8b1e73519d209a7331e9be9f42d076ae791757024f", + "src/contextmenu/flip.ts": "a7a4ac375da45dc7b6c996d4534098838646a078abfc4438f688e91e14ef0b38", + "src/contextmenu/index.ts": "7532165d162fa463f1fe3c538d6bda0f579b5907b05137382efeb0018719b011", + "src/contextmenu/info.ts": "f37cf0104510c13a130d2f55114c8f7ff15cc1b51863f97e60825442bdb2bf01", + "src/contextmenu/keyboard.ts": "eaa1af6b1abf8947d957208a0535f1b34f6c88e95394efd56cae905ccdea564c", + "src/contextmenu/playbackRate.ts": "7e06bb6fab3acdd71fb3ed63f77083172af517b49c1ecaefa3ee6a9068bdfe54", + "src/contextmenu/position.ts": "851ed1a884a13fbe430be77e7f72ae46d8a719175647e058644834aabd27ac58", + "src/contextmenu/types.ts": "a93fc90f4e17b731e8f6b486a507117810b61c1f1b0d9e775eba27dabeaeee1d", + "src/contextmenu/version.ts": "0553a716be0ba49f614059c41eef6dc694a9641fca79e6448b1b30382c6b582b", + "src/control/airplay.ts": "539bcc3671c7fe428ab95f9fea8a4943444066bcb742c7cf71591ba347642547", + "src/control/builtins.ts": "2a0e12a9741713c92938e1d2009149bbbde498284aa85c63f270d02b27dc22b1", + "src/control/fullscreen.ts": "7f8a9e8915abf9cbb9dda05b5c68523a47cc0ccf9ef5e0d9b82bc5c362fe346d", + "src/control/fullscreenWeb.ts": "9cb30987a3d2cbb334a80d3f2c41f39fd339bf37a9524c7ed0145cf5c98f1859", + "src/control/index.ts": "0d8e5a281f2eeba06c4cc4ac5a042847df53db1a19fdf140efea17d6ab2c0b78", + "src/control/layout.ts": "72e0b95bc632561e97569d789b76d16f36edd94eac8c62ba9e1918c9a222d328", + "src/control/pip.ts": "b829a7c83c5efa6751c2e434345e077339c9f5bc5022af9973f181ca8ce7f7ce", + "src/control/playAndPause.ts": "20ed88bcc7ac7622e02a7c4e6be518582c05f0d7c571a97a54b851d79dcf13c5", + "src/control/progress/interactions.ts": "da03600375451ecf8c152be5afcc5f1a4f8b759e837bbd54b7faaf8f8b228497", + "src/control/progress/keyboard.ts": "03d1d47e6641ea08f765d731f10a6aad35f7c3edc16aa97df822c5f9a7f75eb0", + "src/control/progress/position.ts": "a3794ab5ac5dafa5fd61e56acb12c94998bd4b9065dbf0fa4739c6bba1094aa1", + "src/control/progress/view.ts": "60ee16d5170be81b8132bb56dd0bc0eaf23e50f5c268d0697c9187b38a14aba9", + "src/control/progress.ts": "629c622864619e2515b2eacb1bdfcf523ccce7ce680c8fdf51812e8e50a0cc7e", + "src/control/resources.ts": "16fd7c53ac8f47b333041c4f298313390dc102523d47767b8a16f39a2564ba74", + "src/control/screenshot.ts": "11a1e3da919e476e7882abc3f74aaa809c3e9fc1de4346ec808731f78b6f27e2", + "src/control/selector-keyboard.ts": "6a749f48b23cda62148298e648bb380a6067cc18c7be4258b9ec85c382a56165", + "src/control/selector.ts": "a6f0c564c674530da9a0e4ed8762c6dfb81fa89373d64313e1020550731441f6", + "src/control/setting.ts": "10ee1118858c41f2e97a6df70d6d5dc978757d0e5d79ec36c11e743e6df86726", + "src/control/time.ts": "fa572092e0848878689367fb536e9658d13888d0a0d476babc5acd165af0f8d3", + "src/control/types.ts": "454846310d4fc3a8576ba030c2e8428bb795cde7b89308d29943bb4d4bc2aaa4", + "src/control/volume.ts": "45474d8d7f43d59263aa42e774eaaafeb45530ec24b81a5f589f6c906954568b", + "src/display/fullscreen-abandoned.ts": "1715b30d336976921b4957b444418702b7d93dbf1debce47429269638d15810f", + "src/display/fullscreen-adapter.ts": "71da10ec21c7706a8264badedac9022c74b865887931e9e369168fe3233c3b2f", + "src/display/fullscreen-request.ts": "c6292ded96aab0f2dbc978af251f6cd9f5fd074819529ca498077db8d14e1bfe", + "src/display/mini-drag.ts": "73d2f48f868c0ba4d8d5e5df40cbbdb4698c26540f3973b178d9cd374008f1cb", + "src/display/mini-focus.ts": "1f717619e183b1cfab668bd2e41c8e9ba02210c94cdb58034ec97aa41e71aa34", + "src/display/mini-layout.ts": "3835fe3d314da2fc624cbeb0e79fcdfa5393f08d87dfde730d2eac4e827f405b", + "src/display/mini-view.ts": "bbe69e4419ffc0f6c744cb730a51778f23c311a0fac157223bcf8d8bf0f3edc7", + "src/display/mini.ts": "a6fed598428bbf8d52931f21bb68b7560a3643d2576f7e7bfbae98b2f7cdd1e5", + "src/display/native-fullscreen.ts": "323401f2b3ea5186da981a1215b1b9e7dcf4ef4261a8e885fe8ff0c090de6a7a", + "src/display/native-pip.ts": "647879ae027cc0ebe684daa31d75511dd882e123e4ca8da2942e659bae3719f2", + "src/display/orientation-native.ts": "909980ba837471d9b456545a18fb0ab19f0990e8788936f0580a4b332cd4baee", + "src/display/orientation-types.ts": "0d68d2bc99d04db1e2fdf16b74e406e31f8b7e03fd9b6ea271773ed263ffa890", + "src/display/orientation-web.ts": "aea55c3b9e8c708fe5559f07cf8f0afd7ad37ac5b1a43bf519245c3072ec4129", + "src/display/placement.ts": "dbe4491ebd0f46b4efe13ac567e476fcd9ca5b84da675f19025935b5e3f8d733", + "src/display/sizing-types.ts": "da9b3d957dafaca9331f7319257dd8156b3c3e7b6db11f33f11ded48512450ad", + "src/display/sizing.ts": "c19856976320f1f35ff5a1049d19a940768300e095270b336dd12861b200da2a", + "src/display/types.ts": "e88c868fd370fcc9dc612489992d446a8d0558bd87c26c5c05fdd73d8a3d1b02", + "src/display/video-fullscreen-state.ts": "5fcb5e6b80ac45577664ef67e0460e0ceefd4022cafacdd7434c376a86d619be", + "src/display/video-fullscreen.ts": "b425bf0df462524b5d3accc9e3df383c6635676c152bf4bef09c477a90662728", + "src/display/web-fullscreen.ts": "13f901d20a31a7b8e4ebfbcceac5d3e0737df6335b71f0dfed638785bc413a5a", + "src/display/webkit-pip.ts": "3617927b4bb8fa46f651d0e584141f804ae438e2b4531cc2e9cf9f7eeb027550", + "src/dom/event-path.ts": "e952ea847a2e844a79c5c1b83035e03917e0294b80b1eb8af3b3bec0d2f7d333", + "src/dom/measure.ts": "84a599351d26a790c5a8f6e7d271486a0a68d5b58457d8ce754d540b54902b96", + "src/dom/presentation.ts": "500bded394579dd8194778f73cc44d0724f0a59cb5400957491928534ed091c6", + "src/dom/styles.ts": "734e0a4e04d666417a18ac09ed6271ee7630c399d52d7f510a1c19fd6e7b3493", + "src/dom/tree.ts": "3bc517ab9fa5317a1445156d53afb27182685eb3b4c0ac2ff41bbde55c9eecb6", + "src/events/clickInit.ts": "bd1ba29fe0af4332ceb19297797c4c942a3a74bfd901998d6b93293f1b309300", + "src/events/core-types.ts": "a607a3b2eea1b031f23ec0f620f1f4cd68799c4a77138a1443ecb196b00d1662", + "src/events/gestureInit.ts": "9e9d1ac0da7f87e89dd0d86fa2820b980e9cb810782d6ab30017de8686fc910b", + "src/events/global-types.ts": "3f4672d7af959cfa34ba39aa84ce614f422901437686bba98b14f578df40021c", + "src/events/globalInit.ts": "6f6ea497a20a8fd0746b1f020caff76ad6817cd70a1a90fbaea12f992b6d03a7", + "src/events/hoverInit.ts": "d1250e0dd35a8ba8067275986acbe6320c22adf1a977ec1009c0c012ed1563fe", + "src/events/index.ts": "30d2286316dbd351e93f5a2234dcca84bf68ca28c05921169cca70c2e0b1ecf9", + "src/events/listener-registry.ts": "fb062df5151c4e8e970de469f1c7d9af948f72214d32c293c81a5feeb8406124", + "src/events/moveInit.ts": "da97591723f8b94a34702559b7ee67a35f172aa696d37dfbecd472581ad3de35", + "src/events/resizeInit.ts": "719e27d11d2f93fcbe8368393c9190e251fc86dd0c3c2919f60e9b3b1edd0192", + "src/events/scheduling-types.ts": "0fd98e94397064f32cae4c004d9932c006d2db69a7d6d9374ff174d74ff93cd4", + "src/events/subscriptions.ts": "98573ed6cce73a73467c0e7fdb8ddc45e66b6bdf684c38886749453b2002a1d8", + "src/events/types.ts": "df03625039605314a96ef15b5e3777cbb9d444fd317e1a2fbeaaa0f1e83f6b0f", + "src/events/updateInit.ts": "6f174db14d20319f03a76e6ea267a3d71973faac44a92483badfa4420791817a", + "src/events/viewInit.ts": "d77b83eab802ff0046a4966e28b810a25592bcada49f526adae37556c1e4c3e9", + "src/events/viewport.ts": "6196fccb8b08ae22bde732c4389d9aceb5d727a63efd87b6d3914e338aadc46f", + "src/hotkey.ts": "d8e477bf451143e566e1f743a5f253dcf00beb23544709794779f275e11498e8", + "src/i18n/ar.ts": "897d8935384da16c3c4e96480777fe7fc022f6e3c0d87f62f79ae5f3c98e228c", + "src/i18n/cs.ts": "cc154ee50d258495d04dd2d49e89e9c0166e8b368969c443ec80cb5e48cf357c", + "src/i18n/es.ts": "0ed0283cb78847d6d1674be8c8ffa45feab88beaa8dbd11954b793c7b1657c75", + "src/i18n/fa.ts": "a72e83717f2e3e8f19f1de82516aef4a54ea70563223637bcbb25d21e9eac084", + "src/i18n/fr.ts": "a7366c75530e87f069216e20a6f09da42f7e77fdce862c02b32acf311068124b", + "src/i18n/id.ts": "146bf4c4e5bb39d8e1eb1a6fe3c639eb3128c55789de20511201f8ec02c56c0e", + "src/i18n/index.ts": "09c6f5bce58e4118dde10e8b2a2d3808785b7fde913a54dd189e0b473e21266a", + "src/i18n/pl.ts": "420f3b620d5c7ccdeba7857872be6176239fdf5da30b9cc72341e85dc95c2c8d", + "src/i18n/publish.ts": "5b216bbe313b3cda56a5da41fba4fb9d095eeec0dc903fcf284ddd8f94926e99", + "src/i18n/ru.ts": "9a9f61e6a66b3cd884c609250bf765dcdbc850dae3270d8a1600a5c2542436d3", + "src/i18n/tr.ts": "631c262a5e6cd00fada5bf2e146007d845816e47edb7643ec792250a403e4ec6", + "src/i18n/vi.ts": "e6f3f8e53599e27755e162c76c3b049457aae7089eca73ee531986e67f517f6f", + "src/i18n/zh-cn.ts": "51eb75562ae1ae4e248e1db85c90bcbc69b388a177ada6cbf8c3196a2c343ac6", + "src/i18n/zh-tw.ts": "6b098739e27ad531172d0f13e53849be30e9936365ce9613a7d938d9f01cce53", + "src/icons/airplay.svg": "20802c6735f2489bb6ce4221b519437095c54a3d2c4adbbab3319bb30536f285", + "src/icons/arrow-left.svg": "f1570036b739b0a67fab9261284aa3a13afe277e4c11aba7ab142503e7cce9ba", + "src/icons/arrow-right.svg": "6ffd8eb809152fe54b863bb890b9384d6f8788d129d604d70897fc9bb4398280", + "src/icons/aspect-ratio.svg": "987752a87701523057d8dfa7c45a6a139c4542b96fdcfaf8665722bbeb41f3b2", + "src/icons/check.svg": "7d06c8797e3a71fa7439eda4ea5ae62378e1a974907733e1cdf413db4af99b0c", + "src/icons/close.svg": "bb9e23e5305d11ec3d8f75a50ecdf3150deab8614c7df2af588873f2d78f06c2", + "src/icons/config.svg": "e1884d5411296b5cd1bfec7803b558b0afa5ab64478393977b07a662e2e0f15c", + "src/icons/defaults.ts": "31df862d754922fe5d68b20911c477d7c22893a6a67b5dcb1a48d3b437a0b23a", + "src/icons/error.svg": "d85a72e27ceaa38221637405cb0a5be270a297da58f1b0428498f568fab7570a", + "src/icons/fast-forward.svg": "629cb09ab7e2966c1fc2c04d9b0ee427b71b71abbc437b1db6635992cbe36d83", + "src/icons/flip.svg": "78044b69504710080044315a017f4836d56edce517c210ced3969756818f5b6a", + "src/icons/fullscreen-off.svg": "185b49ff4b0383974cb15a8fda1ba413dc99a133d4a02a4b72c75381d52515f4", + "src/icons/fullscreen-on.svg": "2d71a366b612e29cb2d9cb23c05a75389f794d90646d28bb8a2ac740861a5daa", + "src/icons/fullscreen-web-off.svg": "b4c81bbaa2ea91858b138083df0515c87f4ab8aa70df95ab9eb79e627ab47c7c", + "src/icons/fullscreen-web-on.svg": "4f0a8f688c44aab286bd2d12ab240ab33207664498d3f9fd0a752b53a3c1651f", + "src/icons/index.ts": "7152126328f6e485ee92b6d924c34776518b4a3925b2887867b516f7523b15cc", + "src/icons/loading.svg": "c0f4fd4e243012f1ab67429c99b41e7f8828c66b4ca228e3c6b2d1b6ca629e90", + "src/icons/lock.svg": "571221f734ec224e03f5023d136bca2186f58d768a6ea262881a4c6b49dc283a", + "src/icons/pause.svg": "9efe05ebf5610befddebcac51b3c9a491001189ff86204cb47928eb1617f6c7a", + "src/icons/pip.svg": "36a01d01d140fea05bd7c4eced17c29bc59f73990ed70807d8184ff09f57f50b", + "src/icons/play.svg": "c35562d20028d52ce329f35f90496a06d4dc5b6dc39df7ebcfb027f6f2393958", + "src/icons/playback-rate.svg": "872deecac0365ab04aeb5ccb1cdd9a0c88589a1442709fdac7c0ed12a241ff2b", + "src/icons/screenshot.svg": "49f7d90198fb0bcbc29848f40b0a8c042b78c07ecef1cfc5184e2e84a61b4bd4", + "src/icons/setting.svg": "7f6454d1c7f037d5a7144a898abedc89ca339534166d620dfa45efcd4c74ee3c", + "src/icons/state.svg": "63b56ffbfbba6e9ffe8fd050b3894c033cf30b166bcce9e717b42a9dc42d6424", + "src/icons/switch-off.svg": "aa4b81a9684e02323c32eb58e9a3e409a8f5abac4b8928b176092bf55baec4c0", + "src/icons/switch-on.svg": "1d87b42af5e7141f9defdc790567534288d84858d5068dd15093d5ef12f37f9c", + "src/icons/unlock.svg": "6dc8d6062af2f38efe12ddf4772e97d3f3114a28b885ee90067a4527e1ad6007", + "src/icons/volume-close.svg": "b9dbeaf9043c8014cd29d0e4a21a82ce567bc6b85497c310cca5f68bceeb31b2", + "src/icons/volume.svg": "baebc4ede3013202a4b13202a8d961cb0e5e065ee03733816022b2541d13884f", + "src/image/load.ts": "b4f1517243249d5fb017b89f993660e8b148906bbf28d08fe5c9f6d3a41e1e88", + "src/index.ts": "20cfe3738b3ce7e11b69721a5f0bdad9db77807417d8e421397a40dfade4c047", + "src/info/keyboard.ts": "13a6f617514388b4d14e0bf752780937f2baf545edb216b8259f56a198112c83", + "src/info/poll.ts": "d26ff67d9eadf1e032445371dde6f15293a7fc0b2ae6b87c3815e4b4e1ed5dda", + "src/info.ts": "6594ff3ee5643d63fec874631865d0e35b4ebdcf8aeafdd9fd3d9c595cfa3713", + "src/input/gesture-controller.ts": "1ebbd18184771a623b02ec19c363f84dcc72fdb7cd82bcf2adc97f4a138cb2b4", + "src/input/gesture-direction.ts": "65737f60e177338ebb3337a13ca75aeae77d77e94bc21495ddb829cc30de33a7", + "src/input/gesture-types.ts": "5ed25db69e0d9579a2fc0ab6faadf00fa073ad73a1ea5aa48096b4430c71141a", + "src/input/hotkey-defaults.ts": "c28e14821e5c7f7ac92a302e92439ab68fe77d5ef7d90a36b147b7c979ab96c6", + "src/input/hotkey-types.ts": "c7232470d725f3700481ab98bf9203403a67f1ab82e72394baa9c3ad6f3c9a4b", + "src/input/keyboard-focus.ts": "270c9dba40c0eb6d9fb36118b53e7f1d42a301ba4514917849523b6a05ed9e11", + "src/input/long-press.ts": "110cf16cf9dae845597377ebbc43249e103cbc0ece56f89e44ec6ecc7f3819b0", + "src/input/pointer-focus.ts": "802087098c786135eefa6727f13177ffe4a98e2abf48fad0e356b91e26960077", + "src/input/pointer-types.ts": "63e679498f8f42f6842f63e910c38717ac3438d58df3a75ef5b77c009b7931d4", + "src/layer.ts": "4014268eed043d5dd7b925cdeef6245e357cda67192a1301c5612ef98cdbec12", + "src/libs/screenfull.js": "2332b50c0c6364d5c99080be0f5739255e4b9e465d2cca40f761adce9a1908f8", + "src/lifecycle/instance.ts": "3168f7db4271bae7a242e80798546b755ac15443e15dd9ebb7675f5a259299d8", + "src/lifecycle/resources.ts": "b743daeffb676bb0b31932c3198fa9cf842f5e9015344659594ffffe1a56ba23", + "src/lifecycle/scope.ts": "e2188e8544b27cf8c7ac149e7146af628a2d6166c82b719a247adef5d85be5db", + "src/lifecycle/template-rollback.ts": "7a83da6739bcec1587b02f8157934988910d7f9103fe489a0d6f4f65290c3d77", + "src/loading.ts": "216fa5e2af5be5fcbf95a1578c869553a02f625683a98333d4a404f9a70df9f5", + "src/mask.ts": "500b8c2fb5ded63d5acab3c984fc9757f28a8b6cbd4d5beeac8c5a6d73ca63e4", + "src/media/events/forward.ts": "6b1b7e80036bfb523b51843dc6ec6d83c2b949cefb9cef085b2d679a444e46d8", + "src/media/events/listen.ts": "4eb7e943c1ebca77da8025d83b7d408276187cd02860b7793284344378bd0fe0", + "src/media/events/playback.ts": "2c68e4f6274a0dc65e56d42c928e500fc1d63bf3e03bbdd8a83c3f3ed7ae8ee4", + "src/media/events/readiness.ts": "3ba74f26dd9ff0729967097c2cb6f329a9cea57745bfe8173f9173e0d134476a", + "src/media/events/reconnect.ts": "876027b5116d0d3628755705682b30630f4b713199ed8015541932d81d2944be", + "src/media/events/types.ts": "02bd29ad8b158fa04ce5c1524e397260ef24b94c2cf1f053e7bd02b23e5d29dd", + "src/media/hosts.ts": "498d1cde31bf9ee12af1f13523eb0a4553adb285264529378abba5b629829e9a", + "src/media/playback.ts": "b0364027e1ea26e44e435a938e93c022836885c2622cda6bc3a7ca791d3c2964", + "src/media/position-revision.ts": "ba074cce7e7c6bda84aa234de8eb315e5ca482aa9b06250896f9ac6251192851", + "src/media/types.ts": "96d4a7f066cbb6fb9138165dd736b4ca500cb19c827bd7702134d61c44cc0e87", + "src/notice.ts": "4faa700323a8fdfd91a59491a5f57da2dee9bd1f2de0d900ed16e9809a208c94", + "src/option/defaults.ts": "0bfdc329c48716ac5987c8979fee7e116f6894a70fefc908c99876dfbb4d9dc0", + "src/option/resolve.ts": "27bb1b81a9288062969abb561cec9c88c4b9acb715023e4f22f299f3d5f4bf65", + "src/option/runtime.ts": "4caa060f67c6a57db4a7cc93598e8768794f727b303a5cfa4aeb2ebc247e52d9", + "src/option/types.ts": "224e32ce13cfc9d41ad9f2f3427f97d10bcaaec7e88e30503d618a3d06ae381e", + "src/player/airplayMix.ts": "bfa30e1dcd7cbaef97e977344e8a35524fad6bd23089cd8e45945e3b32b4bf04", + "src/player/aspectRatioMix.ts": "9e5e7365d469aeaef65a6010cb92734702191f9086b2f21d98c9f0ad7f356898", + "src/player/attrMix.ts": "d82150611a69423ed46bf673f44c3e0f61e80425026effd486a6951b6c0dd90c", + "src/player/autoHeightMix.ts": "5848e34cd826f5d4cc81d076c83fb3bcea0aed1228cd93a1edb6b8ca402ad175", + "src/player/autoSizeMix.ts": "6373a8ea7fff4cd875d17c5d3df6dc37764055ab77850a6c6348526969071cbb", + "src/player/cssVarMix.ts": "0d023f28b7a8b4c1a5e2c4dd5672ef4294c86bce0013babd9d52efa32a443b2a", + "src/player/currentTimeMix.ts": "cc374abeb85b203b9f31c566a6b9e53a4a1723d609fccc7b0c9c210993b79e75", + "src/player/durationMix.ts": "60a9d665cf302dcb6b3e37e2f057e31720935e5e588fd7709231f691f6014191", + "src/player/eventInit.ts": "a915c5a618e70b1ab10536b1273ba0fea4ec11d3a2ca629b538e90b5ad2b55f9", + "src/player/flipMix.ts": "a1519c83f8c9437a9b7e99a59e38a3d931032c579f4085226fc0955c7c9eab67", + "src/player/fullscreenMix.ts": "b339bebb4c87f7b75232d7e0d637ebe25bd09a0a0428ba87339a16af5daa71aa", + "src/player/fullscreenWebMix.ts": "75b83a6093c7887ca8725f63c55503d0bf3aafdbbf2347b579120cb257503555", + "src/player/index.ts": "359943c88dc99863e510fc0d51f8e8ee2397217e68045f755d4e9538579bdaec", + "src/player/loadedMix.ts": "6a4c4a08ed74346dad3e138b1dda22c8c9c12f175fe6d00da41b89c78cbe2c18", + "src/player/miniMix.ts": "d68a0c4f6c6059d5831d2d1fd4823b8d3cbce95eefd6d36d38670d6d8720f44e", + "src/player/optionInit.ts": "7c1c47679ee6201d0e0d203fc7b449a09309e7b24a0a1099ad259a70fc1b1a35", + "src/player/pauseMix.ts": "f4fa2b1f05b84ebd27bec9cff5a151addf096dd9b32a38122fb2f1829def0043", + "src/player/pipMix.ts": "63dfb29ffd66ce7d081b24f8e8bf697c041675b49ab8919e206d2df5132de236", + "src/player/playbackRateMix.ts": "e185c6ff52cd567f7fd7c30553bbd6c65517324d1d16c4948c3623ef457ef536", + "src/player/playedMix.ts": "5b6b89bf8dec1efb19cd51e46af1505bae006bdb3fb798e9dec7e3fb5cf0acaa", + "src/player/playingMix.ts": "968c9f6e6d23c233c77d62a593db64adcc6d1a2411f5f1c61a35c6996d6a54d9", + "src/player/playMix.ts": "2d46a3f84da0b1dd18139b76e5e2e163f1d9d9c8f54e67807eeec672acd49917", + "src/player/posterMix.ts": "d569dc24e8e64efe398bd76942bfaf563ffbf64d2a7387ea2e1cb1cf511183d4", + "src/player/properties.ts": "76806d6273545ff556cf9c6d341b59b9041455a8ecbe1fd40510e841c0d5710b", + "src/player/qualityMix.ts": "980ff584c8a5793f5ec9f049f144df31d184d7c9acef49fbe9d504b7657a96bb", + "src/player/rectMix.ts": "a741ee09fa3271df84363c5d73eac1b2e5adb39491f95f8112af81f1219ffed4", + "src/player/screenshotMix.ts": "1754bbce09f713204c120cd4657b52c06eb09eb1fe3244f84474e5967cd68e50", + "src/player/seekMix.ts": "e6e1bf00e8441f1ce58d2a67a66f7e5e98c86d78620ff10a5e6268d54f13fadb", + "src/player/stateMix.ts": "e45b3209a93ab14665d19c5740d5c632187e9fe234b019a2a0263e26884ab3b2", + "src/player/subtitleOffsetMix.ts": "cf9834711842c8a31c3143ab3028f0cf9ba541fafe6f0a3076067daa9d4c750a", + "src/player/switchMix.ts": "b47e174ef0edb2b96ff29f2ddd3c9f2dd2a38713db2a81002b18c89ce71994e9", + "src/player/themeMix.ts": "5bf11bcf8b77cd5d5f2970bc3edcee315c693c1be3d567770d5107a5951cb48f", + "src/player/thumbnailsMix.ts": "6c097d7d00779a6d0d3d65cf9ffd126624a48c9bdb98396c84c39f4de4bdf712", + "src/player/toggleMix.ts": "a3050136248e7d0b942387484c61286ac2b33a90724b1dc3460f5061be76f247", + "src/player/typeMix.ts": "c2a234a9c09f0269a4bd0659087635995945075ac70a5cf2478c8a135fc1b2fe", + "src/player/urlMix.ts": "726a42899261879e03c8b1d4f716458bf3e6e614cecc3bb8d7a581afc2b7866d", + "src/player/volumeMix.ts": "d830bb27b984e0ab2f687943fb49abcbd0331d71fe96049fd81edbddaa64f07f", + "src/plugins/auto-playback/prompt.ts": "58c6dcaf540296ee6f6bdeeda38ee7302aca2b06ddb152b716c0c2bf9c6c96b4", + "src/plugins/auto-playback/records.ts": "133a4ba2fd2d3df724d96eb203d05cffb0b82ecb8de72403974f7979bd37ce01", + "src/plugins/autoOrientation.ts": "4a13b0c010ea7a5002e66c422260ed24bb0d18b3ed41ce10974ac7ca2804cc09", + "src/plugins/autoPlayback.ts": "e349010813bbcd53503383b707c5f6e6e60d8ade6442d020fe6ba07a128c3122", + "src/plugins/builtins.ts": "4631c9775732982dfdc87e16b1bd6b41a350be36fb27e0a9132c11a85b0c016d", + "src/plugins/fastForward.ts": "74c03e3fcfe2f87dcb0ef1a5da5410cb96322509fd07e32930128584c54f62b5", + "src/plugins/index.ts": "4c97f354769bbcb338263f321876a90745a87a9af2d267e216bd3d9d007f268a", + "src/plugins/lock-keyboard.ts": "d59ac2fc9d0daf48c7946e0b49698a74e01f5f55e903c1b090fbda5516cbd16f", + "src/plugins/lock.ts": "8f5fe4469787b7b2a0a302d0fbd925f8eb6d1b261cae6e17367e4d97666a096c", + "src/plugins/miniProgressBar.ts": "21b4850fcaf6b0e82d5e62ca7aca60c179c578f7ff6d5606e6025628ff4b1cc7", + "src/plugins/registration.ts": "9891686c32aeaa33c48ca500cf30ab24ffbb0835c6248769b4c645a5ff20129b", + "src/plugins/types.ts": "6823098d5ec1bf053f60ddfdd36bfcd3f06f3b528cc5dd30fd676a1318dac590", + "src/scheme/index.ts": "dc4a3b5e08478cf72b46b0b59c023359ad5f79b891ea8a6a119ce24a5251821a", + "src/setting/activity.ts": "699ceed4bdeddb6d48eacf79c8dbf737f5d2d8c4983be70205322b14807a91b7", + "src/setting/aspectRatio.ts": "a16eb58fadf77f0a9009cf162d957ffd59d9b8fde83cc193d510fd642e3456cb", + "src/setting/checkpoint.ts": "9d3bff311f9b15c067ca49661af4f48de939f266b8077e7c2f0d66edef22dde6", + "src/setting/events.ts": "f7a3347ca146232caf2a8c9a5a18731cf7bc91dca4cd36370e0265c6eb70df53", + "src/setting/flip.ts": "e72a4ae33300d9e48880897a4f85a04fa6d9a5fff7b06ecaf9081cfb1bb14404", + "src/setting/index.ts": "f6319af15ebe3600a466123dd9d343b86a8d6ed201693ac7ac86dc1d674d477f", + "src/setting/keyboard-focus.ts": "b9af20f66342e10564ef606d75550e9eb9c65274af615ff5719598a0620464a3", + "src/setting/keyboard-item.ts": "d94bfc0266486615ddb79b9eee3886f48891ebb2e5f465652ef98f142ada89d2", + "src/setting/keyboard.ts": "5a2c717d9ecd368efb1bab2562e8d8a06af7607e9fe6d96c1be4d8d58212d395", + "src/setting/layout.ts": "584604e8fffaeaf1d633d1ed45e64d94595c2a56976e3a3f7ede01839b83a37d", + "src/setting/model.ts": "c47348f0f9494c4ce8ea5561bcde6eb698fb11e9197ccdc1ca1359a6d5e370dd", + "src/setting/panels.ts": "64d48720971763985a2a652a18c2ed2f32300c3553d56b52049ae40c4dfceae1", + "src/setting/playbackRate.ts": "2e70e0d2a33cb0ec9fcdd6d22424979fed7b2e01f87015d6be4e520d5cf4e88a", + "src/setting/registration.ts": "c29db62b5d90e0efa4a926c753015e65e96a47add3f5b8840ee51017052edf7c", + "src/setting/render.ts": "ed73745f2c7e2d76bbe8ce7202336e5f4de217dc8f0806b769127cb25316faba", + "src/setting/resources.ts": "64c28cc2cb08cb87b0864ab957d7999bc94931be4788f282d6f190b8806a81fd", + "src/setting/selection.ts": "a642e630924eaf4ad91705fad1fa6e6dc946b32970d809a23da274399fce20ef", + "src/setting/subtitleOffset.ts": "86513835d4e542ac39e9d551507473e3e14c71fd0d5ea725267008ecbff6ab83", + "src/setting/types.ts": "21a07d75a28bbbe20b3e107b6f1a09cb6f8ef2773ea10a4bd7caa88956e9b99c", + "src/setting/update.ts": "79326cb55c52243a7aa8df347a3b081dcd84eb7932fc6162061cc0d9f7078add", + "src/source/listen.ts": "c0596b98258c1544c8e4b762509646428450e56588da36908cb8583b8b716c37", + "src/source/operation.ts": "a8d0b89fc706c4ef0ccdd6d94b220207e92b3d3bd3b42b55c90f9bd191f15cf6", + "src/source/restore-position.ts": "da98a47e8419b33069191e51fc94cc9652302ee4f3eff8ccc7a6dbd4c4c0e2bc", + "src/source/switch.ts": "c66a3db4ba52dcdb46e1f6ab1f350588a07f64d893423d3f135d9768bed74ab6", + "src/source/types.ts": "e5fa3a9cd6b84dffbbb02f61aad966d6046204d857de3e4564c795f02a0259ff", + "src/storage.ts": "9c0a0f3d8ac18261db6e49b2ea14322d1d53bfec3531c7337b85005e708fef30", + "src/style/accessibility.less": "eb9cfe282c64a059d2e102280750bcd33ac33726fa09042eb9875f534335efef", + "src/style/artplayer.less": "a0da37fc5beadee7181d20b0c4769caabce0416fe87b501cbf916d33d073a82b", + "src/style/aspectRatio.less": "2218f0db06da5287a8b7d99c3e72360d1c9af02d805d1b380f93d95df7542cd8", + "src/style/backdrop.less": "45d2518d29c294801dff1ab85e3a4bb2cec66496adccdf893854fb08d444869b", + "src/style/bottom.less": "324de61ac2a82748015168789fc48c861ba6d490a87f9a98dac931b53f0d5a95", + "src/style/contextmenu.less": "190d7e61fba903428847e4495f084306c9ddd1b45178abe04087f3ab883eda2d", + "src/style/controls.less": "eb6d4bf4e4ff903d724d45f3ff60f0cf10c02e622fba195555a8179100cdce87", + "src/style/danmuku.less": "e971e214fc4fcad36707d0a2739991e5345ed3b0d582fd9484e3e2065f4d4e45", + "src/style/flip.less": "f3169f63fbab0c8166b0f1fe58719bc980a295f160dd534855adb2670742b8b5", + "src/style/fullscreen.less": "ae20b0142cb4dab46f1062270608d47c6947a6e35d9c0915ae237f6d593287c2", + "src/style/fullscreenWeb.less": "d92057496349d44b903a4e62b4b4a6ebc2c7b93320fce81f26a5666abdf77330", + "src/style/hideCursor.less": "28c6c2150589607c2002fa7b6e7a09b525742630d0b247c3c36b414c2c693cb8", + "src/style/hint.less": "e2dc4940e6b212d8da75a404fd5ff1ad894008457677bc37554c6b64b735bc31", + "src/style/icon.less": "2751208954958b8437d10746111d192ca944f97d8cbfcbae6a2a2f5f0ceaf234", + "src/style/index.less": "ea6f4cd4ac769bbedf870e01a753c0cdc24493e9ac367c895ff3687d02f6a84c", + "src/style/index.ts": "856afc037ffcd4d18c4b54901ddbb30e310014553fe9d19560e34fb54b8378c1", + "src/style/info.less": "8cdb91746d0ad17dfd9c493f317bdbe0bac250c11ce6d907596a7f34c6f0d5d4", + "src/style/inject.ts": "9cddbe51b5de0da74f27c045ab982b509c3854cc6b81eeb02a6b974914760a4d", + "src/style/layers.less": "623d06fb1c5520e99401f6e5e3f2a6e60aec540e4d3226845582677e69fe220f", + "src/style/loading.less": "3defb61105e6229494501dfa3315cc82366eaffc9569a25dabdb54ba8ba57f9d", + "src/style/mask.less": "3bcd16bc8cb4fe573c3937ae7fa1a1435fc5479873841c21d99d83d1916cd1be", + "src/style/mini.less": "abf2b03a51d518867bdef5818ef5fd604f19c2f85dc8bc9784dbad480dd8b991", + "src/style/mixins.less": "4de7eb5642eb03388ff36b2fc37c5b2bbd9d8a68c74861aee2d9aba22cc0d171", + "src/style/mobile.less": "1c3f93a6eba38589a031478ba04d87007c02594613845c1325c22ba940629c32", + "src/style/notice.less": "4ef68e420702979d9bb6d9659fefdd52a22996edd9f528473ffc0e08bb9f70de", + "src/style/plugins.less": "7122d23a57a98f09b3d933ff15eddbadc909d3fd1cd096a8e8e25fef25cbc0b2", + "src/style/poster.less": "8bc21639753db5f5ee671b1155812ba4bb42365c218f9c53c95e42b68ec4498b", + "src/style/progress.less": "9578590a84cd446d9790ae97f89103cdd65cac0094846f0c36ea16e182275411", + "src/style/selector.less": "a33cba4ff9c8e9aad4af152547bf54fdc64fb74a1013ab99a9ac01eb55fe25c7", + "src/style/setting.less": "c7fec9fc8c3cc3e63085b405a0199e2148721050b41fca3ba33598dccb153958", + "src/style/subtitle.less": "9660cef4d9933f2e3b5f8299f1c820797df4942c18e8c9883930ad111a86b3b3", + "src/style/variables.less": "166418165eb862c669eaaf40bd068ae12beb9b784abf6ebdd83380b9aa72bedc", + "src/style/video.less": "1658e7941437268fc187c991d0fab1d2d74ec1fad5997df67b4b9cc6a1cb52d9", + "src/style/volume.less": "9c3a184f3921e026ba5e3164b6d0c52ea7d5f60214e2884959939b74360b21fd", + "src/subtitle/index.ts": "b4ead680dc82fa47c53d1ec7e5fb8bf94abbf55730d5d1130ad8d544cb42adc8", + "src/subtitle/parse.ts": "7db540c5edb1d2312eed82757fd15a7ce6a28996ba20d0087e56730f21dede74", + "src/subtitle/render.ts": "96493fc35680af635a8db225a8bf002208df79ed48b1d4ee6cc73587543add5c", + "src/subtitle/request.ts": "543c964571bd5ab984bc1adc9f64a8917dd134ed2892ad10b30ed9c859f34119", + "src/subtitle/state.ts": "9f79b982d66747170bc39bdaf99b65676310965f23da62a4dec15547c756a56b", + "src/subtitle/timing.ts": "f2c1dbb63697a51c200371127da4fb8ea6e90a5b4de888bb1c2d7eae4007a5f8", + "src/subtitle/track.ts": "707f4c43af4ebf4b87521f6f577168460e739274d0cec28b9efe5704d2540d18", + "src/subtitle/types.ts": "c7fd0568c71611fe44f0a7d2735a246250c8a63daefd15c63091e37d38bf1edb", + "src/template/html.ts": "351c472bfd01fa5ba1a4e347ed31bd5faaf823d9b4c5cab1ce8c651e3b175021", + "src/template/nodes.ts": "1572746a636647e4d313cc8752d3a110ff81fddb390ad7b0feb6a0db0d42b9d4", + "src/template/types.ts": "2bf906b4a209e17dae4d79225e758e2e53772e93f19f188d0131051ea2a0143a", + "src/template.ts": "0ea9155b9292d4c528a464d3c97996ee5a1c9c4aabc2959a744989085db2251b", + "src/thumbnails/layout.ts": "6630439242a880f53fcb374b7b15c7f486405aab8a0fad651b137f02971eeb59", + "src/utils/compatibility.ts": "1fd2a5b17ee3245712eda961d3c0a15caf3c428010112e48231890176ce1e5e2", + "src/utils/component.ts": "c3fa96467e8b315d974a42a19591aa4a4a7514853db796135b2acbcdcb160ea3", + "src/utils/dom.ts": "72f3539dabf296df37ab4cc7ade0c8ac9480f399987101589450c787e7d6719b", + "src/utils/emitter.ts": "26a93d3ff35b53e71a5f3bb22c252a854559d8151ede50a66a28d9eefae6c008", + "src/utils/error.ts": "ba303c7d4e4228919088f9d608fa364596f5853ee646eda2008deee354866f38", + "src/utils/file.ts": "ea71d7fc0e818d473bf5a596211ba9d571e4febdf1878014eadefa8d0a98d4cc", + "src/utils/format.ts": "891df5b7542b713aef46bf2b93924f42e68eee574afd802db3e6c62ff2655ede", + "src/utils/index.ts": "5211af833dddb2937d25dcc772740d62f9d5c5039ce5505bffff0796d4afd756", + "src/utils/property.ts": "c737d4582a4382f4038d12dafdf8b43418e508c9b8b859b2f0cc17c20f370343", + "src/utils/subtitle.ts": "f058851d11a418e321a8a498472b67fa535fec2c7b5d3df739b6b4f263d00337", + "src/utils/time.ts": "b8ce3d50865f6c343e8e3ce9f5c87de565a87b4e9fbcbccbe7030e30e80b93fe", + "public/artplayer.cts": "0e91e907d021db02a68004603e6190505fdc0806d873ebb6af171aa089a81da7", + "public/artplayer.mts": "f6292596a9ccb1d43a6d6a12c35f859b1889ad15924c5ae0f9f280941aade313", + "public/artplayer.ts": "2c1f228e38eeda3aba0dceb9630c5db1380ef7033037b28a12423355c8a80983", + "public/component.ts": "ec0ba441e6f834118afcefd0621d9a76143ad4fcf50b699a374249ab14d2c314", + "public/config.ts": "97322dce493ac3d1160f426e4fd0ba89fa746f7d66bfbeabd9f45454198560ad", + "public/cssVar.ts": "2ff9827aa10bf326f60f6cda7556a94fdcabafba529185a1ceae46d865f33697", + "public/emitter.ts": "9c62551cdcc6dd3966bed8a7a85dd477435db977c91a294d2ac8f162f9592537", + "public/events.ts": "cb23eb57b07a0b4725a2cbea62add2fe691f818cc4bbcb862bc62caf5b297f3d", + "public/i18n.ts": "38094c46bed0ecd5bad02a3a5fbf0d61521df45aa2e1154256cec4ad5491958f", + "public/icons.ts": "61ce1b0cb9bc7488263b644419b5fd5a13e72de1493c8113eee81d5174f1234b", + "public/language.cts": "2248040d86a8e34626755c4ecf53ea0174706c653073cf0e15884a030d173120", + "public/language.mts": "c391e863012c77769e661afbf8fa949e9373aa88d17f58cbba7f5696edb8077f", + "public/legacy/language.ts": "c452ffd764ff9b29b819b3475c42395d2ea7a33560d8c186ef5df3844b9524c3", + "public/option.ts": "88dab402e6f55c51ef7b70c0ecde3e4437116f7dfced303047e410835088a3a5", + "public/playback.ts": "1ceaed3aa1cef511fe8b20f4874647f6065c723ad805b742a0a9247e16bb1bb5", + "public/player.ts": "fe75e08e8bc3912bd1f42bba92998418b9718a688b60068c2b9843e6218b0519", + "public/plugin.ts": "2a57e148fda00ee687da5036b890b0f611cb94bb403a1ed52602179060259d35", + "public/quality.ts": "dcca8c0f5b5c25373f85825a274fc3ee8beeffd7c8b2a978468e039ff4946a9e", + "public/runtime/component.ts": "840213299c942fe058eb5436977ceec066b9dccda24c55ae9f464b399c979e39", + "public/runtime/construction.ts": "24cc5cda1f614314db382271a9b0d5583b781894cfdf6c548700b1b5270467ee", + "public/runtime/events.ts": "52848f57d35eb1037cf74c8877521edf99a015bcd77f30ef6bbcba1807a99bfe", + "public/runtime/media.ts": "8828f80953aec3e95328cefe691661e8897cb27cb309483cf806ec45a8549ae3", + "public/runtime/option.ts": "bb672e49ffe74a6fc78543217f6de80d7d738890146df0857c709d4dc283e4ce", + "public/runtime/player.ts": "a4a24794e26cfb9e4310bf0f459a7a407e85bf81b4f3a4feb6294331af8036fb", + "public/runtime/plugin.ts": "9ad482f2a77914a91450419680b8af6b314b926f0831c2f7f6d7c466690f95c9", + "public/runtime/services.ts": "8e4648d8c61bff47343f9e1c2b995af69fc00947264b826109ceadcbaf553254", + "public/runtime/setting.ts": "c48d20957b57f79f985ef76a2950cc8a5cfa25dafa8ec5939e562661778e6218", + "public/runtime/subtitle.ts": "13241c4f9a87517aa2cf7b3e0bb8cedaa12fa0b4d3f8934285797583b752557e", + "public/runtime/template.ts": "da9975513a1938e7f386f4f65f718f0fc595164bfeac8f0cd99a3e97a54919a1", + "public/runtime/utils.ts": "cab9916f5224a3b047812b9f759cc9cc62105662599744067a6955020ab36916", + "public/runtime.cts": "52cfff1daeb6841a90212c8fa8d46ca46d6650bb7ed1b59b62115d854b8ad652", + "public/runtime.mts": "1b09bc0ee0f0ee2f788689eaff441bdeda1fab0ce783e71b61b9792d81072b03", + "public/runtime.ts": "ec4b1d56993eb482a77eb0f94b701047549d009e6ba6433f27e7d464fef30c2b", + "public/setting.ts": "a60ed81da780439a55ee22ebe2611d936bd45da0d98e6bf44c92e9a5d9047492", + "public/subtitle.ts": "92f711ad0f7924e609ad4425cd26d19c73eb027cccddc6d89fcf9b8e334db065", + "public/template.ts": "b5f9bff43b4816bd2e3531a3a1750b8014fcf63d421fbc786341cedb1429035c", + "public/utils.ts": "63757d81dd9cf5b95c67ff758da71c87bf535f15aeea7dfda322637d26fd33d0", + "package.json": "82e92699e7c29847f32ac6767ece0401290e7d7a12854722bdbcfd09b90b7954", + "THIRD_PARTY_NOTICES": "b77b5b46b79fa0cda850b0781f78c3b1112c4ed9672fa291956fe8eff53098e7", + "tsconfig.json": "c074f0621b18e6f209e217a702745e4118ee7724955e8104c7e3df3a223a9921" + } + }, + { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + }, + { + "name": "artplayer-proxy-mediabunny", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-proxy-mediabunny\\dist\\artplayer-proxy-mediabunny.js", + "member": "package/dist/artplayer-proxy-mediabunny.js", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "sourceHashes": { + "src/audio-clock.ts": "6f11da4cfa46023bdab4f1bc3930f631f278ac562662fb0a7f908c110ea5d1a8", + "src/audio-context.ts": "7807a2b5343d6af5af67d23c1429a9715567c3f888fc4b5e9c9327bbb2f30332", + "src/audio-nodes.ts": "223e8241c7b2d8400ea25ac127ecc15dd16a687e984377b18b6891afa2fdef75", + "src/audio-pump.ts": "b85f086f4cae13d04d2e334e4e9fa18a6768f3e4187f6124761e3c439060cf06", + "src/audio-task.ts": "65d831e8455a5df3897315ee5b9ee8849a26347fee411e038860df388c1fa77b", + "src/AudioEngine.ts": "4d58cc30148bb4d9e384ea4716a805b00dd9633e03130ba6aeac8d431dd72c43", + "src/canvas-bridge.ts": "91db7cd1b637299656b374f454d7480f1712be224ae9839e9c9f5e3c69e62f06", + "src/cleanup.ts": "854c012384acad4d77e96928217ee16ac6b0425289a3747b331381b13b03f976", + "src/engine-ports.ts": "0ef7483fdeee02e85e310b98cdd01144f1cbb1aaa07f73ba9c01e5be433bd8dc", + "src/engine-types.ts": "6714070f954f7345f33cd93655facc6aa94fd34fa1be0375361962d54fa6e180", + "src/entry-lifecycle.ts": "e760916318e7cc50b7a853be535dddf4911ec59f207f4706314e9d9e77c74b5d", + "src/EventTarget.ts": "4cea57e59b0a1118744a55b0a87c1df28cb0d69c26c50f9275039fe7540c9720", + "src/hls-selection.ts": "b17af12f8fe9f7054898c0cd9a12edce1fd5b58c8ad70e00bcedf098ead4b3dd", + "src/hls-state.ts": "ff9ffd742f9763349df1f50eac6b6bd488a80d05aaab8ca198f387f0d17d5e25", + "src/index.ts": "0c8f1318cf95152a4e1bcb57e60c97e2f3cb02fe6d9d4ff7dc5666159f87fbc2", + "src/input.ts": "d25b1c4ee4aee358c86fd8c554b8b36bfc23fdbd3c27fa21d2cd7e812c98bf9c", + "src/load-session.ts": "560fbd5935fc787bde5f413fcaa41b8829506179c5328ce3cb51e734bbba8cec", + "src/m3u8-menu.ts": "ded1f2efb5caee66a9af5b2db0207c20b4d6caaf05a2bc97df50c40bf6b389d4", + "src/m3u8-model.ts": "239c9da0a2cba97ef8f681ba312acc8f7ef460c3486a803340cfaf355482ddc0", + "src/m3u8-types.ts": "cb8ef504eb038dc48cb9ac59811962ecbe1469d8435ecf56f4fd0cd12dd0c18c", + "src/m3u8.ts": "b3df6a36730f4c30d61e3dc6e28b5d43201f9d264e86dc3d9f855fadf2c58e82", + "src/media.ts": "e745cd8e750e05d0fcfa4bc588f7eb5a5576f3be20f5e67b65b704f57d539ae9", + "src/MediaBunnyEngine.ts": "d56f1315969dc799de8500af6bfb779aa2a866b1ed605d637e578ebce13a97e3", + "src/playback.ts": "78c776f2ce115a2207bfa7346cd5b96ded7faeaa117657d8126f9d7876618bb5", + "src/preflight.ts": "d296234312f23b97a1e0a054f1d7dbbc988d5240c5fd5089c36df1677c7b7348", + "src/readiness.ts": "bb2279070ce8dfafd93e806e00d2acd273b9c64263c5e519bbf83f8ac7549ada", + "src/shim-frames.ts": "f6959cc74c718b5adb4d2e38989f1da94a690e96b7861b2a54b0d233e8470cc0", + "src/shim-values.ts": "a93ee17e87cc7db24f4b02d866af8af206d3007d01def446906fb769c20de17d", + "src/tracks.ts": "6da68530c1fc7105ab17ed742d87d93e84447e822e84386591f9c3e6d0bec733", + "src/video-frames.ts": "c48b93c77d976b03d9cb828478ef3f208e35fbd78a4c6d3d6566d90bdc0fe6f2", + "src/video-poster.ts": "db883faea9c6b6e74535ddfba1b55011b751faf94a342d70bef532a1c96f7a46", + "src/video-renderer.ts": "a1fe324f2b8e4efb0cc40a6021cb85bbcc0568f53352107d63a8b9bbebe5e9b5", + "src/VideoEngine.ts": "1c41d43e663b51319d25dccb08a16c7450703dcdffe15d686b4fa3f0a8c7a7e6", + "src/VideoShim.ts": "9d04455ef9a87577a858da5d55334dab888f3fc0d8b2c913b4999382b8d01fd6", + "package.json": "9b073ac1d70be64847a7fd56d11877a7492273e03b88758296d5ce639dc151ff", + "tsconfig.json": "9591a5b4741c8e0b611b7166b985f5073b61ed566a4077dfa01ebc20035357ea" + } + } + ], + "sdk": { + "name": "mediabunny", + "version": "1.56.1", + "declaredRange": "^1.43.1", + "manifestLicense": "MPL-2.0", + "dependencies": { + "@types/dom-mediacapture-transform": "^0.1.11", + "@types/dom-webcodecs": "0.1.13" + }, + "files": { + "package.json": "809d14362055f6db3c17dd6dd43d7b913fc4daf4ac4f4179f29128eec866d868", + "LICENSE": "3f3d9e0024b1921b067d6f7f88deb4a60cbe7a78e76c64e3f1d7fc3b779b9d04", + "src/index.ts": "ba7672de9670183cd7c9965b844cbc4e134b9daa7aded6e0cf1efa0a5d736d78", + "dist/modules/src/index.js": "9236aa229772332a4f5ed04e453d8794a84311468012a9dd0de78e35301d39c0" + }, + "scope": "Installed and Yarn-locked dependency provenance for the upcoming candidate build only, never claimed as the SDK version embedded in historical bundles" + }, + "installed": { + "directory": "refactor/.cache/ci01-mb-installed-report", + "report": { + "path": "refactor/.cache/ci01-mb-installed-report/report.json", + "sha256": "5ca7905c35811a000b0d29abe8dfa631fab8f6311505ed161fab9d36950c0581" + }, + "invocation": { + "path": "refactor/.cache/ci01-mb-installed-report/invocation.json", + "sha256": "266ed880661244b1d1ec3dafcf58a3f0e5a0bd1b200dd985d441391e424b8c28" + }, + "result": { + "scope": "installed", + "exitCode": 0, + "signal": null, + "args": [ + "test", + "--config=playwright.installed.config.js", + "mediabunny", + "--workers=2" + ] + }, + "stats": { + "startTime": "2026-09-14T19:02:57.095Z", + "duration": 110678.432, + "expected": 228, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "files": { + "chromium/mediabunny-audio.spec.js": { + "total": 8, + "expected": 8, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "firefox/mediabunny-audio.spec.js": { + "total": 8, + "expected": 8, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "webkit/mediabunny-audio.spec.js": { + "total": 8, + "expected": 8, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "chromium/mediabunny-capability.spec.js": { + "total": 10, + "expected": 10, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "firefox/mediabunny-capability.spec.js": { + "total": 10, + "expected": 10, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "webkit/mediabunny-capability.spec.js": { + "total": 10, + "expected": 10, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "chromium/mediabunny-dpip.spec.js": { + "total": 12, + "expected": 12, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "firefox/mediabunny-dpip.spec.js": { + "total": 12, + "expected": 12, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "webkit/mediabunny-dpip.spec.js": { + "total": 12, + "expected": 12, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "chromium/mediabunny-entry.spec.js": { + "total": 4, + "expected": 4, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "firefox/mediabunny-entry.spec.js": { + "total": 4, + "expected": 4, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "webkit/mediabunny-entry.spec.js": { + "total": 4, + "expected": 4, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "chromium/mediabunny-hls.spec.js": { + "total": 10, + "expected": 10, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "firefox/mediabunny-hls.spec.js": { + "total": 10, + "expected": 10, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "webkit/mediabunny-hls.spec.js": { + "total": 10, + "expected": 10, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "chromium/mediabunny-inputs.spec.js": { + "total": 18, + "expected": 18, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "firefox/mediabunny-inputs.spec.js": { + "total": 18, + "expected": 18, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "webkit/mediabunny-inputs.spec.js": { + "total": 18, + "expected": 18, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "chromium/mediabunny-load.spec.js": { + "total": 3, + "expected": 3, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "firefox/mediabunny-load.spec.js": { + "total": 3, + "expected": 3, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "webkit/mediabunny-load.spec.js": { + "total": 3, + "expected": 3, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "chromium/mediabunny-shim.spec.js": { + "total": 3, + "expected": 3, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "firefox/mediabunny-shim.spec.js": { + "total": 3, + "expected": 3, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "webkit/mediabunny-shim.spec.js": { + "total": 3, + "expected": 3, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "chromium/mediabunny-video.spec.js": { + "total": 5, + "expected": 5, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "firefox/mediabunny-video.spec.js": { + "total": 5, + "expected": 5, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "webkit/mediabunny-video.spec.js": { + "total": 5, + "expected": 5, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "chromium/mediabunny.spec.js": { + "total": 3, + "expected": 3, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "firefox/mediabunny.spec.js": { + "total": 3, + "expected": 3, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "webkit/mediabunny.spec.js": { + "total": 3, + "expected": 3, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + } + }, + "attempts": 228, + "outcomes": { + "chromium/native-audio-ownership-observed": 8, + "firefox/native-audio-ownership-observed": 8, + "webkit/unsupported-capability-control": 48, + "chromium/controlled-unsupported-track-rejected-before-readiness": 6, + "chromium/native-partial-decoder-playback-with-controlled-unsupported-track": 4, + "firefox/controlled-unsupported-track-rejected-before-readiness": 6, + "firefox/native-partial-decoder-playback-with-controlled-unsupported-track": 4, + "chromium/native-document-pip-canvas-playback": 12, + "firefox/native-document-pip-canvas-playback": 12, + "webkit/native-document-pip-unavailable": 12, + "chromium/bounded-assertions": 10, + "firefox/bounded-assertions": 10, + "webkit/bounded-assertions": 10, + "chromium/native-hls-ui-and-selection-observed": 10, + "firefox/native-hls-ui-and-selection-observed": 10, + "chromium/native-input-playback-and-seek": 13, + "chromium/historical-trackless-readiness-control": 2, + "chromium/historical-stream-lock-control": 1, + "chromium/historical-unsupported-hls-control": 1, + "chromium/trackless-rejected-before-decoder-setup": 1, + "firefox/native-input-playback-and-seek": 13, + "firefox/historical-trackless-readiness-control": 2, + "firefox/historical-stream-lock-control": 1, + "firefox/historical-unsupported-hls-control": 1, + "firefox/trackless-rejected-before-decoder-setup": 1, + "webkit/historical-stream-lock-control": 1, + "webkit/historical-unsupported-hls-control": 1, + "webkit/trackless-rejected-before-decoder-setup": 1, + "chromium/native-decoded-video-race": 5, + "firefox/native-decoded-video-race": 5, + "chromium/native-mp4-playback-observed": 3, + "firefox/native-mp4-playback-observed": 3, + "webkit/verified-unsupported-capability-control": 3 + }, + "observations": [ + { + "engine": "chromium", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership playback", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership buffer-pause", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership buffer-rate", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership resume-pause", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership resume-source", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership resume-destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership av-clock", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership no-track", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership playback", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership buffer-pause", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership buffer-rate", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership resume-pause", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership resume-source", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership resume-destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership av-clock", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership no-track", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "webkit", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership playback", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership buffer-pause", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership buffer-rate", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership resume-pause", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership resume-source", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership resume-destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership av-clock", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-installed: native audio ownership no-track", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: published core decoder capability video-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "controlled-unsupported-track-rejected-before-readiness", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: published core decoder capability audio-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "controlled-unsupported-track-rejected-before-readiness", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: published core decoder capability mixed-video-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-partial-decoder-playback-with-controlled-unsupported-track", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: published core decoder capability mixed-audio-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-partial-decoder-playback-with-controlled-unsupported-track", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: published core decoder capability replacement", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "controlled-unsupported-track-rejected-before-readiness", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: candidate core decoder capability video-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "controlled-unsupported-track-rejected-before-readiness", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: candidate core decoder capability audio-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "controlled-unsupported-track-rejected-before-readiness", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: candidate core decoder capability mixed-video-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-partial-decoder-playback-with-controlled-unsupported-track", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: candidate core decoder capability mixed-audio-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-partial-decoder-playback-with-controlled-unsupported-track", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: candidate core decoder capability replacement", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "controlled-unsupported-track-rejected-before-readiness", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: published core decoder capability video-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "controlled-unsupported-track-rejected-before-readiness", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: published core decoder capability audio-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "controlled-unsupported-track-rejected-before-readiness", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: published core decoder capability mixed-video-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-partial-decoder-playback-with-controlled-unsupported-track", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: published core decoder capability mixed-audio-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-partial-decoder-playback-with-controlled-unsupported-track", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: published core decoder capability replacement", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "controlled-unsupported-track-rejected-before-readiness", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: candidate core decoder capability video-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "controlled-unsupported-track-rejected-before-readiness", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: candidate core decoder capability audio-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "controlled-unsupported-track-rejected-before-readiness", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: candidate core decoder capability mixed-video-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-partial-decoder-playback-with-controlled-unsupported-track", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: candidate core decoder capability mixed-audio-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-partial-decoder-playback-with-controlled-unsupported-track", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "firefox", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: candidate core decoder capability replacement", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "controlled-unsupported-track-rejected-before-readiness", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "webkit", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: published core decoder capability video-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: published core decoder capability audio-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: published core decoder capability mixed-video-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: published core decoder capability mixed-audio-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: published core decoder capability replacement", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: candidate core decoder capability video-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: candidate core decoder capability audio-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: candidate core decoder capability mixed-video-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: candidate core decoder capability mixed-audio-unsupported", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-capability.spec.js", + "title": "MediaBunny candidate-installed: candidate core decoder capability replacement", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP video close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "chromium", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP video native-close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "chromium", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP video destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "chromium", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP hls close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "chromium", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP hls native-close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "chromium", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP hls destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "chromium", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP video close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "chromium", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP video native-close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "chromium", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP video destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "chromium", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP hls close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "chromium", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP hls native-close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "chromium", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP hls destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "firefox", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP video close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "firefox", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP video native-close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "firefox", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP video destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "firefox", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP hls close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "firefox", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP hls native-close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "firefox", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP hls destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "firefox", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP video close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "firefox", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP video native-close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "firefox", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP video destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "firefox", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP hls close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "firefox", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP hls native-close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "firefox", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP hls destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-canvas-playback", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "webkit", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP video close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-unavailable", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "webkit", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP video native-close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-unavailable", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "webkit", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP video destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-unavailable", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "webkit", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP hls close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-unavailable", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "webkit", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP hls native-close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-unavailable", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "webkit", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: published core native Document PiP hls destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-unavailable", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "webkit", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP video close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-unavailable", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "webkit", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP video native-close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-unavailable", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "webkit", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP video destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-unavailable", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "webkit", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP hls close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-unavailable", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "webkit", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP hls native-close", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-unavailable", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "webkit", + "file": "mediabunny-dpip.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Document PiP hls destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-document-pip-unavailable", + "dpip": { + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "provenance": { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cblqI3\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "9ae45d79f939ea11c04dfa6d6fd131138d7af0d7ade5705b815a20d8298848cd", + "sourceHashes": { + "src/control.ts": "9fe66b2fd59b50c05355d47a89af828b59eb9ad4e224237c72017170da7f7d65", + "src/index.ts": "28ba9b809589f4c58acc7d36bc2bb11b75832e8e6e009487c741c5b47dc4a590", + "src/projection.ts": "9a86780b54793427db448d7814d7e4a728d9f65ab3282bb6b476bb6ecedc731f", + "src/resources.ts": "6aa31086fd18104b176d6245ec297255c71993fe935db5b44ed649bedd33b8be", + "src/style.less": "a75ae94a569c8fd6ce925dcc7ab6b22cfa39a4d81decb30cc447dd7108a84a22", + "src/styles.ts": "7fed3354c81ccfd70cd70aba5afe8d1d78fa3f7022a3298c65446b5a0a0e6b96", + "src/window-session.ts": "cf6bc403caf22ecfea14da7bfa91ddb88a60ed0507d5485035abe48861e1ad17", + "package.json": "5f3671f759364be52faf3810e1534a7711270f975f06d3489d95982fbae0eafb", + "tsconfig.json": "583e4ac1afa99e3a29c7f899df9fdeefcbd14d3847d69143e3fa6a8facac6d99" + } + } + } + }, + { + "engine": "chromium", + "file": "mediabunny-entry.spec.js", + "title": "MediaBunny candidate-installed: published core native Canvas entry native-cleanup", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "chromium", + "file": "mediabunny-entry.spec.js", + "title": "MediaBunny candidate-installed: published core native Canvas entry replacement", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "chromium", + "file": "mediabunny-entry.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Canvas entry native-cleanup", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "chromium", + "file": "mediabunny-entry.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Canvas entry replacement", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "firefox", + "file": "mediabunny-entry.spec.js", + "title": "MediaBunny candidate-installed: published core native Canvas entry native-cleanup", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "firefox", + "file": "mediabunny-entry.spec.js", + "title": "MediaBunny candidate-installed: published core native Canvas entry replacement", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "firefox", + "file": "mediabunny-entry.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Canvas entry native-cleanup", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "firefox", + "file": "mediabunny-entry.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Canvas entry replacement", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "webkit", + "file": "mediabunny-entry.spec.js", + "title": "MediaBunny candidate-installed: published core native Canvas entry native-cleanup", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "webkit", + "file": "mediabunny-entry.spec.js", + "title": "MediaBunny candidate-installed: published core native Canvas entry replacement", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "webkit", + "file": "mediabunny-entry.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Canvas entry native-cleanup", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "webkit", + "file": "mediabunny-entry.spec.js", + "title": "MediaBunny candidate-installed: candidate core native Canvas entry replacement", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "chromium", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: published core native HLS menus", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.0" + } + }, + { + "engine": "chromium", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: published core native HLS topology", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.0" + } + }, + { + "engine": "chromium", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: published core native HLS stale-source", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.0" + } + }, + { + "engine": "chromium", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: published core native HLS stale-destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.0" + } + }, + { + "engine": "chromium", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: published core native HLS latest", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.0" + } + }, + { + "engine": "chromium", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: candidate core native HLS menus", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.1" + } + }, + { + "engine": "chromium", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: candidate core native HLS topology", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.1" + } + }, + { + "engine": "chromium", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: candidate core native HLS stale-source", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.1" + } + }, + { + "engine": "chromium", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: candidate core native HLS stale-destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.1" + } + }, + { + "engine": "chromium", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: candidate core native HLS latest", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.1" + } + }, + { + "engine": "firefox", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: published core native HLS menus", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.0" + } + }, + { + "engine": "firefox", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: published core native HLS topology", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.0" + } + }, + { + "engine": "firefox", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: published core native HLS stale-source", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.0" + } + }, + { + "engine": "firefox", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: published core native HLS stale-destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.0" + } + }, + { + "engine": "firefox", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: published core native HLS latest", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.0" + } + }, + { + "engine": "firefox", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: candidate core native HLS menus", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.1" + } + }, + { + "engine": "firefox", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: candidate core native HLS topology", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.1" + } + }, + { + "engine": "firefox", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: candidate core native HLS stale-source", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.1" + } + }, + { + "engine": "firefox", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: candidate core native HLS stale-destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.1" + } + }, + { + "engine": "firefox", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: candidate core native HLS latest", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.1" + } + }, + { + "engine": "webkit", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: published core native HLS menus", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined", + "coreVersion": "5.4.0" + } + }, + { + "engine": "webkit", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: published core native HLS topology", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined", + "coreVersion": "5.4.0" + } + }, + { + "engine": "webkit", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: published core native HLS stale-source", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined", + "coreVersion": "5.4.0" + } + }, + { + "engine": "webkit", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: published core native HLS stale-destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined", + "coreVersion": "5.4.0" + } + }, + { + "engine": "webkit", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: published core native HLS latest", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined", + "coreVersion": "5.4.0" + } + }, + { + "engine": "webkit", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: candidate core native HLS menus", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined", + "coreVersion": "5.4.1" + } + }, + { + "engine": "webkit", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: candidate core native HLS topology", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined", + "coreVersion": "5.4.1" + } + }, + { + "engine": "webkit", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: candidate core native HLS stale-source", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined", + "coreVersion": "5.4.1" + } + }, + { + "engine": "webkit", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: candidate core native HLS stale-destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined", + "coreVersion": "5.4.1" + } + }, + { + "engine": "webkit", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-installed: candidate core native HLS latest", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "AudioDecoder": "undefined", + "VideoDecoder": "undefined", + "coreVersion": "5.4.1" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native webm input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native blob input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native stream input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native audio input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native hls input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native trackless input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "historical-trackless-readiness-control", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native webm input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native blob input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native stream input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "historical-stream-lock-control", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native audio input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native hls input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "historical-unsupported-hls-control", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native trackless input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "historical-trackless-readiness-control", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native webm input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native blob input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native stream input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native audio input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native hls input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native trackless input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "trackless-rejected-before-decoder-setup", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native webm input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native blob input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native stream input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native audio input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native hls input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native trackless input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "historical-trackless-readiness-control", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native webm input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native blob input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native stream input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "historical-stream-lock-control", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native audio input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native hls input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "historical-unsupported-hls-control", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native trackless input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "historical-trackless-readiness-control", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native webm input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native blob input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native stream input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native audio input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native hls input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-input-playback-and-seek", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "firefox", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native trackless input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "trackless-rejected-before-decoder-setup", + "capabilities": { + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native webm input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "unsupported-capability-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native blob input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "unsupported-capability-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native stream input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "unsupported-capability-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native audio input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "unsupported-capability-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native hls input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "unsupported-capability-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.2.0: native trackless input and seek baseline", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "unsupported-capability-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native webm input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "unsupported-capability-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native blob input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "unsupported-capability-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native stream input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "historical-stream-lock-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native audio input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "unsupported-capability-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native hls input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "historical-unsupported-hls-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny published-1.0.0: native trackless input and seek baseline", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "unsupported-capability-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native webm input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native blob input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native stream input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native audio input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native hls input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "webkit", + "file": "mediabunny-inputs.spec.js", + "title": "MediaBunny candidate-installed: native trackless input and seek baseline", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "trackless-rejected-before-decoder-setup", + "capabilities": { + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined" + } + }, + { + "engine": "chromium", + "file": "mediabunny-load.spec.js", + "title": "MediaBunny candidate-installed: native pending stream cancelled by destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "chromium", + "file": "mediabunny-load.spec.js", + "title": "MediaBunny candidate-installed: native pending stream cancelled by source", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "chromium", + "file": "mediabunny-load.spec.js", + "title": "MediaBunny candidate-installed: native pending stream cancelled by timeout", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "firefox", + "file": "mediabunny-load.spec.js", + "title": "MediaBunny candidate-installed: native pending stream cancelled by destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "firefox", + "file": "mediabunny-load.spec.js", + "title": "MediaBunny candidate-installed: native pending stream cancelled by source", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "firefox", + "file": "mediabunny-load.spec.js", + "title": "MediaBunny candidate-installed: native pending stream cancelled by timeout", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "webkit", + "file": "mediabunny-load.spec.js", + "title": "MediaBunny candidate-installed: native pending stream cancelled by destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "webkit", + "file": "mediabunny-load.spec.js", + "title": "MediaBunny candidate-installed: native pending stream cancelled by source", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "webkit", + "file": "mediabunny-load.spec.js", + "title": "MediaBunny candidate-installed: native pending stream cancelled by timeout", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "chromium", + "file": "mediabunny-shim.spec.js", + "title": "MediaBunny candidate-installed: native synthetic RAF callback", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "chromium", + "file": "mediabunny-shim.spec.js", + "title": "MediaBunny candidate-installed: native synthetic RAF destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "chromium", + "file": "mediabunny-shim.spec.js", + "title": "MediaBunny candidate-installed: native synthetic RAF independent", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "firefox", + "file": "mediabunny-shim.spec.js", + "title": "MediaBunny candidate-installed: native synthetic RAF callback", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "firefox", + "file": "mediabunny-shim.spec.js", + "title": "MediaBunny candidate-installed: native synthetic RAF destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "firefox", + "file": "mediabunny-shim.spec.js", + "title": "MediaBunny candidate-installed: native synthetic RAF independent", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "webkit", + "file": "mediabunny-shim.spec.js", + "title": "MediaBunny candidate-installed: native synthetic RAF callback", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "webkit", + "file": "mediabunny-shim.spec.js", + "title": "MediaBunny candidate-installed: native synthetic RAF destroy", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "webkit", + "file": "mediabunny-shim.spec.js", + "title": "MediaBunny candidate-installed: native synthetic RAF independent", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351" + }, + { + "engine": "chromium", + "file": "mediabunny-video.spec.js", + "title": "MediaBunny candidate-installed: native video ownership pause-frame", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-decoded-video-race" + }, + { + "engine": "chromium", + "file": "mediabunny-video.spec.js", + "title": "MediaBunny candidate-installed: native video ownership seek-source", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-decoded-video-race" + }, + { + "engine": "chromium", + "file": "mediabunny-video.spec.js", + "title": "MediaBunny candidate-installed: native video ownership seek-newer", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-decoded-video-race" + }, + { + "engine": "chromium", + "file": "mediabunny-video.spec.js", + "title": "MediaBunny candidate-installed: native video ownership timeupdate-pause", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-decoded-video-race" + }, + { + "engine": "chromium", + "file": "mediabunny-video.spec.js", + "title": "MediaBunny candidate-installed: native video ownership seek-pool", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-decoded-video-race" + }, + { + "engine": "firefox", + "file": "mediabunny-video.spec.js", + "title": "MediaBunny candidate-installed: native video ownership pause-frame", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-decoded-video-race" + }, + { + "engine": "firefox", + "file": "mediabunny-video.spec.js", + "title": "MediaBunny candidate-installed: native video ownership seek-source", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-decoded-video-race" + }, + { + "engine": "firefox", + "file": "mediabunny-video.spec.js", + "title": "MediaBunny candidate-installed: native video ownership seek-newer", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-decoded-video-race" + }, + { + "engine": "firefox", + "file": "mediabunny-video.spec.js", + "title": "MediaBunny candidate-installed: native video ownership timeupdate-pause", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-decoded-video-race" + }, + { + "engine": "firefox", + "file": "mediabunny-video.spec.js", + "title": "MediaBunny candidate-installed: native video ownership seek-pool", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-decoded-video-race" + }, + { + "engine": "webkit", + "file": "mediabunny-video.spec.js", + "title": "MediaBunny candidate-installed: native video ownership pause-frame", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control" + }, + { + "engine": "webkit", + "file": "mediabunny-video.spec.js", + "title": "MediaBunny candidate-installed: native video ownership seek-source", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control" + }, + { + "engine": "webkit", + "file": "mediabunny-video.spec.js", + "title": "MediaBunny candidate-installed: native video ownership seek-newer", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control" + }, + { + "engine": "webkit", + "file": "mediabunny-video.spec.js", + "title": "MediaBunny candidate-installed: native video ownership timeupdate-pause", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control" + }, + { + "engine": "webkit", + "file": "mediabunny-video.spec.js", + "title": "MediaBunny candidate-installed: native video ownership seek-pool", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "unsupported-capability-control" + }, + { + "engine": "chromium", + "file": "mediabunny.spec.js", + "title": "MediaBunny published-1.2.0: native MP4 playback or exact Windows WebKit capability failure", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "native-mp4-playback-observed", + "capabilities": { + "secure": true, + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined", + "coreVersion": "5.4.0" + } + }, + { + "engine": "chromium", + "file": "mediabunny.spec.js", + "title": "MediaBunny published-1.0.0: native MP4 playback or exact Windows WebKit capability failure", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "native-mp4-playback-observed", + "capabilities": { + "secure": true, + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined", + "coreVersion": "5.4.0" + } + }, + { + "engine": "chromium", + "file": "mediabunny.spec.js", + "title": "MediaBunny candidate-installed: native MP4 playback or exact Windows WebKit capability failure", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-mp4-playback-observed", + "capabilities": { + "secure": true, + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined", + "coreVersion": "5.4.0" + } + }, + { + "engine": "firefox", + "file": "mediabunny.spec.js", + "title": "MediaBunny published-1.2.0: native MP4 playback or exact Windows WebKit capability failure", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "native-mp4-playback-observed", + "capabilities": { + "secure": true, + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined", + "coreVersion": "5.4.0" + } + }, + { + "engine": "firefox", + "file": "mediabunny.spec.js", + "title": "MediaBunny published-1.0.0: native MP4 playback or exact Windows WebKit capability failure", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "native-mp4-playback-observed", + "capabilities": { + "secure": true, + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined", + "coreVersion": "5.4.0" + } + }, + { + "engine": "firefox", + "file": "mediabunny.spec.js", + "title": "MediaBunny candidate-installed: native MP4 playback or exact Windows WebKit capability failure", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "native-mp4-playback-observed", + "capabilities": { + "secure": true, + "VideoDecoder": "function", + "AudioDecoder": "function", + "AudioContext": "function", + "webkitAudioContext": "undefined", + "coreVersion": "5.4.0" + } + }, + { + "engine": "webkit", + "file": "mediabunny.spec.js", + "title": "MediaBunny published-1.2.0: native MP4 playback or exact Windows WebKit capability failure", + "status": "expected", + "implementation": "published-1.2.0", + "sha256": "7d088c0abe2f3c1e2857cb0547405ce1e5588630f28e484a64211fc675322bbd", + "kind": "published", + "outcome": "verified-unsupported-capability-control", + "capabilities": { + "secure": true, + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "coreVersion": "5.4.0" + } + }, + { + "engine": "webkit", + "file": "mediabunny.spec.js", + "title": "MediaBunny published-1.0.0: native MP4 playback or exact Windows WebKit capability failure", + "status": "expected", + "implementation": "published-1.0.0", + "sha256": "7331465d8c7a6575505b9d3fd45986c5d3d9cb3839b2620ad5a52c581199562b", + "kind": "published", + "outcome": "verified-unsupported-capability-control", + "capabilities": { + "secure": true, + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "coreVersion": "5.4.0" + } + }, + { + "engine": "webkit", + "file": "mediabunny.spec.js", + "title": "MediaBunny candidate-installed: native MP4 playback or exact Windows WebKit capability failure", + "status": "expected", + "implementation": "candidate-installed", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "kind": "installed", + "archiveSha256": "4e278a71f79d52133118cffe67154f9e88a7a73708122f4ca577383083afa351", + "outcome": "verified-unsupported-capability-control", + "capabilities": { + "secure": true, + "VideoDecoder": "undefined", + "AudioDecoder": "undefined", + "AudioContext": "undefined", + "webkitAudioContext": "undefined", + "coreVersion": "5.4.0" + } + } + ], + "failures": [] + }, + "source": { + "directory": "refactor/.cache/ci01-mb-source-report", + "report": { + "path": "refactor/.cache/ci01-mb-source-report/report.json", + "sha256": "2b98f2b95f0862816424b497186d54c0a57c2fda339207aec5474e838cc3b53e" + }, + "invocation": { + "path": "refactor/.cache/ci01-mb-source-report/invocation.json", + "sha256": "dc7ec8ad928df1094069ec030856441274a43caf8c6cbf7636e291a120c874f8" + }, + "result": { + "scope": "source", + "exitCode": 0, + "signal": null, + "args": [ + "test", + "--config=playwright.source.config.js", + "--project=chromium", + "--workers=2", + "--grep", + "MediaBunny candidate-source: (candidate core native HLS menus|native audio ownership av-clock|native video ownership seek-source)$" + ] + }, + "stats": { + "startTime": "2026-09-14T19:05:08.635Z", + "duration": 34899.001000000004, + "expected": 3, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "files": { + "chromium/mediabunny-audio.spec.js": { + "total": 1, + "expected": 1, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "chromium/mediabunny-hls.spec.js": { + "total": 1, + "expected": 1, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + }, + "chromium/mediabunny-video.spec.js": { + "total": 1, + "expected": 1, + "unexpected": 0, + "skipped": 0, + "flaky": 0 + } + }, + "attempts": 3, + "outcomes": { + "chromium/native-audio-ownership-observed": 1, + "chromium/native-hls-ui-and-selection-observed": 1, + "chromium/native-decoded-video-race": 1 + }, + "observations": [ + { + "engine": "chromium", + "file": "mediabunny-audio.spec.js", + "title": "MediaBunny candidate-source: native audio ownership av-clock", + "status": "expected", + "implementation": "candidate-source", + "sha256": "9d83a49fb8ead15b3c4b4b959dcfd54d707285aa9aaa5abc3ab55367aa030d04", + "kind": "source-build", + "outcome": "native-audio-ownership-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function" + } + }, + { + "engine": "chromium", + "file": "mediabunny-hls.spec.js", + "title": "MediaBunny candidate-source: candidate core native HLS menus", + "status": "expected", + "implementation": "candidate-source", + "sha256": "9d83a49fb8ead15b3c4b4b959dcfd54d707285aa9aaa5abc3ab55367aa030d04", + "kind": "source-build", + "outcome": "native-hls-ui-and-selection-observed", + "capabilities": { + "AudioContext": "function", + "webkitAudioContext": "undefined", + "AudioDecoder": "function", + "VideoDecoder": "function", + "coreVersion": "5.4.1" + } + }, + { + "engine": "chromium", + "file": "mediabunny-video.spec.js", + "title": "MediaBunny candidate-source: native video ownership seek-source", + "status": "expected", + "implementation": "candidate-source", + "sha256": "9d83a49fb8ead15b3c4b4b959dcfd54d707285aa9aaa5abc3ab55367aa030d04", + "kind": "source-build", + "outcome": "native-decoded-video-race" + } + ], + "failures": [] + }, + "checks": [ + { + "path": "refactor/.cache/ci01-mb-packages.log", + "sha256": "8ae1cb90cd7ff738cb03c9df80c22aa240e53be95b495fcd14b536dc995fad2d" + }, + { + "path": "refactor/.cache/ci01-mb-node.log", + "sha256": "16762b16f5e99f2868755a09bf2b5f4ecb478d5fcccd29053635baccb3da24ba" + }, + { + "path": "refactor/.cache/ci01-mb-node-final.log", + "sha256": "5babeffac737c7d10fb0c31648fae577a5b326fd69be7f13329e0f491372442f" + }, + { + "path": "refactor/.cache/ci01-mb-unit.log", + "sha256": "44d92c298990e8b06da9dff6d99bbce4715a4488aff720f6e93a776d17004c93" + }, + { + "path": "refactor/.cache/ci01-mb-lint.log", + "sha256": "8970dce4bcf8befe1616907fda029e21397bbcb3973e238ff59539cb1b26b796" + }, + { + "path": "refactor/.cache/ci01-mb-lint-fix.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "refactor/.cache/ci01-mb-lint-final.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "path": "refactor/.cache/ci01-mb-types.log", + "sha256": "8ebb6359a48f334dd67cda66ccf75b5fef3e98d49294cd20b89e6490097b9cdc" + }, + { + "path": "refactor/.cache/ci01-mb-toolchain.log", + "sha256": "4aadf0d6600f2709db5d7c5883eeab59bef1112bf6cd0e3d3d77e67290a07a73" + }, + { + "path": "refactor/.cache/ci01-mb-ci.log", + "sha256": "552cc75a4febeb0adaaa323b114bb453d555210141f0f71b8d95581e23233479" + }, + { + "path": "refactor/.cache/ci01-mb-collection.log", + "sha256": "0d324643c58308b33b671d8d9fca9964e1c79ae996723538750cbf11686860f7" + }, + { + "path": "refactor/.cache/ci01-mb-installed.log", + "sha256": "9a68780579e6eda4703cda97bd11c320ca149ab7d9d0bf5c795638ab7bdc0aba" + }, + { + "path": "refactor/.cache/ci01-mb-source.log", + "sha256": "8edf06c4a394f8b068b855138715f795aa67b5eb22801433ba6b2ed3f28898ab" + } + ], + "executableInputs": { + "scripts/browser-validation/scope.ts": "c2d1118be6de8f1b8e41694f4c4f16833f436444bdf8533656a122b231003e96", + "scripts/package-check.mjs": "28ca3f97b18a0129ea9b387f3521813bebec19f972e8f3cba4dd2d96796c999f", + "test/browser-validation.test.js": "157edd13068b2551dfc60af30d7ced77aa3fd33c6140e0b3ddf9a2ea5b6aa6a1", + "test/browser/mediabunny-audio.spec.js": "453112f4b372bdfd8517b47f4460e29f3a30af7d724374c87450b4c24cde225a", + "test/browser/mediabunny-capability.spec.js": "fb66398de4bc03b6e3fefd535636e0d416912a83539517fdcd054a03d30ebfdb", + "test/browser/mediabunny-dpip.spec.js": "9eebcc30ea48eedd4ddf88108f26d8c9b65ab383f6c19cbd7a482309bdc0707d", + "test/browser/mediabunny-entry.spec.js": "0f309b62bddf670f8a2d05230cc506c1fb5cdb6624d861f5fe8615c03d5f9225", + "test/browser/mediabunny-hls.spec.js": "95aa116bbfa914a254bacac0046f8d08de3c7d0cf0313c24982f2e8d2b874a18", + "test/browser/mediabunny-inputs.spec.js": "6441c755cc4f933d1406af194080ce11bb135f2cf0558bea18c4536570513ef7", + "test/browser/mediabunny-load.spec.js": "7bb15f647fea11cfc3e29ec503ae491336f5a1346653ccf4244a2a7295eb3986", + "test/browser/mediabunny-shim.spec.js": "918bb1c6502600d2f28a9b3d65b409f511e6d5206f63c49b27c3b4f14a6c139c", + "test/browser/mediabunny-video.spec.js": "0c411ae001eb7792ac0e69d67336c7524756a30e6c73126352d71689c95ced64", + "test/browser/mediabunny.spec.js": "215a85f83b12cc944808c7c01e1eb48a8aa2f9b091558aadfb86e0a96a06204c", + "test/helpers/mediabunny.js": "a12ae2d9ed51d4365aabd05d0b0270f1809259ba07d10481fb9bbab73ad7d8f4", + "test/package-check.test.js": "54826ae3c17ed703a58f6b8e4033cb9a8d980adfbd93461811a6f74dadcdb5e0" + }, + "limitations": [ + "Only the ten MediaBunny files executed in installed mode; the entire fifteen-package matrix and remote CI were not run.", + "Expected capability/control assertions are not successful feature playback; use per-observation outcomes. Document PiP without native support is not window playback.", + "Available-input inventories are not selected-case evidence; source observations prove only the three selected cases.", + "Race interleavings and decoder-unavailable cases are explicitly controlled, while codecs/media/clock use actual browser APIs where available.", + "Physical sound, long-run AV drift, full device coverage and MB-09/10 release gates remain open. Generic installed runtime/type consumer remains core/chapter only." + ] +} diff --git a/refactor/changes/2026-09-15-CI-01-mediabunny-installed.md b/refactor/changes/2026-09-15-CI-01-mediabunny-installed.md new file mode 100644 index 000000000..a637aaf02 --- /dev/null +++ b/refactor/changes/2026-09-15-CI-01-mediabunny-installed.md @@ -0,0 +1,44 @@ +# CI-01 MediaBunny 安装产物浏览器验证 + +## 范围与兼容边界 + +公共运行时、类型、依赖、媒体夹具和测试断言不变。共同安装清单新增 +artplayer-proxy-mediabunny,沿用其已冻结 npm 契约,正常打包、隔离安装后 +核验文件。SDK 随 UMD 构建内联;MP4/WebM/HLS 输入仍是独立测试媒体。 + +十个 MediaBunny 浏览器文件共用已验证安装候选;有 map 时禁止回退源码、 +旧工作区或另一个显式 artifact。安装入口拒绝仅候选的环境过滤,以保留旧版 +对照。源码入口保留原有诊断方式。可用输入附件提前记录清单,不能据此声称 +所有列出的版本均运行;最终观察记录实际 implementation/provenance。 +Document PiP 组合同时记录 proxy 和 PiP 身份。 + +原生解码、WebAudio/HLS、Canvas、真实窗口能力与受控竞态分开说明。 +缺失 API 的对照即使断言通过,也不算该平台播放验收;短期音画采样不等于 +物理声音、长时漂移或真机验证。CI-01 与 PKG-MB-09/10 门槛保持开放。 + +## 验证 + +Windows x64 / Node 24.21.0 / Yarn 1.22.22。十五包正常构建、pack、仓库外安装、 +离线冻结复装及完整成员核验通过(run-cblqI3,69.25 秒,退出 0);通用消费者 +仍是 core/chapter 的 36 运行时、5 旧类型模式和 8 精确类型模式,不扩大声称。 + +完整 installed collection 为 49 文件/1536 项,本轮仅实跑十个 MediaBunny 文件。 +Chromium 153.0.8010.12、Firefox 155.0、WebKit 26.6 各 76 项,合计 228/228 +断言通过,0 skip/失败/重试,110.678 秒,实际退出 0。这里“通过”包含能力和 +历史缺陷对照;WebKit 有 51 个缺解码/音频能力对照、12 个 PiP 不可用分支, +不是这些功能的成功播放。Chromium/Firefox 各 12 个原生 Document PiP 案例 +验证 Canvas/窗口播放、恢复或销毁;每例分别核验 proxy 与 PiP 安装身份。 +其余原生输入、HLS、音频/视频竞态及受控 decoder 分支详见逐例 outcome。 + +故意继承安装 map 后,source 入口清除它,Chromium 的 HLS menus、av-clock、 +seek-source 三项 3/3 通过(34.899 秒),观察附件均为 source-build。 +这是源码入口定向证明,不是全量源码回归。单元 257/257、工程 48/48、scoped +lint、library 类型、严格工具链和 CI 契约检查通过。最初新增 beforeEach 的空 +对象参数和格式被 lint 拦截,改为记录实际 browserName 后通过;日志均保留。 + +报告已在进程实际结束后归档为 ci01-mb-installed-report、ci01-mb-source-report +和 ci01-mb-collection-report。输入指纹、完整逐例结果/能力分类、报告与日志 +哈希见[机器证据](../baselines/ci-mediabunny-installed-validation.json)。 +此前 Chapter/Audio/DASH 的失败未重跑或关闭;全十五包矩阵、远端 CI、物理 +音频与长时/设备门槛仍未完成。没有新增依赖或生产源码变更,没有推送或发布。 +回退本检查点恢复十四包清单及 MediaBunny 原有源码加载方式。 diff --git a/refactor/plan.md b/refactor/plan.md index f99f8aee3..034fabb82 100644 --- a/refactor/plan.md +++ b/refactor/plan.md @@ -509,7 +509,7 @@ - ENG-09: [记录](changes/2026-09-12-ENG-09-integration.md) [记录](baselines/engineering-integration.json) - ENG-10: [记录](changes/2026-09-10-ENG-10-test-reliability.md) [记录](test-reliability.md) - ENG-11: [记录](build-analysis.md) [记录](baselines/bundle-attribution.json) [记录](changes/2026-09-11-ENG-11-build-analysis.md) -- CI-01: [记录](ci-setup.md) [记录](changes/2026-09-13-CI-01-matrix-summary.md) [记录](baselines/ci-matrix-validation.json) [记录](changes/2026-09-13-CI-01-node-consumers.md) [记录](baselines/node-consumer-validation.json) [记录](changes/2026-09-14-CI-01-installed-full.md) [记录](baselines/ci-installed-full-validation.json) [记录](changes/2026-09-14-CI-01-source-chromium.md) [记录](baselines/ci-source-chromium-validation.json) [记录](changes/2026-09-15-CI-01-ads-installed.md) [记录](baselines/ci-ads-installed-validation.json) [记录](changes/2026-09-15-CI-01-subtitles-installed.md) [记录](baselines/ci-subtitles-installed-validation.json) [记录](changes/2026-09-15-CI-01-adaptive-installed.md) [记录](baselines/ci-adaptive-installed-validation.json) [记录](changes/2026-09-15-CI-01-asr-cast-installed.md) [记录](baselines/ci-asr-cast-installed-validation.json) +- CI-01: [记录](ci-setup.md) [记录](changes/2026-09-13-CI-01-matrix-summary.md) [记录](baselines/ci-matrix-validation.json) [记录](changes/2026-09-13-CI-01-node-consumers.md) [记录](baselines/node-consumer-validation.json) [记录](changes/2026-09-14-CI-01-installed-full.md) [记录](baselines/ci-installed-full-validation.json) [记录](changes/2026-09-14-CI-01-source-chromium.md) [记录](baselines/ci-source-chromium-validation.json) [记录](changes/2026-09-15-CI-01-ads-installed.md) [记录](baselines/ci-ads-installed-validation.json) [记录](changes/2026-09-15-CI-01-subtitles-installed.md) [记录](baselines/ci-subtitles-installed-validation.json) [记录](changes/2026-09-15-CI-01-adaptive-installed.md) [记录](baselines/ci-adaptive-installed-validation.json) [记录](changes/2026-09-15-CI-01-asr-cast-installed.md) [记录](baselines/ci-asr-cast-installed-validation.json) [记录](changes/2026-09-15-CI-01-mediabunny-installed.md) [记录](baselines/ci-mediabunny-installed-validation.json) - CI-02: [记录](changes/2026-09-14-CI-02-pages-artifact.md) [记录](baselines/pages-artifact-validation.json) [记录](pages-deployment.md) - PILOT-01: [记录](changes/2026-09-10-PILOT-01-chapter.md) [记录](baselines/pilot-validation.json) - CORE-01: [记录](changes/2026-09-10-CORE-01-typed-utils.md) [记录](baselines/core-utils-validation.json) diff --git a/refactor/progress.md b/refactor/progress.md index 6bad40f33..318cc4fa0 100644 --- a/refactor/progress.md +++ b/refactor/progress.md @@ -1,5 +1,14 @@ # 进度与证据 +## CI-01 MediaBunny 接入实际安装矩阵 + +十五包打包/隔离安装通过,新增 MediaBunny 十文件实跑 228/228 断言通过, +包括原生解码/HLS/音频、PiP 组合与受控/能力对照;WebKit 缺能力的分支不算 +播放验收。源码定向 3/3、相关单元 257/257、工程 48/48 通过,见 +[记录](changes/2026-09-15-CI-01-mediabunny-installed.md)。完整清单扩展到 +49 文件/1536 项,本轮未全跑。197/263 完成,CI-01 与设备/发布门槛仍开放; +下一步接续 JASSUB/弹幕等剩余包,并核对独立 worker/模型资源来源。 + ## CI-01 统一安装包清单并接入 ASR / Chromecast 新增 --browser 从同一清单准备十四包,实际安装核验通过;消除 CI 手写列表并 diff --git a/refactor/tasks.json b/refactor/tasks.json index 4b1e5f819..55b88ea7a 100644 --- a/refactor/tasks.json +++ b/refactor/tasks.json @@ -770,7 +770,9 @@ "changes/2026-09-15-CI-01-adaptive-installed.md", "baselines/ci-adaptive-installed-validation.json", "changes/2026-09-15-CI-01-asr-cast-installed.md", - "baselines/ci-asr-cast-installed-validation.json" + "baselines/ci-asr-cast-installed-validation.json", + "changes/2026-09-15-CI-01-mediabunny-installed.md", + "baselines/ci-mediabunny-installed-validation.json" ] }, { diff --git a/scripts/browser-validation/README.md b/scripts/browser-validation/README.md index 13bd60d60..79bf80cea 100644 --- a/scripts/browser-validation/README.md +++ b/scripts/browser-validation/README.md @@ -97,3 +97,12 @@ controlled SDK lifecycle file with actual core DOM/local media; it does not run a Cast receiver. VAST controlled tests externalize and replace a dependency, so they are not advertised as installed bundle coverage. Its real IMA suite retains its independent gate. See ../../refactor/changes/2026-09-15-CI-01-asr-cast-installed.md. + +MediaBunny adds ten files using the installed proxy and its bundled SDK; native +Document PiP combinations also record the verified PiP package identity. The +runner rejects ARTPLAYER_MB_BROWSER_CANDIDATE=1 in installed mode, retaining +historical controls, and the loader rejects frozen-workspace/artifact overrides. +Available-input attachments list possible inputs; per-observation provenance +identifies the selected one. Native media/decoding, controlled races, API absence +and physical/long-run verification remain separate. See +../../refactor/changes/2026-09-15-CI-01-mediabunny-installed.md for actual results. diff --git a/scripts/browser-validation/scope.ts b/scripts/browser-validation/scope.ts index 429318d90..86b16a307 100644 --- a/scripts/browser-validation/scope.ts +++ b/scripts/browser-validation/scope.ts @@ -2,7 +2,7 @@ import type { PlaywrightTestConfig } from '@playwright/test' import assert from 'node:assert/strict' export type BrowserScope = 'source' | 'installed' -export const installedPackages = ['artplayer', 'artplayer-plugin-chapter', 'artplayer-plugin-ambilight', 'artplayer-proxy-canvas', 'artplayer-plugin-document-pip', 'artplayer-plugin-ads', 'artplayer-plugin-audio-track', 'artplayer-plugin-vtt-thumbnail', 'artplayer-plugin-multiple-subtitles', 'artplayer-plugin-hls-control', 'artplayer-plugin-dash-control', 'artplayer-plugin-auto-thumbnail', 'artplayer-plugin-asr', 'artplayer-plugin-chromecast'] +export const installedPackages = ['artplayer', 'artplayer-plugin-chapter', 'artplayer-plugin-ambilight', 'artplayer-proxy-canvas', 'artplayer-plugin-document-pip', 'artplayer-plugin-ads', 'artplayer-plugin-audio-track', 'artplayer-plugin-vtt-thumbnail', 'artplayer-plugin-multiple-subtitles', 'artplayer-plugin-hls-control', 'artplayer-plugin-dash-control', 'artplayer-plugin-auto-thumbnail', 'artplayer-plugin-asr', 'artplayer-plugin-chromecast', 'artplayer-proxy-mediabunny'] export const installedTests = [ 'playback.spec.js', 'lifecycle.spec.js', @@ -43,6 +43,16 @@ export const installedTests = [ 'asr-capture-cors.spec.js', 'asr-audio-track.spec.js', 'chromecast-lifecycle.spec.js', + 'mediabunny-audio.spec.js', + 'mediabunny-capability.spec.js', + 'mediabunny-dpip.spec.js', + 'mediabunny-entry.spec.js', + 'mediabunny-hls.spec.js', + 'mediabunny-inputs.spec.js', + 'mediabunny-load.spec.js', + 'mediabunny-shim.spec.js', + 'mediabunny-video.spec.js', + 'mediabunny.spec.js', ] export function browserInvocation(scope: string, args: string[], environment: NodeJS.ProcessEnv) { @@ -54,6 +64,7 @@ export function browserInvocation(scope: string, args: string[], environment: No } else { assert(env.ARTPLAYER_BROWSER_ARTIFACTS, 'Installed browser checks require ARTPLAYER_BROWSER_ARTIFACTS') + assert(env.ARTPLAYER_MB_BROWSER_CANDIDATE !== '1', 'Installed browser checks must retain MediaBunny historical controls') assert(!env.ARTPLAYER_DASH_DIAGNOSTIC_SDK || env.ARTPLAYER_DASH_DIAGNOSTIC_SDK === 'none', 'Installed browser checks require the unchanged DASH SDK') assert(!['ARTPLAYER_DASH_DIAGNOSE_STALL', 'ARTPLAYER_DASH_DIAGNOSE_GETTER', 'ARTPLAYER_DASH_DIAGNOSE_METRICS'].some(name => env[name] === '1'), 'Installed browser checks cannot use DASH recovery diagnostics') } diff --git a/scripts/package-check.mjs b/scripts/package-check.mjs index 5f58a5a28..a50a33b38 100644 --- a/scripts/package-check.mjs +++ b/scripts/package-check.mjs @@ -95,6 +95,7 @@ export async function checkPackages({ release = false, include = [] } = {}) { 'artplayer-plugin-auto-thumbnail': async () => (await import('../refactor/scripts/auto-thumbnail-contract.mjs')).verifyAutoThumbnailContract(), 'artplayer-plugin-asr': async () => (await import('../refactor/scripts/asr-contract.mjs')).verifyAsrContract(), 'artplayer-plugin-chromecast': async () => (await import('../refactor/scripts/chromecast-contract.mjs')).verifyChromecastContract(), + 'artplayer-proxy-mediabunny': async () => (await import('../refactor/scripts/mb-contract.mjs')).verifyMbContract(), 'artplayer-plugin-audio-track': async () => (await import('../refactor/scripts/audio-contract.mjs')).verifyAudioContract(), 'artplayer-plugin-vtt-thumbnail': async () => (await import('../refactor/scripts/vtt-thumbnail-contract.mjs')).verifyVttThumbnailContract(), 'artplayer-plugin-multiple-subtitles': async () => (await import('../refactor/scripts/multiple-subtitles-contract.mjs')).verifyMultipleSubtitlesContract(), diff --git a/test/browser-validation.test.js b/test/browser-validation.test.js index dab8f4c6f..0b5dc7668 100644 --- a/test/browser-validation.test.js +++ b/test/browser-validation.test.js @@ -33,6 +33,9 @@ test('Browser invocation rejects ambiguous scopes and output/configuration overr test('Installed validation rejects diagnostic SDK substitutions and recovery probes', () => { const base = { ARTPLAYER_BROWSER_ARTIFACTS: '/installed/map.json' } + const candidateOnly = { ...base, ARTPLAYER_MB_BROWSER_CANDIDATE: '1' } + assert.throws(() => browserInvocation('installed', [], candidateOnly), /retain MediaBunny historical controls/) + assert.equal(browserInvocation('source', [], candidateOnly).env.ARTPLAYER_MB_BROWSER_CANDIDATE, '1') for (const mode of ['upstream4', 'bufferlevel4']) { const env = { ...base, ARTPLAYER_DASH_DIAGNOSTIC_SDK: mode } assert.throws(() => browserInvocation('installed', [], env), /unchanged DASH SDK/) diff --git a/test/browser/mediabunny-audio.spec.js b/test/browser/mediabunny-audio.spec.js index ef7e911cb..2e9149f7b 100644 --- a/test/browser/mediabunny-audio.spec.js +++ b/test/browser/mediabunny-audio.spec.js @@ -5,6 +5,11 @@ import { mbCandidate } from '../helpers/mediabunny.js' import { expect, test } from './fixtures.js' const implementation = await mbCandidate() + +test.beforeEach(async ({ browserName }, testInfo) => { + await testInfo.attach('mediabunny-available-inputs', { contentType: 'application/json', body: JSON.stringify([implementation].map(item => ({ browserName, name: item.name, sha256: hash(item.code), provenance: item.provenance || { kind: item.name } }))) }) +}) + const manifest = JSON.parse(fs.readFileSync(new URL('./media/hls/manifest.json', import.meta.url))) const hls = new Map(Object.entries(manifest.files).map(([name, expected]) => { const bytes = fs.readFileSync(new URL(`./media/hls/${name}`, import.meta.url)) @@ -248,7 +253,7 @@ for (const scenario of ['playback', 'buffer-pause', 'buffer-rate', 'resume-pause expect(await page.evaluate(() => window.mbCanvas.engine.audio.queuedNodes.size)).toBe(0) } const state = await page.evaluate(() => ({ context: window.mbContext?.state, nodes: window.mbNodes.map(record => ({ stops: record.stops, disconnects: record.disconnects, starts: record.starts })), error: window.mbCanvas.error, events: window.mbEvents })) - await testInfo.attach('mediabunny-audio', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, sha256: hash(implementation.code), scenario, capabilities, outcome, result, state, scope: 'Native AudioContext, BufferSourceNodes and SDK decode. Delayed resume/buffer delivery is controlled. AV samples compare decoded canvas timestamps to the audio clock over short 1x/2x playback; acoustic output, long-run drift and physical devices remain MB-09.' }) }) + await testInfo.attach('mediabunny-audio', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, provenance: implementation.provenance, sha256: hash(implementation.code), scenario, capabilities, outcome, result, state, scope: 'Native AudioContext, BufferSourceNodes and SDK decode. Delayed resume/buffer delivery is controlled. AV samples compare decoded canvas timestamps to the audio clock over short 1x/2x playback; acoustic output, long-run drift and physical devices remain MB-09.' }) }) } }) } diff --git a/test/browser/mediabunny-capability.spec.js b/test/browser/mediabunny-capability.spec.js index 1aafce5aa..63eab41c1 100644 --- a/test/browser/mediabunny-capability.spec.js +++ b/test/browser/mediabunny-capability.spec.js @@ -5,6 +5,11 @@ import { mbCandidate } from '../helpers/mediabunny.js' import { expect, test } from './fixtures.js' const implementation = await mbCandidate() + +test.beforeEach(async ({ browserName }, testInfo) => { + await testInfo.attach('mediabunny-available-inputs', { contentType: 'application/json', body: JSON.stringify([implementation].map(item => ({ browserName, name: item.name, sha256: hash(item.code), provenance: item.provenance || { kind: item.name } }))) }) +}) + const manifest = JSON.parse(fs.readFileSync(new URL('./media/hls/manifest.json', import.meta.url))) const hls = new Map(Object.entries(manifest.files).map(([name, expected]) => { const bytes = fs.readFileSync(new URL(`./media/hls/${name}`, import.meta.url)) @@ -111,7 +116,7 @@ for (const core of ['published', 'candidate']) { } finally { await page.evaluate(() => window.art?.destroy(false)) - await testInfo.attach('mediabunny-capability', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, sha256: hash(implementation.code), core, scenario, capabilities, outcome, result, scope: 'Actual SDK parsing, Canvas, Web Audio and two cores. canDecode=false is deliberately controlled for selected tracks; partial cases play the remaining native decoder. Windows WebKit missing APIs is a separate control, not playback.' }) }) + await testInfo.attach('mediabunny-capability', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, provenance: implementation.provenance, sha256: hash(implementation.code), core, scenario, capabilities, outcome, result, scope: 'Actual SDK parsing, Canvas, Web Audio and two cores. canDecode=false is deliberately controlled for selected tracks; partial cases play the remaining native decoder. Windows WebKit missing APIs is a separate control, not playback.' }) }) } }) } diff --git a/test/browser/mediabunny-dpip.spec.js b/test/browser/mediabunny-dpip.spec.js index 0a6edaa20..80b6c5412 100644 --- a/test/browser/mediabunny-dpip.spec.js +++ b/test/browser/mediabunny-dpip.spec.js @@ -6,6 +6,11 @@ import { mbCandidate } from '../helpers/mediabunny.js' import { expect, test } from './fixtures.js' const implementation = await mbCandidate() + +test.beforeEach(async ({ browserName }, testInfo) => { + await testInfo.attach('mediabunny-available-inputs', { contentType: 'application/json', body: JSON.stringify([implementation].map(item => ({ browserName, name: item.name, sha256: hash(item.code), provenance: item.provenance || { kind: item.name } }))) }) +}) + const dpip = await dpipCandidate() const manifest = JSON.parse(fs.readFileSync(new URL('./media/hls/manifest.json', import.meta.url))) const hls = new Map(Object.entries(manifest.files).map(([name, expected]) => { @@ -25,7 +30,7 @@ for (const core of ['published', 'candidate']) { await page.goto(`/test/player.html?core=${core}`) const supported = await page.evaluate(() => typeof window.documentPictureInPicture?.requestWindow === 'function') if (!supported) { - await testInfo.attach('mediabunny-dpip', { contentType: 'application/json', body: JSON.stringify({ core, media, ending, implementation: implementation.name, sha256: hash(implementation.code), dpipSha256: hash(dpip.code), outcome: 'native-document-pip-unavailable', browserName, supported }) }) + await testInfo.attach('mediabunny-dpip', { contentType: 'application/json', body: JSON.stringify({ core, media, ending, implementation: implementation.name, provenance: implementation.provenance, sha256: hash(implementation.code), dpipSha256: hash(dpip.code), dpipProvenance: dpip.provenance || { kind: dpip.name, sha256: hash(dpip.code) }, outcome: 'native-document-pip-unavailable', browserName, supported }) }) return } for (const [code, global] of [[implementation.code, 'mbFactory'], [dpip.code, 'dpipFactory']]) { @@ -98,7 +103,7 @@ for (const core of ['published', 'candidate']) { } result = await page.evaluate(() => ({ events: window.mbPipEvents, placeholders: document.querySelectorAll('.artplayer-document-pip-placeholder').length, nativeWindowClosed: !window.documentPictureInPicture.window || window.documentPictureInPicture.window.closed })) expect(result).toEqual({ events: ending === 'destroy' ? [true] : [true, false], placeholders: 0, nativeWindowClosed: true }) - await testInfo.attach('mediabunny-dpip', { contentType: 'application/json', body: JSON.stringify({ core, media, ending, implementation: implementation.name, sha256: hash(implementation.code), dpipSha256: hash(dpip.code), outcome: 'native-document-pip-canvas-playback', before, result, scope: 'Actual requestWindow from a click, no iframe or API replacement; native Canvas decoding and window lifecycle. HLS includes native audio, and close cases change quality/audio inside PiP.' }) }) + await testInfo.attach('mediabunny-dpip', { contentType: 'application/json', body: JSON.stringify({ core, media, ending, implementation: implementation.name, provenance: implementation.provenance, sha256: hash(implementation.code), dpipSha256: hash(dpip.code), dpipProvenance: dpip.provenance || { kind: dpip.name, sha256: hash(dpip.code) }, outcome: 'native-document-pip-canvas-playback', before, result, scope: 'Actual requestWindow from a click, no iframe or API replacement; native Canvas decoding and window lifecycle. HLS includes native audio, and close cases change quality/audio inside PiP.' }) }) } finally { await page.evaluate(() => { diff --git a/test/browser/mediabunny-entry.spec.js b/test/browser/mediabunny-entry.spec.js index 1bab0ca7b..282036fc6 100644 --- a/test/browser/mediabunny-entry.spec.js +++ b/test/browser/mediabunny-entry.spec.js @@ -3,6 +3,11 @@ import { mbCandidate } from '../helpers/mediabunny.js' import { expect, test } from './fixtures.js' const implementation = await mbCandidate() + +test.beforeEach(async ({ browserName }, testInfo) => { + await testInfo.attach('mediabunny-available-inputs', { contentType: 'application/json', body: JSON.stringify([implementation].map(item => ({ browserName, name: item.name, sha256: hash(item.code), provenance: item.provenance || { kind: item.name } }))) }) +}) + for (const core of ['published', 'candidate']) { for (const scenario of ['native-cleanup', 'replacement']) { test(`MediaBunny ${implementation.name}: ${core} core native Canvas entry ${scenario}`, async ({ page }, testInfo) => { @@ -66,7 +71,7 @@ for (const core of ['published', 'candidate']) { }, scenario) expect(result.before).toEqual({ identity: true, context: true, width: 640, clickCount: 1, source: null, attribute: 'native-only.mp4', volume: 0.35, style: '100%', maybe: 'maybe' }) expect(result.cleanup).toEqual({ released: [true, true, true], destroyed: true, styleAfter: '43px', alias: true }) - await testInfo.attach('mediabunny-entry', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, sha256: hash(implementation.code), core, scenario, result, scope: 'Actual browser Canvas descriptors and published/candidate core lifecycle. Empty source deliberately excludes decoding; existing media suites cover playback separately.' }) }) + await testInfo.attach('mediabunny-entry', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, provenance: implementation.provenance, sha256: hash(implementation.code), core, scenario, result, scope: 'Actual browser Canvas descriptors and published/candidate core lifecycle. Empty source deliberately excludes decoding; existing media suites cover playback separately.' }) }) }) } } diff --git a/test/browser/mediabunny-hls.spec.js b/test/browser/mediabunny-hls.spec.js index ccd725ac6..1a6f6ce37 100644 --- a/test/browser/mediabunny-hls.spec.js +++ b/test/browser/mediabunny-hls.spec.js @@ -5,6 +5,11 @@ import { mbCandidate } from '../helpers/mediabunny.js' import { expect, test } from './fixtures.js' const implementation = await mbCandidate() + +test.beforeEach(async ({ browserName }, testInfo) => { + await testInfo.attach('mediabunny-available-inputs', { contentType: 'application/json', body: JSON.stringify([implementation].map(item => ({ browserName, name: item.name, sha256: hash(item.code), provenance: item.provenance || { kind: item.name } }))) }) +}) + const manifest = JSON.parse(fs.readFileSync(new URL('./media/hls/manifest.json', import.meta.url))) const media = new Map(Object.entries(manifest.files).map(([name, expected]) => { const bytes = fs.readFileSync(new URL(`./media/hls/${name}`, import.meta.url)) @@ -196,7 +201,7 @@ for (const core of ['published', 'candidate']) { return { events: window.mbEvents, errors: window.mbErrors, writes: window.mbWrites, error: window.mbCanvas.error, destroyed: window.mbCanvas.engine.destroyed } }) await expect.poll(() => page.evaluate(() => window.mbContext?.state || 'not-created')).toMatch(/^(?:closed|not-created)$/) - await testInfo.attach('mediabunny-hls-ui', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, sha256: hash(implementation.code), core, scenario, capabilities, outcome, result, state, scope: 'Actual old/candidate core, SDK HLS parsing and native decoding; rendered control/settings clicks, topology and controlled state/query delays. Not installed-package or long-run/device acceptance.' }) }) + await testInfo.attach('mediabunny-hls-ui', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, provenance: implementation.provenance, sha256: hash(implementation.code), core, scenario, capabilities, outcome, result, state, scope: 'Actual old/candidate core, SDK HLS parsing and native decoding; rendered control/settings clicks, topology and controlled state/query delays. Input provenance identifies source or installed bundle; not long-run/device acceptance.' }) }) } }) } diff --git a/test/browser/mediabunny-inputs.spec.js b/test/browser/mediabunny-inputs.spec.js index 45726deb4..64fcc2627 100644 --- a/test/browser/mediabunny-inputs.spec.js +++ b/test/browser/mediabunny-inputs.spec.js @@ -6,6 +6,11 @@ import { tracklessMp4 } from '../helpers/trackless-mp4.js' import { expect, test } from './fixtures.js' const implementations = await mbBrowserImplementations() + +test.beforeEach(async ({ browserName }, testInfo) => { + await testInfo.attach('mediabunny-available-inputs', { contentType: 'application/json', body: JSON.stringify(implementations.map(item => ({ browserName, name: item.name, sha256: hash(item.code), provenance: item.provenance || { kind: item.name } }))) }) +}) + const manifest = JSON.parse(fs.readFileSync(new URL('./media/hls/manifest.json', import.meta.url))) const hls = new Map(Object.entries(manifest.files).map(([name, expected]) => { const bytes = fs.readFileSync(new URL(`./media/hls/${name}`, import.meta.url)) @@ -237,7 +242,7 @@ for (const implementation of implementations) { await expect.poll(() => page.evaluate(() => window.mbContext?.state || 'not-created')).toMatch(/^(?:closed|not-created)$/) expect(await page.evaluate(() => window.mbPendingFrames.size)).toBe(0) const cleanup = await page.evaluate(() => ({ audioContext: window.mbContext?.state || 'not-created', pendingFrames: window.mbPendingFrames.size, streamCancelled: window.mbStreamCancelled || false })) - await testInfo.attach('mediabunny-native-input', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, sha256: hash(implementation.code), input, capabilities, outcome, state, cleanup, hlsManifest: input === 'hls' ? manifest : null, tracklessFixture: input === 'trackless' ? { parentSha256: hash(pattern), sha256: hash(trackless) } : null, scope: 'Identified proxy with native browser media and controlled ArtPlayer host using actual core utilities/config; frame timestamps sampled against the SDK audio clock, not acoustic/long-run AV-sync acceptance. Cleanup checks settled playback, not pending-operation races. Candidate trackless rejection is checked separately before decoder setup; this is not full release acceptance.' }) }) + await testInfo.attach('mediabunny-native-input', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, provenance: implementation.provenance, sha256: hash(implementation.code), input, capabilities, outcome, state, cleanup, hlsManifest: input === 'hls' ? manifest : null, tracklessFixture: input === 'trackless' ? { parentSha256: hash(pattern), sha256: hash(trackless) } : null, scope: 'Identified proxy with native browser media and controlled ArtPlayer host using actual core utilities/config; frame timestamps sampled against the SDK audio clock, not acoustic/long-run AV-sync acceptance. Cleanup checks settled playback, not pending-operation races. Candidate trackless rejection is checked separately before decoder setup; this is not full release acceptance.' }) }) } }) } diff --git a/test/browser/mediabunny-load.spec.js b/test/browser/mediabunny-load.spec.js index 7bb7708c4..a843f2c49 100644 --- a/test/browser/mediabunny-load.spec.js +++ b/test/browser/mediabunny-load.spec.js @@ -3,6 +3,11 @@ import { mbCandidate } from '../helpers/mediabunny.js' import { expect, test } from './fixtures.js' const implementation = await mbCandidate() + +test.beforeEach(async ({ browserName }, testInfo) => { + await testInfo.attach('mediabunny-available-inputs', { contentType: 'application/json', body: JSON.stringify([implementation].map(item => ({ browserName, name: item.name, sha256: hash(item.code), provenance: item.provenance || { kind: item.name } }))) }) +}) + for (const ending of ['destroy', 'source', 'timeout']) { test(`MediaBunny ${implementation.name}: native pending stream cancelled by ${ending}`, async ({ page }, testInfo) => { await page.goto('/test/player.html?core=published') @@ -57,7 +62,7 @@ for (const ending of ['destroy', 'source', 'timeout']) { await expect.poll(() => page.evaluate(() => window.mbReplacement.locked)).toBe(true) await page.evaluate(() => window.mbHost.emit('destroy')) await expect.poll(() => page.evaluate(() => window.mbCancelled)).toEqual(ending === 'source' ? ['old', 'new'] : ['old']) - await testInfo.attach('mediabunny-load-cancellation', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, sha256: hash(implementation.code), ending, state, cancellations: await page.evaluate(() => window.mbCancelled), scope: 'Real browser ReadableStream and actual SDK Input disposal before first media bytes; real timeout; controlled ArtPlayer host; does not assert decoder, late frame or audio-node cleanup.' }) }) + await testInfo.attach('mediabunny-load-cancellation', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, provenance: implementation.provenance, sha256: hash(implementation.code), ending, state, cancellations: await page.evaluate(() => window.mbCancelled), scope: 'Real browser ReadableStream and actual SDK Input disposal before first media bytes; real timeout; controlled ArtPlayer host; does not assert decoder, late frame or audio-node cleanup.' }) }) } finally { await page.evaluate(() => window.mbHost.emit('destroy')) diff --git a/test/browser/mediabunny-shim.spec.js b/test/browser/mediabunny-shim.spec.js index 5bf51c001..0a68c412a 100644 --- a/test/browser/mediabunny-shim.spec.js +++ b/test/browser/mediabunny-shim.spec.js @@ -3,6 +3,11 @@ import { mbCandidate } from '../helpers/mediabunny.js' import { expect, test } from './fixtures.js' const implementation = await mbCandidate() + +test.beforeEach(async ({ browserName }, testInfo) => { + await testInfo.attach('mediabunny-available-inputs', { contentType: 'application/json', body: JSON.stringify([implementation].map(item => ({ browserName, name: item.name, sha256: hash(item.code), provenance: item.provenance || { kind: item.name } }))) }) +}) + for (const scenario of ['callback', 'destroy', 'independent']) { test(`MediaBunny ${implementation.name}: native synthetic RAF ${scenario}`, async ({ page }, testInfo) => { await page.goto('/test/player.html?core=published') @@ -44,6 +49,6 @@ for (const scenario of ['callback', 'destroy', 'independent']) { expect(result.idType).toBe('number') expect(result.listeners).toBe(0) expect(result.calls).toEqual(scenario === 'callback' ? [{ owner: 'first', time: 'number', mediaTime: 0, presentedFrames: 0 }] : scenario === 'independent' ? [{ owner: 'second' }] : []) - await testInfo.attach('mediabunny-shim-frames', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, sha256: hash(implementation.code), scenario, result, scope: 'Real browser requestAnimationFrame and actual proxy instances; synthetic metadata is preserved, no decoding or video frame accuracy is claimed.' }) }) + await testInfo.attach('mediabunny-shim-frames', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, provenance: implementation.provenance, sha256: hash(implementation.code), scenario, result, scope: 'Real browser requestAnimationFrame and actual proxy instances; synthetic metadata is preserved, no decoding or video frame accuracy is claimed.' }) }) }) } diff --git a/test/browser/mediabunny-video.spec.js b/test/browser/mediabunny-video.spec.js index fe7995c80..8f73f538d 100644 --- a/test/browser/mediabunny-video.spec.js +++ b/test/browser/mediabunny-video.spec.js @@ -3,6 +3,11 @@ import { mbCandidate } from '../helpers/mediabunny.js' import { expect, test } from './fixtures.js' const implementation = await mbCandidate() + +test.beforeEach(async ({ browserName }, testInfo) => { + await testInfo.attach('mediabunny-available-inputs', { contentType: 'application/json', body: JSON.stringify([implementation].map(item => ({ browserName, name: item.name, sha256: hash(item.code), provenance: item.provenance || { kind: item.name } }))) }) +}) + for (const scenario of ['pause-frame', 'seek-source', 'seek-newer', 'timeupdate-pause', 'seek-pool']) { test(`MediaBunny ${implementation.name}: native video ownership ${scenario}`, async ({ page, browserName }, testInfo) => { await page.goto('/test/player.html?core=published') @@ -212,7 +217,7 @@ for (const scenario of ['pause-frame', 'seek-source', 'seek-newer', 'timeupdate- expect(state.frames).toBe(0) await expect.poll(() => page.evaluate(() => window.mbCleanupContext?.state || 'not-created')).toMatch(/^(?:closed|not-created)$/) state.audioContext = await page.evaluate(() => window.mbCleanupContext?.state || 'not-created') - await testInfo.attach('mediabunny-video-ownership', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, sha256: hash(implementation.code), scenario, outcome, result, state, scope: 'Actual SDK MP4 decoding and browser clock/RAF; frame delivery or two raw VideoSample deliveries before CanvasSink conversion control interleaving. Source/seek ownership, pause and timeupdate reentry verified; not long-run AV sync or a mock codec.' }) }) + await testInfo.attach('mediabunny-video-ownership', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, provenance: implementation.provenance, sha256: hash(implementation.code), scenario, outcome, result, state, scope: 'Actual SDK MP4 decoding and browser clock/RAF; frame delivery or two raw VideoSample deliveries before CanvasSink conversion control interleaving. Source/seek ownership, pause and timeupdate reentry verified; not long-run AV sync or a mock codec.' }) }) } }) } diff --git a/test/browser/mediabunny.spec.js b/test/browser/mediabunny.spec.js index a1f2900ab..b2b3a9f23 100644 --- a/test/browser/mediabunny.spec.js +++ b/test/browser/mediabunny.spec.js @@ -4,6 +4,10 @@ import { expect, test } from './fixtures.js' const implementations = await mbBrowserImplementations() +test.beforeEach(async ({ browserName }, testInfo) => { + await testInfo.attach('mediabunny-available-inputs', { contentType: 'application/json', body: JSON.stringify(implementations.map(item => ({ browserName, name: item.name, sha256: hash(item.code), provenance: item.provenance || { kind: item.name } }))) }) +}) + for (const implementation of implementations) { test(`MediaBunny ${implementation.name}: native MP4 playback or exact Windows WebKit capability failure`, async ({ page, browserName }, testInfo) => { await page.goto('/test/player.html?core=published') @@ -65,7 +69,7 @@ for (const implementation of implementations) { const canvas = window.art.video return { events: window.mbEvents, actions: window.mbActions, ready: window.art.isReady, dimensions: [canvas.width, canvas.height, canvas.videoWidth, canvas.videoHeight], paused: canvas.paused, currentTime: canvas.currentTime, error: canvas.error, readyState: canvas.readyState, audioState: canvas.engine?.audio?.audioContext?.state } }) - await testInfo.attach('mediabunny-input', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, sha256: hash(implementation.code), capabilities, outcome, state, scope: 'Identified published or candidate proxy with actual core5.4.0; native MP4 pixels/clock or explicitly unsupported Windows WebKit APIs. No HLS or long-run AV-sync acceptance.' }) }) + await testInfo.attach('mediabunny-input', { contentType: 'application/json', body: JSON.stringify({ implementation: implementation.name, provenance: implementation.provenance, sha256: hash(implementation.code), capabilities, outcome, state, scope: 'Identified published or candidate proxy with actual core5.4.0; native MP4 pixels/clock or explicitly unsupported Windows WebKit APIs. No HLS or long-run AV-sync acceptance.' }) }) await page.evaluate(() => window.art.destroy(false)) } }) diff --git a/test/helpers/mediabunny.js b/test/helpers/mediabunny.js index 99e958174..2d8f128db 100644 --- a/test/helpers/mediabunny.js +++ b/test/helpers/mediabunny.js @@ -1,16 +1,18 @@ -import fs from 'node:fs' +import assert from 'node:assert/strict' import process from 'node:process' import vm from 'node:vm' import { verifyMbContract } from '../../refactor/scripts/mb-contract.mjs' import { readMember } from '../../refactor/scripts/releases.mjs' -import { compilePackage } from './load.js' +import { browserCandidate } from './browser-candidate.js' export async function mbCandidate() { + if (process.env.ARTPLAYER_BROWSER_ARTIFACTS) + assert.notEqual(process.env.ARTPLAYER_MB_BASELINE, '1', 'Installed candidate cannot use the frozen workspace') if (process.env.ARTPLAYER_MB_BASELINE === '1') return (await mbHistorical()).find(item => item.name === 'frozen-workspace') - if (process.env.ARTPLAYER_MB_ARTIFACT) - return { name: 'candidate-artifact', code: fs.readFileSync(process.env.ARTPLAYER_MB_ARTIFACT, 'utf8') } - return { name: 'candidate-source', code: await compilePackage('artplayer-proxy-mediabunny', 'umd') } + const candidate = await browserCandidate('artplayer-proxy-mediabunny', process.env.ARTPLAYER_MB_ARTIFACT) + const suffix = { 'installed': 'installed', 'explicit-artifact': 'artifact', 'source-build': 'source' }[candidate.provenance.kind] + return { name: `candidate-${suffix}`, ...candidate } } export async function mbBrowserImplementations() { diff --git a/test/package-check.test.js b/test/package-check.test.js index c343819c3..d81751623 100644 --- a/test/package-check.test.js +++ b/test/package-check.test.js @@ -13,6 +13,7 @@ import { autoThumbnailCandidate } from './helpers/auto-thumbnail.js' import { browserCandidate } from './helpers/browser-candidate.js' import { canvasCandidate } from './helpers/canvas.js' import { dpipCandidate } from './helpers/dpip.js' +import { mbCandidate } from './helpers/mediabunny.js' import { multipleSubtitlesCandidate } from './helpers/multiple-subtitles.js' import { vttThumbnailCandidate } from './helpers/vtt-thumbnail.js' @@ -32,6 +33,7 @@ test('Additional browser packages cannot be mistaken for full release consumer a test('Explicit installed plugin maps never fall back to source or frozen workspace', async () => { const keys = ['ARTPLAYER_BROWSER_ARTIFACTS', 'ARTPLAYER_AMBILIGHT_BASELINE', 'ARTPLAYER_CANVAS_BASELINE', 'ARTPLAYER_DPIP_BASELINE', 'ARTPLAYER_DPIP_ARTIFACT', 'ARTPLAYER_VTT_THUMBNAIL_BASELINE', 'ARTPLAYER_VTT_THUMBNAIL_ARTIFACT', 'ARTPLAYER_MULTIPLE_SUBTITLES_ARTIFACT'] keys.push('ARTPLAYER_AUTO_THUMBNAIL_BASELINE', 'ARTPLAYER_AUTO_THUMBNAIL_ARTIFACT') + keys.push('ARTPLAYER_MB_BASELINE', 'ARTPLAYER_MB_ARTIFACT') const previous = Object.fromEntries(keys.map(key => [key, process.env[key]])) try { process.env.ARTPLAYER_BROWSER_ARTIFACTS = path.resolve('refactor/.cache/absent-installed-plugin-map.json') @@ -45,6 +47,14 @@ test('Explicit installed plugin maps never fall back to source or frozen workspa delete process.env.ARTPLAYER_MULTIPLE_SUBTITLES_ARTIFACT delete process.env.ARTPLAYER_AUTO_THUMBNAIL_BASELINE delete process.env.ARTPLAYER_AUTO_THUMBNAIL_ARTIFACT + delete process.env.ARTPLAYER_MB_BASELINE + delete process.env.ARTPLAYER_MB_ARTIFACT + await assert.rejects(mbCandidate(), { code: 'ENOENT' }) + process.env.ARTPLAYER_MB_BASELINE = '1' + await assert.rejects(mbCandidate(), /cannot use the frozen workspace/) + delete process.env.ARTPLAYER_MB_BASELINE + process.env.ARTPLAYER_MB_ARTIFACT = 'override.js' + await assert.rejects(mbCandidate(), /cannot override artplayer-proxy-mediabunny artifact/) await assert.rejects(autoThumbnailCandidate(), { code: 'ENOENT' }) process.env.ARTPLAYER_AUTO_THUMBNAIL_BASELINE = '1' await assert.rejects(autoThumbnailCandidate(), /cannot use the frozen workspace/)