diff --git a/refactor/baselines/ci-installed-webkit-validation.json b/refactor/baselines/ci-installed-webkit-validation.json new file mode 100644 index 000000000..92b2051f4 --- /dev/null +++ b/refactor/baselines/ci-installed-webkit-validation.json @@ -0,0 +1,8022 @@ +{ + "task": "CI-01", + "status": "doing", + "sourceHead": "bb2c12df30a92521d2dc3c79ab212a70f3fbb3b8", + "environment": { + "node": "24.21.0", + "yarn": "1.22.22", + "platform": "win32", + "browsers": [ + "26.6" + ], + "remoteCI": false, + "physicalDevices": false + }, + "directory": "refactor/.cache/ci-installed-webkit-bb2c12df3", + "reportSha256": "636898035f3d717ee6a5b7f657e901ab8d0c3f1383ca5ef75ec73ed4ae251a65", + "logs": [ + { + "file": "refactor/.cache/ci-installed-webkit-full.log", + "sha256": "704533e7b13039b854d8594981a87bcdc31105f15263f2a2ac997211dcf62367" + }, + { + "file": "refactor/.cache/ci-installed-package-current.log", + "sha256": "a404c4b1ae42c28b5a239f6e892855cd951db43f401dc0f31e25470ec033afcb" + } + ], + "invocation": { + "scope": "installed", + "args": [ + "test", + "--config=playwright.installed.config.js", + "--project=webkit", + "--workers=2" + ], + "node": "24.21.0", + "artifactMap": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\browser-artifacts.json" + }, + "result": { + "scope": "installed", + "exitCode": 1, + "signal": null, + "args": [ + "test", + "--config=playwright.installed.config.js", + "--project=webkit", + "--workers=2" + ] + }, + "stats": { + "startTime": "2026-09-15T15:02:36.299Z", + "duration": 1214859.678, + "expected": 694, + "skipped": 138, + "unexpected": 13, + "flaky": 0 + }, + "files": 77, + "tests": 845, + "retries": 0, + "inputPackages": [ + { + "name": "artplayer", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer\\dist\\artplayer.js", + "member": "package/dist/artplayer.js", + "sha256": "9148a369636f814b03e6a1ed2a7db222a31b159f93e8a94d52c5a9dde2dfe6a6", + "archiveSha256": "dbcb2c09a29ad2c7161cfe2f3ce2605c981b33b1bcc0fcce3dcd167b2b87fbea" + }, + { + "name": "artplayer-plugin-chapter", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-chapter\\dist\\artplayer-plugin-chapter.js", + "member": "package/dist/artplayer-plugin-chapter.js", + "sha256": "179c3ea90ddc85da27b46f000110e32d464dfa5c8c394e98316dc1b75d6f2a72", + "archiveSha256": "2a283c6c43bfd13553ac3a6a056c971017384f3d2d5acaf4e0d63ec4ecb90680" + }, + { + "name": "artplayer-plugin-ambilight", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-ambilight\\dist\\artplayer-plugin-ambilight.js", + "member": "package/dist/artplayer-plugin-ambilight.js", + "sha256": "21ee5227f26cfff6e82ee6932f6eafc9741fa3be0ec2f5252a47b53ceea14599", + "archiveSha256": "80661121642f43d47dd43e157aabf5f06505e4d7aad5718c2580c48210e082fb" + }, + { + "name": "artplayer-proxy-canvas", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-proxy-canvas\\dist\\artplayer-proxy-canvas.js", + "member": "package/dist/artplayer-proxy-canvas.js", + "sha256": "f572ea536107b7823452c5a99447b69e9226a3582c79dda95a4248cca819ec18", + "archiveSha256": "30f42f0ff0e2400a2081f3375e3482ef1f9bc137c5e8981dd03e660bdae7ff91" + }, + { + "name": "artplayer-plugin-document-pip", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-document-pip\\dist\\artplayer-plugin-document-pip.js", + "member": "package/dist/artplayer-plugin-document-pip.js", + "sha256": "56440aad3ed06be55ec3a57d781f7de239e9aecf40a067e88f2cffcd01a86d6a", + "archiveSha256": "1cfd95e737f63bffa519c8f9e78daabdc8c914a5dd5f3b25354771c4761b6a73" + }, + { + "name": "artplayer-plugin-ads", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-ads\\dist\\artplayer-plugin-ads.js", + "member": "package/dist/artplayer-plugin-ads.js", + "sha256": "1429541242f49c4d558eda242a63b6e57a876c2dba06ce9f631d71d315028023", + "archiveSha256": "2617e3f9ce4d369dcd2399323f7950b673e5cd6e94551394c9fe10b185cf228a" + }, + { + "name": "artplayer-plugin-audio-track", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-audio-track\\dist\\artplayer-plugin-audio-track.js", + "member": "package/dist/artplayer-plugin-audio-track.js", + "sha256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "archiveSha256": "1b5bf9ed1e728ff921c2313d7d564d1e80cbebe01a6375398fd3628d29af5832" + }, + { + "name": "artplayer-plugin-vtt-thumbnail", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-vtt-thumbnail\\dist\\artplayer-plugin-vtt-thumbnail.js", + "member": "package/dist/artplayer-plugin-vtt-thumbnail.js", + "sha256": "df70ccb5261fd988ba8c2c2d689ca58653bb5426242ffd1076569a1d225997a7", + "archiveSha256": "10c7b4b44db2d75aa69008966f993fda239c7681632aaeee6b2efa452e251682" + }, + { + "name": "artplayer-plugin-multiple-subtitles", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-multiple-subtitles\\dist\\artplayer-plugin-multiple-subtitles.js", + "member": "package/dist/artplayer-plugin-multiple-subtitles.js", + "sha256": "103e5f75e6ce4b8b9f14b2b8caa983c97eb24da4536048135f90517b959dcf6b", + "archiveSha256": "f60aca59946a4a97aa93346bb5f979ee9bf3e788f87557bd6bd823fc6199559f" + }, + { + "name": "artplayer-plugin-hls-control", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-hls-control\\dist\\artplayer-plugin-hls-control.js", + "member": "package/dist/artplayer-plugin-hls-control.js", + "sha256": "8e163d4ab6734cbc45e7f539de7db644c7faf36d0318469a86d300bf6365cca6", + "archiveSha256": "b7c44e9a5fa402dfa4d083e7f9bef3fff4f9866fd8366f51222df5d71a579996" + }, + { + "name": "artplayer-plugin-dash-control", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-dash-control\\dist\\artplayer-plugin-dash-control.js", + "member": "package/dist/artplayer-plugin-dash-control.js", + "sha256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57", + "archiveSha256": "267955976510d1b381600577df6310bc00312748bf25c8379d8f63221ffcbfca" + }, + { + "name": "artplayer-plugin-auto-thumbnail", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-auto-thumbnail\\dist\\artplayer-plugin-auto-thumbnail.js", + "member": "package/dist/artplayer-plugin-auto-thumbnail.js", + "sha256": "22f3985cb4692ed864b274763995046e73c760543dcdf1524d33ad3f3bbed8a9", + "archiveSha256": "8b9ff1485dea65c2b6c30046f5eb30ff12c7d1ad14dd907fdda547d8b6c85a1b" + }, + { + "name": "artplayer-plugin-asr", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-asr\\dist\\artplayer-plugin-asr.js", + "member": "package/dist/artplayer-plugin-asr.js", + "sha256": "51679054326f6fff40be415483aa0571f0069792bad08c0a8392ce53dfe9cb70", + "archiveSha256": "23a99bc6b1e33ea23e74572b785f0b90f96ebd1de2f42ac0520ac605fa32f686" + }, + { + "name": "artplayer-plugin-chromecast", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-chromecast\\dist\\artplayer-plugin-chromecast.js", + "member": "package/dist/artplayer-plugin-chromecast.js", + "sha256": "80b12b3081086488c9d80f03979c336d4a6fdb44dca298e218dfeaaadb295d00", + "archiveSha256": "08aeaa026b393fab88a1363b76b4bfff8f2c50e7d38e0e86a5ce48d068463098" + }, + { + "name": "artplayer-proxy-mediabunny", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-proxy-mediabunny\\dist\\artplayer-proxy-mediabunny.js", + "member": "package/dist/artplayer-proxy-mediabunny.js", + "sha256": "23ce59f86e7159eedd4c371219c5ed58db83341e1f3fa3c67dcb8f1259e243cb", + "archiveSha256": "761c39b09727191651bb113d52c99a74edf7c6aec232960090348d21e62f1824" + }, + { + "name": "artplayer-plugin-jassub", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-jassub\\dist\\artplayer-plugin-jassub.js", + "member": "package/dist/artplayer-plugin-jassub.js", + "sha256": "6dc1e7a9e2172c4983c99b2e16c969a974039e6fe9a48b94817dd0a7a30fa995", + "archiveSha256": "da7035563d24f535435fbb1fcdded6739944349099e83beaa6bca05df51c0ecd" + }, + { + "name": "artplayer-plugin-danmuku", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.js", + "member": "package/dist/artplayer-plugin-danmuku.js", + "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36", + "archiveSha256": "f885cebdc07105770a7e5ca9cc0aacc0e891864bc24ff926d319bbb2dc1c3f49" + }, + { + "name": "artplayer-plugin-danmuku-mask", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-danmuku-mask\\dist\\artplayer-plugin-danmuku-mask.js", + "member": "package/dist/artplayer-plugin-danmuku-mask.js", + "sha256": "406a8c28207d386cffe1e61dc79afd8a6a9d5cbd1dc8e1661b4febbf48182f55", + "archiveSha256": "9d04f8be93127c783ab294cc2931cf7f80903de4bd72f3eda109578309a16529" + }, + { + "name": "artplayer-tool-iframe", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-tool-iframe\\dist\\artplayer-tool-iframe.js", + "member": "package/dist/artplayer-tool-iframe.js", + "sha256": "7408fceccb000e1b304abe30ac9bc364da7860c3896ad5aaa6af427804c237e6", + "archiveSha256": "1a093272e838069c9ea1287aac733ec1738d0c441da32be5fd2952c8a92b207e" + }, + { + "name": "artplayer-plugin-vast", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-vast\\dist\\artplayer-plugin-vast.js", + "member": "package/dist/artplayer-plugin-vast.js", + "sha256": "cebaf6a44f80079841205498c4f855ba4e5c804ae7958c06eadda524d728e079", + "archiveSha256": "fd51de2a86d7ba5fa35c21e02b862be848a2c5a1131a52dfecc22e2245a9edc2" + } + ], + "packagePreparation": { + "sourceHead": "5e0447fc514b581f7bc02caf175c3ce077bc5ca3", + "directory": "refactor/.cache/packages/run-cRduve", + "reportSha256": "9ba05333a7da25b8cdefb200e34fc165493908982dfae37241c8feae8081c582", + "command": "yarn test:package --browser", + "exitCode": 0, + "elapsedSeconds": 149.29, + "knownTypeBlockers": 0, + "knownRuntimeBlockers": 0, + "runtimeScope": [ + "artplayer", + "artplayer-plugin-chapter" + ], + "additionalTypeScope": [ + "artplayer-plugin-audio-track", + "artplayer-plugin-hls-control" + ], + "versions": [ + { + "name": "artplayer", + "version": "5.4.1", + "archiveSha256": "dbcb2c09a29ad2c7161cfe2f3ce2605c981b33b1bcc0fcce3dcd167b2b87fbea" + }, + { + "name": "artplayer-plugin-chapter", + "version": "1.1.0", + "archiveSha256": "2a283c6c43bfd13553ac3a6a056c971017384f3d2d5acaf4e0d63ec4ecb90680" + }, + { + "name": "artplayer-plugin-ambilight", + "version": "1.1.0", + "archiveSha256": "80661121642f43d47dd43e157aabf5f06505e4d7aad5718c2580c48210e082fb" + }, + { + "name": "artplayer-proxy-canvas", + "version": "1.1.0", + "archiveSha256": "30f42f0ff0e2400a2081f3375e3482ef1f9bc137c5e8981dd03e660bdae7ff91" + }, + { + "name": "artplayer-plugin-document-pip", + "version": "1.1.0", + "archiveSha256": "1cfd95e737f63bffa519c8f9e78daabdc8c914a5dd5f3b25354771c4761b6a73" + }, + { + "name": "artplayer-plugin-ads", + "version": "2.1.0", + "archiveSha256": "2617e3f9ce4d369dcd2399323f7950b673e5cd6e94551394c9fe10b185cf228a" + }, + { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "archiveSha256": "1b5bf9ed1e728ff921c2313d7d564d1e80cbebe01a6375398fd3628d29af5832" + }, + { + "name": "artplayer-plugin-vtt-thumbnail", + "version": "1.1.0", + "archiveSha256": "10c7b4b44db2d75aa69008966f993fda239c7681632aaeee6b2efa452e251682" + }, + { + "name": "artplayer-plugin-multiple-subtitles", + "version": "1.2.0", + "archiveSha256": "f60aca59946a4a97aa93346bb5f979ee9bf3e788f87557bd6bd823fc6199559f" + }, + { + "name": "artplayer-plugin-hls-control", + "version": "1.1.0", + "archiveSha256": "b7c44e9a5fa402dfa4d083e7f9bef3fff4f9866fd8366f51222df5d71a579996" + }, + { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "archiveSha256": "267955976510d1b381600577df6310bc00312748bf25c8379d8f63221ffcbfca" + }, + { + "name": "artplayer-plugin-auto-thumbnail", + "version": "1.1.0", + "archiveSha256": "8b9ff1485dea65c2b6c30046f5eb30ff12c7d1ad14dd907fdda547d8b6c85a1b" + }, + { + "name": "artplayer-plugin-asr", + "version": "2.1.0", + "archiveSha256": "23a99bc6b1e33ea23e74572b785f0b90f96ebd1de2f42ac0520ac605fa32f686" + }, + { + "name": "artplayer-plugin-chromecast", + "version": "1.1.0", + "archiveSha256": "08aeaa026b393fab88a1363b76b4bfff8f2c50e7d38e0e86a5ce48d068463098" + }, + { + "name": "artplayer-proxy-mediabunny", + "version": "1.2.0", + "archiveSha256": "761c39b09727191651bb113d52c99a74edf7c6aec232960090348d21e62f1824" + }, + { + "name": "artplayer-plugin-jassub", + "version": "1.1.0", + "archiveSha256": "da7035563d24f535435fbb1fcdded6739944349099e83beaa6bca05df51c0ecd" + }, + { + "name": "artplayer-plugin-danmuku", + "version": "5.3.0", + "archiveSha256": "f885cebdc07105770a7e5ca9cc0aacc0e891864bc24ff926d319bbb2dc1c3f49" + }, + { + "name": "artplayer-plugin-danmuku-mask", + "version": "1.1.0", + "archiveSha256": "9d04f8be93127c783ab294cc2931cf7f80903de4bd72f3eda109578309a16529" + }, + { + "name": "artplayer-tool-iframe", + "version": "1.1.0", + "archiveSha256": "1a093272e838069c9ea1287aac733ec1738d0c441da32be5fd2952c8a92b207e" + }, + { + "name": "artplayer-plugin-vast", + "version": "1.2.0", + "archiveSha256": "fd51de2a86d7ba5fa35c21e02b862be848a2c5a1131a52dfecc22e2245a9edc2" + } + ] + }, + "groups": [ + { + "file": "ads-ui.spec.js", + "expected": 9, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 29577 + }, + { + "file": "ads.spec.js", + "expected": 48, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 181909 + }, + { + "file": "ambilight-lifecycle.spec.js", + "expected": 6, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 45670 + }, + { + "file": "ambilight-proxy.spec.js", + "expected": 3, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 12500 + }, + { + "file": "asr-audio-track.spec.js", + "expected": 0, + "unexpected": 0, + "flaky": 0, + "skipped": 4, + "durationMs": 1773 + }, + { + "file": "asr-audio.spec.js", + "expected": 0, + "unexpected": 0, + "flaky": 0, + "skipped": 9, + "durationMs": 4167 + }, + { + "file": "asr-capture-cors.spec.js", + "expected": 0, + "unexpected": 0, + "flaky": 0, + "skipped": 2, + "durationMs": 927 + }, + { + "file": "asr-cors.spec.js", + "expected": 0, + "unexpected": 0, + "flaky": 0, + "skipped": 12, + "durationMs": 4470 + }, + { + "file": "asr-fallback.spec.js", + "expected": 0, + "unexpected": 0, + "flaky": 0, + "skipped": 9, + "durationMs": 3448 + }, + { + "file": "asr-initial-error.spec.js", + "expected": 6, + "unexpected": 0, + "flaky": 0, + "skipped": 6, + "durationMs": 13860 + }, + { + "file": "asr-media-error.spec.js", + "expected": 0, + "unexpected": 0, + "flaky": 0, + "skipped": 6, + "durationMs": 2418 + }, + { + "file": "asr-no-audio.spec.js", + "expected": 0, + "unexpected": 0, + "flaky": 0, + "skipped": 4, + "durationMs": 1566 + }, + { + "file": "asr-playback.spec.js", + "expected": 0, + "unexpected": 0, + "flaky": 0, + "skipped": 6, + "durationMs": 2248 + }, + { + "file": "audio-buffering.spec.js", + "expected": 0, + "unexpected": 8, + "flaky": 0, + "skipped": 0, + "durationMs": 117849 + }, + { + "file": "audio-combinations.spec.js", + "expected": 12, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 41412 + }, + { + "file": "audio-track.spec.js", + "expected": 14, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 40123 + }, + { + "file": "auto-thumbnail-lifecycle.spec.js", + "expected": 10, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 10744 + }, + { + "file": "auto-thumbnail-pixels.spec.js", + "expected": 2, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 8092 + }, + { + "file": "auto-thumbnail-registration.spec.js", + "expected": 2, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 925 + }, + { + "file": "auto-thumbnail.spec.js", + "expected": 3, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 5625 + }, + { + "file": "canvas-dpip.spec.js", + "expected": 6, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 2208 + }, + { + "file": "canvas-lifecycle.spec.js", + "expected": 6, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 13602 + }, + { + "file": "canvas-subtitles.spec.js", + "expected": 2, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 6056 + }, + { + "file": "chapter-combinations.spec.js", + "expected": 19, + "unexpected": 1, + "flaky": 0, + "skipped": 0, + "durationMs": 89370 + }, + { + "file": "chapter-hover.spec.js", + "expected": 2, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 7169 + }, + { + "file": "chapter.spec.js", + "expected": 14, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 20246 + }, + { + "file": "chromecast-lifecycle.spec.js", + "expected": 15, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 36861 + }, + { + "file": "danmuku-baseline.spec.js", + "expected": 16, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 69015 + }, + { + "file": "danmuku-dpip.spec.js", + "expected": 16, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 5540 + }, + { + "file": "danmuku-fullscreen.spec.js", + "expected": 8, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 76147 + }, + { + "file": "danmuku-heatmap-density.spec.js", + "expected": 6, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 20747 + }, + { + "file": "danmuku-input.spec.js", + "expected": 8, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 8700 + }, + { + "file": "danmuku-lifetime.spec.js", + "expected": 16, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 63950 + }, + { + "file": "danmuku-load-baseline.spec.js", + "expected": 2, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 13325 + }, + { + "file": "danmuku-mask-boundary.spec.js", + "expected": 2, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 5169 + }, + { + "file": "danmuku-mask-native.spec.js", + "expected": 9, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 138885 + }, + { + "file": "danmuku-resources.spec.js", + "expected": 16, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 28094 + }, + { + "file": "danmuku-scheduler.spec.js", + "expected": 22, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 80329 + }, + { + "file": "danmuku-stability.spec.js", + "expected": 8, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 372272 + }, + { + "file": "danmuku-timing-diagnostic.spec.js", + "expected": 3, + "unexpected": 1, + "flaky": 0, + "skipped": 0, + "durationMs": 20713 + }, + { + "file": "dash-control.spec.js", + "expected": 32, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 81224 + }, + { + "file": "dash-sdk.spec.js", + "expected": 2, + "unexpected": 0, + "flaky": 0, + "skipped": 48, + "durationMs": 23239 + }, + { + "file": "hls-control.spec.js", + "expected": 1, + "unexpected": 0, + "flaky": 0, + "skipped": 16, + "durationMs": 589 + }, + { + "file": "hls-sdk.spec.js", + "expected": 2, + "unexpected": 0, + "flaky": 0, + "skipped": 16, + "durationMs": 1365 + }, + { + "file": "iframe-boundaries.spec.js", + "expected": 20, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 16987 + }, + { + "file": "iframe-editor.spec.js", + "expected": 1, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 6912 + }, + { + "file": "iframe-navigation.spec.js", + "expected": 39, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 38325 + }, + { + "file": "iframe-player.spec.js", + "expected": 24, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 165866 + }, + { + "file": "iframe.spec.js", + "expected": 58, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 44808 + }, + { + "file": "initialization.spec.js", + "expected": 12, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 4794 + }, + { + "file": "jassub-hybrid.spec.js", + "expected": 1, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 2135 + }, + { + "file": "jassub-lifecycle.spec.js", + "expected": 4, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 6473 + }, + { + "file": "jassub-native.spec.js", + "expected": 3, + "unexpected": 3, + "flaky": 0, + "skipped": 0, + "durationMs": 40254 + }, + { + "file": "jassub-platform.spec.js", + "expected": 3, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 5507 + }, + { + "file": "jassub-render-failure.spec.js", + "expected": 1, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 1499 + }, + { + "file": "lifecycle.spec.js", + "expected": 10, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 4767 + }, + { + "file": "mediabunny-audio.spec.js", + "expected": 8, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 4134 + }, + { + "file": "mediabunny-capability.spec.js", + "expected": 10, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 6497 + }, + { + "file": "mediabunny-dpip.spec.js", + "expected": 12, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 4185 + }, + { + "file": "mediabunny-entry.spec.js", + "expected": 4, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 1964 + }, + { + "file": "mediabunny-hls.spec.js", + "expected": 10, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 8009 + }, + { + "file": "mediabunny-inputs.spec.js", + "expected": 18, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 9784 + }, + { + "file": "mediabunny-load.spec.js", + "expected": 3, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 3352 + }, + { + "file": "mediabunny-shim.spec.js", + "expected": 3, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 1270 + }, + { + "file": "mediabunny-video.spec.js", + "expected": 5, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 2608 + }, + { + "file": "mediabunny.spec.js", + "expected": 3, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 1862 + }, + { + "file": "multiple-subtitles-ass.spec.js", + "expected": 5, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 13432 + }, + { + "file": "multiple-subtitles-combinations.spec.js", + "expected": 19, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 57485 + }, + { + "file": "multiple-subtitles-entities.spec.js", + "expected": 2, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 5236 + }, + { + "file": "multiple-subtitles-history.spec.js", + "expected": 6, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 9833 + }, + { + "file": "multiple-subtitles-legacy.spec.js", + "expected": 2, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 5412 + }, + { + "file": "multiple-subtitles-lifecycle.spec.js", + "expected": 12, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 22002 + }, + { + "file": "multiple-subtitles-switch.spec.js", + "expected": 9, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 39713 + }, + { + "file": "playback.spec.js", + "expected": 4, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 9884 + }, + { + "file": "vast-package.spec.js", + "expected": 12, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 14478 + }, + { + "file": "vtt-thumbnail-combinations.spec.js", + "expected": 17, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 51536 + }, + { + "file": "vtt-thumbnail-lifecycle.spec.js", + "expected": 6, + "unexpected": 0, + "flaky": 0, + "skipped": 0, + "durationMs": 6785 + } + ], + "skippedReasons": [ + { + "file": "asr-audio-track.spec.js", + "title": "published core + ASR/audio-track: pause, update, ASR stop and destroy preserve separate ownership", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native AudioContext/AudioWorklet; Safari and physical-device composition remain unverified", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio-track.spec.js", + "line": 36, + "column": 10 + } + } + ] + }, + { + "file": "asr-audio-track.spec.js", + "title": "published core + ASR/audio-track: capture follows main media, not the independent audible track", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native AudioContext/AudioWorklet; Safari and physical-device composition remain unverified", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio-track.spec.js", + "line": 36, + "column": 10 + } + } + ] + }, + { + "file": "asr-audio-track.spec.js", + "title": "candidate core + ASR/audio-track: pause, update, ASR stop and destroy preserve separate ownership", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native AudioContext/AudioWorklet; Safari and physical-device composition remain unverified", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio-track.spec.js", + "line": 36, + "column": 10 + } + } + ] + }, + { + "file": "asr-audio-track.spec.js", + "title": "candidate core + ASR/audio-track: capture follows main media, not the independent audible track", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native AudioContext/AudioWorklet; Safari and physical-device composition remain unverified", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio-track.spec.js", + "line": 36, + "column": 10 + } + } + ] + }, + { + "file": "asr-audio.spec.js", + "title": "ASR 2.0.0 + published-5.3.0: native Worklet supplies local PCM with owned stop and destroy", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit 26.6 has no AudioContext/AudioWorkletNode; native ASR acceptance remains open", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio.spec.js", + "line": 33, + "column": 14 + } + } + ] + }, + { + "file": "asr-audio.spec.js", + "title": "ASR 2.0.0 + published: native Worklet supplies local PCM with owned stop and destroy", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit 26.6 has no AudioContext/AudioWorkletNode; native ASR acceptance remains open", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio.spec.js", + "line": 33, + "column": 14 + } + } + ] + }, + { + "file": "asr-audio.spec.js", + "title": "ASR 2.0.0 + candidate: native Worklet supplies local PCM with owned stop and destroy", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit 26.6 has no AudioContext/AudioWorkletNode; native ASR acceptance remains open", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio.spec.js", + "line": 33, + "column": 14 + } + } + ] + }, + { + "file": "asr-audio.spec.js", + "title": "ASR 2.1.0 + published-5.3.0: native Worklet supplies local PCM with owned stop and destroy", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit 26.6 has no AudioContext/AudioWorkletNode; native ASR acceptance remains open", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio.spec.js", + "line": 33, + "column": 14 + } + } + ] + }, + { + "file": "asr-audio.spec.js", + "title": "ASR 2.1.0 + published: native Worklet supplies local PCM with owned stop and destroy", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit 26.6 has no AudioContext/AudioWorkletNode; native ASR acceptance remains open", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio.spec.js", + "line": 33, + "column": 14 + } + } + ] + }, + { + "file": "asr-audio.spec.js", + "title": "ASR 2.1.0 + candidate: native Worklet supplies local PCM with owned stop and destroy", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit 26.6 has no AudioContext/AudioWorkletNode; native ASR acceptance remains open", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio.spec.js", + "line": 33, + "column": 14 + } + } + ] + }, + { + "file": "asr-audio.spec.js", + "title": "ASR candidate + published-5.3.0: native Worklet supplies local PCM with owned stop and destroy", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit 26.6 has no AudioContext/AudioWorkletNode; native ASR acceptance remains open", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio.spec.js", + "line": 33, + "column": 14 + } + } + ] + }, + { + "file": "asr-audio.spec.js", + "title": "ASR candidate + published: native Worklet supplies local PCM with owned stop and destroy", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit 26.6 has no AudioContext/AudioWorkletNode; native ASR acceptance remains open", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio.spec.js", + "line": 33, + "column": 14 + } + } + ] + }, + { + "file": "asr-audio.spec.js", + "title": "ASR candidate + candidate: native Worklet supplies local PCM with owned stop and destroy", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit 26.6 has no AudioContext/AudioWorkletNode; native ASR acceptance remains open", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio.spec.js", + "line": 33, + "column": 14 + } + } + ] + }, + { + "file": "asr-capture-cors.spec.js", + "title": "ASR explicit capture + published: opaque media keeps native routing and same-origin capture recovers", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks AudioContext/AudioWorklet; this is not Safari/device CORS acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-capture-cors.spec.js", + "line": 43, + "column": 12 + } + } + ] + }, + { + "file": "asr-capture-cors.spec.js", + "title": "ASR explicit capture + candidate: opaque media keeps native routing and same-origin capture recovers", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks AudioContext/AudioWorklet; this is not Safari/device CORS acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-capture-cors.spec.js", + "line": 43, + "column": 12 + } + } + ] + }, + { + "file": "asr-cors.spec.js", + "title": "ASR 2.1.0 + published: anonymous-cors native audio access and source recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js", + "line": 29, + "column": 16 + } + } + ] + }, + { + "file": "asr-cors.spec.js", + "title": "ASR 2.1.0 + published: opaque native audio access and source recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js", + "line": 29, + "column": 16 + } + } + ] + }, + { + "file": "asr-cors.spec.js", + "title": "ASR 2.1.0 + published: opaque-redirect native audio access and source recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js", + "line": 29, + "column": 16 + } + } + ] + }, + { + "file": "asr-cors.spec.js", + "title": "ASR 2.1.0 + candidate: anonymous-cors native audio access and source recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js", + "line": 29, + "column": 16 + } + } + ] + }, + { + "file": "asr-cors.spec.js", + "title": "ASR 2.1.0 + candidate: opaque native audio access and source recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js", + "line": 29, + "column": 16 + } + } + ] + }, + { + "file": "asr-cors.spec.js", + "title": "ASR 2.1.0 + candidate: opaque-redirect native audio access and source recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js", + "line": 29, + "column": 16 + } + } + ] + }, + { + "file": "asr-cors.spec.js", + "title": "ASR candidate + published: anonymous-cors native audio access and source recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js", + "line": 29, + "column": 16 + } + } + ] + }, + { + "file": "asr-cors.spec.js", + "title": "ASR candidate + published: opaque native audio access and source recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js", + "line": 29, + "column": 16 + } + } + ] + }, + { + "file": "asr-cors.spec.js", + "title": "ASR candidate + published: opaque-redirect native audio access and source recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js", + "line": 29, + "column": 16 + } + } + ] + }, + { + "file": "asr-cors.spec.js", + "title": "ASR candidate + candidate: anonymous-cors native audio access and source recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js", + "line": 29, + "column": 16 + } + } + ] + }, + { + "file": "asr-cors.spec.js", + "title": "ASR candidate + candidate: opaque native audio access and source recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js", + "line": 29, + "column": 16 + } + } + ] + }, + { + "file": "asr-cors.spec.js", + "title": "ASR candidate + candidate: opaque-redirect native audio access and source recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js", + "line": 29, + "column": 16 + } + } + ] + }, + { + "file": "asr-fallback.spec.js", + "title": "ASR 2.1.0 + published-5.3.0: native capture fallback does not create a second audible route", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no native WebAudio", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js", + "line": 28, + "column": 14 + } + } + ] + }, + { + "file": "asr-fallback.spec.js", + "title": "ASR 2.1.0 + published: native capture fallback does not create a second audible route", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no native WebAudio", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js", + "line": 28, + "column": 14 + } + } + ] + }, + { + "file": "asr-fallback.spec.js", + "title": "ASR 2.1.0 + candidate: native capture fallback does not create a second audible route", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no native WebAudio", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js", + "line": 28, + "column": 14 + } + } + ] + }, + { + "file": "asr-fallback.spec.js", + "title": "ASR candidate + published-5.3.0: native capture fallback does not create a second audible route", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no native WebAudio", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js", + "line": 28, + "column": 14 + } + } + ] + }, + { + "file": "asr-fallback.spec.js", + "title": "ASR candidate + published: native capture fallback does not create a second audible route", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no native WebAudio", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js", + "line": 28, + "column": 14 + } + } + ] + }, + { + "file": "asr-fallback.spec.js", + "title": "ASR candidate + candidate: native capture fallback does not create a second audible route", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no native WebAudio", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js", + "line": 28, + "column": 14 + } + } + ] + }, + { + "file": "asr-fallback.spec.js", + "title": "ASR candidate capture + published-5.3.0: native capture fallback does not create a second audible route", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no native WebAudio", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js", + "line": 28, + "column": 14 + } + } + ] + }, + { + "file": "asr-fallback.spec.js", + "title": "ASR candidate capture + published: native capture fallback does not create a second audible route", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no native WebAudio", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js", + "line": 28, + "column": 14 + } + } + ] + }, + { + "file": "asr-fallback.spec.js", + "title": "ASR candidate capture + candidate: native capture fallback does not create a second audible route", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no native WebAudio", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js", + "line": 28, + "column": 14 + } + } + ] + }, + { + "file": "asr-initial-error.spec.js", + "title": "ASR default + published-5.3.0: initial unsupported media recovers on the first valid source", + "annotations": [ + { + "type": "skip", + "description": "Initial failure checked; WebKit lacks WebAudio for recovery, not Safari acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-initial-error.spec.js", + "line": 92, + "column": 14 + } + } + ] + }, + { + "file": "asr-initial-error.spec.js", + "title": "ASR capture + published-5.3.0: initial unsupported media recovers on the first valid source", + "annotations": [ + { + "type": "skip", + "description": "Initial failure checked; WebKit lacks WebAudio for recovery, not Safari acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-initial-error.spec.js", + "line": 92, + "column": 14 + } + } + ] + }, + { + "file": "asr-initial-error.spec.js", + "title": "ASR default + published: initial unsupported media recovers on the first valid source", + "annotations": [ + { + "type": "skip", + "description": "Initial failure checked; WebKit lacks WebAudio for recovery, not Safari acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-initial-error.spec.js", + "line": 92, + "column": 14 + } + } + ] + }, + { + "file": "asr-initial-error.spec.js", + "title": "ASR capture + published: initial unsupported media recovers on the first valid source", + "annotations": [ + { + "type": "skip", + "description": "Initial failure checked; WebKit lacks WebAudio for recovery, not Safari acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-initial-error.spec.js", + "line": 92, + "column": 14 + } + } + ] + }, + { + "file": "asr-initial-error.spec.js", + "title": "ASR default + candidate: initial unsupported media recovers on the first valid source", + "annotations": [ + { + "type": "skip", + "description": "Initial failure checked; WebKit lacks WebAudio for recovery, not Safari acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-initial-error.spec.js", + "line": 92, + "column": 14 + } + } + ] + }, + { + "file": "asr-initial-error.spec.js", + "title": "ASR capture + candidate: initial unsupported media recovers on the first valid source", + "annotations": [ + { + "type": "skip", + "description": "Initial failure checked; WebKit lacks WebAudio for recovery, not Safari acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-initial-error.spec.js", + "line": 92, + "column": 14 + } + } + ] + }, + { + "file": "asr-media-error.spec.js", + "title": "ASR default + published-5.3.0: native media error invalidates pending recognition and permits recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; not Safari/device ASR acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-media-error.spec.js", + "line": 29, + "column": 14 + } + } + ] + }, + { + "file": "asr-media-error.spec.js", + "title": "ASR capture + published-5.3.0: native media error invalidates pending recognition and permits recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; not Safari/device ASR acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-media-error.spec.js", + "line": 29, + "column": 14 + } + } + ] + }, + { + "file": "asr-media-error.spec.js", + "title": "ASR default + published: native media error invalidates pending recognition and permits recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; not Safari/device ASR acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-media-error.spec.js", + "line": 29, + "column": 14 + } + } + ] + }, + { + "file": "asr-media-error.spec.js", + "title": "ASR capture + published: native media error invalidates pending recognition and permits recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; not Safari/device ASR acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-media-error.spec.js", + "line": 29, + "column": 14 + } + } + ] + }, + { + "file": "asr-media-error.spec.js", + "title": "ASR default + candidate: native media error invalidates pending recognition and permits recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; not Safari/device ASR acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-media-error.spec.js", + "line": 29, + "column": 14 + } + } + ] + }, + { + "file": "asr-media-error.spec.js", + "title": "ASR capture + candidate: native media error invalidates pending recognition and permits recovery", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native WebAudio; not Safari/device ASR acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-media-error.spec.js", + "line": 29, + "column": 14 + } + } + ] + }, + { + "file": "asr-no-audio.spec.js", + "title": "ASR default + published: video-only input keeps playback and recovers audio capture after switching", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no WebAudio; not an Apple-device ASR acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-no-audio.spec.js", + "line": 36, + "column": 14 + } + } + ] + }, + { + "file": "asr-no-audio.spec.js", + "title": "ASR capture + published: video-only input keeps playback and recovers audio capture after switching", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no WebAudio; not an Apple-device ASR acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-no-audio.spec.js", + "line": 36, + "column": 14 + } + } + ] + }, + { + "file": "asr-no-audio.spec.js", + "title": "ASR default + candidate: video-only input keeps playback and recovers audio capture after switching", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no WebAudio; not an Apple-device ASR acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-no-audio.spec.js", + "line": 36, + "column": 14 + } + } + ] + }, + { + "file": "asr-no-audio.spec.js", + "title": "ASR capture + candidate: video-only input keeps playback and recovers audio capture after switching", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no WebAudio; not an Apple-device ASR acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-no-audio.spec.js", + "line": 36, + "column": 14 + } + } + ] + }, + { + "file": "asr-playback.spec.js", + "title": "ASR 2.1.0 + published-5.3.0: native playback volume and mute", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native AudioContext/AudioWorkletNode", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-playback.spec.js", + "line": 27, + "column": 14 + } + } + ] + }, + { + "file": "asr-playback.spec.js", + "title": "ASR 2.1.0 + published: native playback volume and mute", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native AudioContext/AudioWorkletNode", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-playback.spec.js", + "line": 27, + "column": 14 + } + } + ] + }, + { + "file": "asr-playback.spec.js", + "title": "ASR 2.1.0 + candidate: native playback volume and mute", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native AudioContext/AudioWorkletNode", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-playback.spec.js", + "line": 27, + "column": 14 + } + } + ] + }, + { + "file": "asr-playback.spec.js", + "title": "ASR candidate + published-5.3.0: native playback volume and mute", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native AudioContext/AudioWorkletNode", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-playback.spec.js", + "line": 27, + "column": 14 + } + } + ] + }, + { + "file": "asr-playback.spec.js", + "title": "ASR candidate + published: native playback volume and mute", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native AudioContext/AudioWorkletNode", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-playback.spec.js", + "line": 27, + "column": 14 + } + } + ] + }, + { + "file": "asr-playback.spec.js", + "title": "ASR candidate + candidate: native playback volume and mute", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit lacks native AudioContext/AudioWorkletNode", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\asr-playback.spec.js", + "line": 27, + "column": 14 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / published DASH / 4.5.2: real MPD decoding and UI selection", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / candidate DASH / 4.5.2: real MPD decoding and UI selection", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / candidate DASH / 5.2.1: real MPD decoding and UI selection", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / published DASH / 4.5.2: real MPD decoding and UI selection", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / candidate DASH / 4.5.2: real MPD decoding and UI selection", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / candidate DASH / 5.2.1: real MPD decoding and UI selection", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / candidate DASH 4.5.2: stable paused boundary seek preserves media and SDK ownership", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / candidate DASH 5.2.1: stable paused boundary seek preserves media and SDK ownership", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / candidate DASH 4.5.2: stable paused boundary seek preserves media and SDK ownership", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / candidate DASH 5.2.1: stable paused boundary seek preserves media and SDK ownership", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "dash.js 4.5.2: native SDK track switch and paused seek without ArtPlayer", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; no native DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 293, + "column": 10 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "dash.js 5.2.1: native SDK track switch and paused seek without ArtPlayer", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; no native DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 293, + "column": 10 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 4.5.2: SDK refresh preserves the open quality settings panel", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 4.5.2: actual settings quality selection survives SDK refresh", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 4.5.2: SDK refresh preserves the open audio settings panel", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 4.5.2: actual settings audio selection survives SDK refresh", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 4.5.2: same SDK source replacement refreshes topology without plugin update", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 4.5.2: asynchronous formatter error clears menus and explicit update recovers", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 4.5.2: SDK events refresh external selections without explicit update", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 4.5.2: explicit update reflects external SDK selection", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 4.5.2: actual source topology replacement and owned cleanup", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 5.2.1: SDK refresh preserves the open quality settings panel", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 5.2.1: actual settings quality selection survives SDK refresh", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 5.2.1: SDK refresh preserves the open audio settings panel", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 5.2.1: actual settings audio selection survives SDK refresh", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 5.2.1: same SDK source replacement refreshes topology without plugin update", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 5.2.1: asynchronous formatter error clears menus and explicit update recovers", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 5.2.1: SDK events refresh external selections without explicit update", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 5.2.1: explicit update reflects external SDK selection", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "published core / DASH 5.2.1: actual source topology replacement and owned cleanup", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 4.5.2: SDK refresh preserves the open quality settings panel", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 4.5.2: actual settings quality selection survives SDK refresh", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 4.5.2: SDK refresh preserves the open audio settings panel", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 4.5.2: actual settings audio selection survives SDK refresh", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 4.5.2: same SDK source replacement refreshes topology without plugin update", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 4.5.2: asynchronous formatter error clears menus and explicit update recovers", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 4.5.2: SDK events refresh external selections without explicit update", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 4.5.2: explicit update reflects external SDK selection", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 4.5.2: actual source topology replacement and owned cleanup", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 5.2.1: SDK refresh preserves the open quality settings panel", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 5.2.1: actual settings quality selection survives SDK refresh", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 5.2.1: SDK refresh preserves the open audio settings panel", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 5.2.1: actual settings audio selection survives SDK refresh", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 5.2.1: same SDK source replacement refreshes topology without plugin update", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 5.2.1: asynchronous formatter error clears menus and explicit update recovers", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 5.2.1: SDK events refresh external selections without explicit update", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 5.2.1: explicit update reflects external SDK selection", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "dash-sdk.spec.js", + "title": "candidate core / DASH 5.2.1: actual source topology replacement and owned cleanup", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ] + }, + { + "file": "hls-control.spec.js", + "title": "published core / published HLS: real decoding, manual quality, Auto and audio", + "annotations": [ + { + "type": "skip", + "description": "Bundled Windows WebKit exposes neither MediaSource nor ManagedMediaSource; this is an unverified playback environment, not compatibility approval", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-control.spec.js", + "line": 116, + "column": 8 + } + } + ] + }, + { + "file": "hls-control.spec.js", + "title": "published core / published HLS: failed manifest and actual SDK teardown", + "annotations": [ + { + "type": "skip", + "description": "Bundled Windows WebKit exposes neither MediaSource nor ManagedMediaSource; this is an unverified playback environment, not compatibility approval", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-control.spec.js", + "line": 116, + "column": 8 + } + } + ] + }, + { + "file": "hls-control.spec.js", + "title": "published core / published HLS: source switch drops SDK audio topology", + "annotations": [ + { + "type": "skip", + "description": "Bundled Windows WebKit exposes neither MediaSource nor ManagedMediaSource; this is an unverified playback environment, not compatibility approval", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-control.spec.js", + "line": 116, + "column": 8 + } + } + ] + }, + { + "file": "hls-control.spec.js", + "title": "published core / candidate HLS: real decoding, manual quality, Auto and audio", + "annotations": [ + { + "type": "skip", + "description": "Bundled Windows WebKit exposes neither MediaSource nor ManagedMediaSource; this is an unverified playback environment, not compatibility approval", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-control.spec.js", + "line": 116, + "column": 8 + } + } + ] + }, + { + "file": "hls-control.spec.js", + "title": "published core / candidate HLS: failed manifest and actual SDK teardown", + "annotations": [ + { + "type": "skip", + "description": "Bundled Windows WebKit exposes neither MediaSource nor ManagedMediaSource; this is an unverified playback environment, not compatibility approval", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-control.spec.js", + "line": 116, + "column": 8 + } + } + ] + }, + { + "file": "hls-control.spec.js", + "title": "published core / candidate HLS: source switch drops SDK audio topology", + "annotations": [ + { + "type": "skip", + "description": "Bundled Windows WebKit exposes neither MediaSource nor ManagedMediaSource; this is an unverified playback environment, not compatibility approval", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-control.spec.js", + "line": 116, + "column": 8 + } + } + ] + }, + { + "file": "hls-control.spec.js", + "title": "published core / published HLS: real Auto playback loses Auto label on update", + "annotations": [ + { + "type": "skip", + "description": "Bundled Windows WebKit exposes neither MediaSource nor ManagedMediaSource; this is an unverified playback environment, not compatibility approval", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-control.spec.js", + "line": 116, + "column": 8 + } + } + ] + }, + { + "file": "hls-control.spec.js", + "title": "published core / candidate HLS: SDK events synchronize Auto and audio without replacing menus", + "annotations": [ + { + "type": "skip", + "description": "Bundled Windows WebKit exposes neither MediaSource nor ManagedMediaSource; this is an unverified playback environment, not compatibility approval", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-control.spec.js", + "line": 116, + "column": 8 + } + } + ] + }, + { + "file": "hls-control.spec.js", + "title": "candidate core / published HLS: real decoding, manual quality, Auto and audio", + "annotations": [ + { + "type": "skip", + "description": "Bundled Windows WebKit exposes neither MediaSource nor ManagedMediaSource; this is an unverified playback environment, not compatibility approval", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-control.spec.js", + "line": 116, + "column": 8 + } + } + ] + }, + { + "file": "hls-control.spec.js", + "title": "candidate core / published HLS: failed manifest and actual SDK teardown", + "annotations": [ + { + "type": "skip", + "description": "Bundled Windows WebKit exposes neither MediaSource nor ManagedMediaSource; this is an unverified playback environment, not compatibility approval", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-control.spec.js", + "line": 116, + "column": 8 + } + } + ] + }, + { + "file": "hls-control.spec.js", + "title": "candidate core / published HLS: source switch drops SDK audio topology", + "annotations": [ + { + "type": "skip", + "description": "Bundled Windows WebKit exposes neither MediaSource nor ManagedMediaSource; this is an unverified playback environment, not compatibility approval", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-control.spec.js", + "line": 116, + "column": 8 + } + } + ] + }, + { + "file": "hls-control.spec.js", + "title": "candidate core / candidate HLS: real decoding, manual quality, Auto and audio", + "annotations": [ + { + "type": "skip", + "description": "Bundled Windows WebKit exposes neither MediaSource nor ManagedMediaSource; this is an unverified playback environment, not compatibility approval", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-control.spec.js", + "line": 116, + "column": 8 + } + } + ] + }, + { + "file": "hls-control.spec.js", + "title": "candidate core / candidate HLS: failed manifest and actual SDK teardown", + "annotations": [ + { + "type": "skip", + "description": "Bundled Windows WebKit exposes neither MediaSource nor ManagedMediaSource; this is an unverified playback environment, not compatibility approval", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-control.spec.js", + "line": 116, + "column": 8 + } + } + ] + }, + { + "file": "hls-control.spec.js", + "title": "candidate core / candidate HLS: source switch drops SDK audio topology", + "annotations": [ + { + "type": "skip", + "description": "Bundled Windows WebKit exposes neither MediaSource nor ManagedMediaSource; this is an unverified playback environment, not compatibility approval", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-control.spec.js", + "line": 116, + "column": 8 + } + } + ] + }, + { + "file": "hls-control.spec.js", + "title": "candidate core / published HLS: real Auto playback loses Auto label on update", + "annotations": [ + { + "type": "skip", + "description": "Bundled Windows WebKit exposes neither MediaSource nor ManagedMediaSource; this is an unverified playback environment, not compatibility approval", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-control.spec.js", + "line": 116, + "column": 8 + } + } + ] + }, + { + "file": "hls-control.spec.js", + "title": "candidate core / candidate HLS: SDK events synchronize Auto and audio without replacing menus", + "annotations": [ + { + "type": "skip", + "description": "Bundled Windows WebKit exposes neither MediaSource nor ManagedMediaSource; this is an unverified playback environment, not compatibility approval", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-control.spec.js", + "line": 116, + "column": 8 + } + } + ] + }, + { + "file": "hls-sdk.spec.js", + "title": "published core / published plugin: actual worker playback, source replacement and cleanup", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no MSE; explicit capability/error cleanup is tested separately", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-sdk.spec.js", + "line": 144, + "column": 10 + } + } + ] + }, + { + "file": "hls-sdk.spec.js", + "title": "published core / candidate plugin: actual worker playback, source replacement and cleanup", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no MSE; explicit capability/error cleanup is tested separately", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-sdk.spec.js", + "line": 144, + "column": 10 + } + } + ] + }, + { + "file": "hls-sdk.spec.js", + "title": "published core: group changes reindex actual audio tracks and UI", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no MSE; explicit capability/error cleanup is tested separately", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-sdk.spec.js", + "line": 144, + "column": 10 + } + } + ] + }, + { + "file": "hls-sdk.spec.js", + "title": "published core: actual SDK detaches and reattaches to the same media", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no MSE; explicit capability/error cleanup is tested separately", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-sdk.spec.js", + "line": 144, + "column": 10 + } + } + ] + }, + { + "file": "hls-sdk.spec.js", + "title": "candidate core / published plugin: actual worker playback, source replacement and cleanup", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no MSE; explicit capability/error cleanup is tested separately", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-sdk.spec.js", + "line": 144, + "column": 10 + } + } + ] + }, + { + "file": "hls-sdk.spec.js", + "title": "candidate core / candidate plugin: actual worker playback, source replacement and cleanup", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no MSE; explicit capability/error cleanup is tested separately", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-sdk.spec.js", + "line": 144, + "column": 10 + } + } + ] + }, + { + "file": "hls-sdk.spec.js", + "title": "candidate core: group changes reindex actual audio tracks and UI", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no MSE; explicit capability/error cleanup is tested separately", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-sdk.spec.js", + "line": 144, + "column": 10 + } + } + ] + }, + { + "file": "hls-sdk.spec.js", + "title": "candidate core: actual SDK detaches and reattaches to the same media", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no MSE; explicit capability/error cleanup is tested separately", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-sdk.spec.js", + "line": 144, + "column": 10 + } + } + ] + }, + { + "file": "hls-sdk.spec.js", + "title": "published core / published plugin: actual worker playback, source replacement and cleanup", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no MSE; explicit capability/error cleanup is tested separately", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-sdk.spec.js", + "line": 144, + "column": 10 + } + } + ] + }, + { + "file": "hls-sdk.spec.js", + "title": "published core / candidate plugin: actual worker playback, source replacement and cleanup", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no MSE; explicit capability/error cleanup is tested separately", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-sdk.spec.js", + "line": 144, + "column": 10 + } + } + ] + }, + { + "file": "hls-sdk.spec.js", + "title": "published core: group changes reindex actual audio tracks and UI", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no MSE; explicit capability/error cleanup is tested separately", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-sdk.spec.js", + "line": 144, + "column": 10 + } + } + ] + }, + { + "file": "hls-sdk.spec.js", + "title": "published core: actual SDK detaches and reattaches to the same media", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no MSE; explicit capability/error cleanup is tested separately", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-sdk.spec.js", + "line": 144, + "column": 10 + } + } + ] + }, + { + "file": "hls-sdk.spec.js", + "title": "candidate core / published plugin: actual worker playback, source replacement and cleanup", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no MSE; explicit capability/error cleanup is tested separately", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-sdk.spec.js", + "line": 144, + "column": 10 + } + } + ] + }, + { + "file": "hls-sdk.spec.js", + "title": "candidate core / candidate plugin: actual worker playback, source replacement and cleanup", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no MSE; explicit capability/error cleanup is tested separately", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-sdk.spec.js", + "line": 144, + "column": 10 + } + } + ] + }, + { + "file": "hls-sdk.spec.js", + "title": "candidate core: group changes reindex actual audio tracks and UI", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no MSE; explicit capability/error cleanup is tested separately", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-sdk.spec.js", + "line": 144, + "column": 10 + } + } + ] + }, + { + "file": "hls-sdk.spec.js", + "title": "candidate core: actual SDK detaches and reattaches to the same media", + "annotations": [ + { + "type": "skip", + "description": "Windows WebKit has no MSE; explicit capability/error cleanup is tested separately", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\hls-sdk.spec.js", + "line": 144, + "column": 10 + } + } + ] + } + ], + "failures": [ + { + "file": "audio-buffering.spec.js", + "title": "published core + published audio: real video starvation resumes after network release", + "project": "webkit", + "status": "timedOut", + "retry": 0, + "errors": [ + { + "message": "\u001b[31mTest timeout of 20000ms exceeded.\u001b[39m" + }, + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js", + "column": 76, + "line": 50 + }, + "message": "Error: page.evaluate: Target page, context or browser has been closed\n\n 48 | try {\n 49 | await testInfo.attach('media-gate-requests', { contentType: 'application/json', body: JSON.stringify({ file, sha256: hash(bytes), bytes: bytes.length, limit, requests: gate.requests }) })\n> 50 | const events = page.isClosed() ? { closed: true } : await page.evaluate(() => window.starvation)\n | ^\n 51 | await testInfo.attach('media-gate', { contentType: 'application/json', body: JSON.stringify({ file, sha256: hash(bytes), bytes: bytes.length, limit, requests: gate.requests, events }) })\n 52 | if (!page.isClosed())\n 53 | await page.evaluate(() => window.art?.destroy())\n at D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js:50:76" + } + ], + "details": { + "audio-inputs": { + "release": { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-audio-track/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-audio-track/-/artplayer-plugin-audio-track-1.1.0.tgz", + "integrity": "sha512-pvvHvTSqC2+sBelwYyjAv2CVmaQgG9KpX+i96t/e8oyZRX/JuepC9iSVIp7GzB3AtliFzhVamksT+8lXvD3RCg==", + "sha256": "7e84f6a2f4bfada428a77ef04b749bf3db53e0149fa1afe7bf5749d925e801ff", + "archiveBytes": 2205, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "9a03352433ae90cb9d3198e17571c9bb598334b84a77a3a1df2c4b000ce8347d", + "package/dist/artplayer-plugin-audio-track.js": "473f39f1d750f0722cca7e857c12c3c978ebe3c3b2352e325f1248318e508683", + "package/dist/artplayer-plugin-audio-track.legacy.js": "d8dc74bce76112d7430c98e3165605e32fde5d3c603be4b496eac58f574576cb", + "package/dist/artplayer-plugin-audio-track.mjs": "4ac599bc5a1a6ecb0cb1942d4269528bfb2cd9d047f988de61fe671a77ad14cd", + "package/package.json": "c466ae55c40e8f6bdd97bec20fcf916c8c4f44eef3e47694638be005eb445df7", + "package/types/artplayer-plugin-audio-track.d.ts": "27bc0dfedacb7e0188cb668ac8708874a86b00d489f1636037c2465d3344437e" + }, + "manifest": { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "description": "audio-track plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-audio-track.d.ts", + "import": "./dist/artplayer-plugin-audio-track.mjs", + "require": "./dist/artplayer-plugin-audio-track.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-audio-track.d.ts", + "import": "./dist/artplayer-plugin-audio-track.legacy.js", + "require": "./dist/artplayer-plugin-audio-track.legacy.js" + } + }, + "main": "dist/artplayer-plugin-audio-track.js", + "module": "./dist/artplayer-plugin-audio-track.mjs", + "types": "types/artplayer-plugin-audio-track.d.ts", + "legacy": "dist/artplayer-plugin-audio-track.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "candidate": { + "kind": "installed", + "name": "artplayer-plugin-audio-track", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-audio-track\\dist\\artplayer-plugin-audio-track.js", + "member": "package/dist/artplayer-plugin-audio-track.js", + "sha256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "archiveSha256": "1b5bf9ed1e728ff921c2313d7d564d1e80cbebe01a6375398fd3628d29af5832", + "sourceHashes": { + "src/index.ts": "769b3d04261456bfb2c10849486244c9c15529229b658e39e48f8f71403abe49", + "src/track.ts": "9c6d587dc881e30a4d55746088d0122da5e0051258303d50d14a8fe5f69be2df", + "package.json": "49cddf50186ed3607a949ffe9277071b742995fbcd68ceb40174209645b3a45c", + "tsconfig.json": "c0f7dd993cf8f0fe5ce6ab390180c56cb8e3722e571c922c2ff15cb148a283ff" + } + }, + "audio": { + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436, + "format": "AAC mono 48000 Hz, 16 seconds, 440 Hz tone in MP4" + }, + "wav": { + "sha256": "3150fc69aa2b94a4b556e2e6d9d67fb52c2926cd144fdd8694a7f8ddfd2f15ff", + "bytes": 512044, + "format": "PCM16LE mono 16000 Hz, 16 seconds, integer square wave 200 Hz" + }, + "scope": "Desktop browser media checks; candidate provenance identifies installed, source or explicit artifact. No physical device acceptance.", + "core": "published", + "plugin": "published", + "selected": { + "kind": "published", + "sha256": "473f39f1d750f0722cca7e857c12c3c978ebe3c3b2352e325f1248318e508683" + } + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a", + "attribute": "/test/audio-tone.m4a", + "time": 0.5091451, + "paused": true, + "readyState": 4, + "networkState": 2, + "rate": 1, + "seekable": [ + [ + 0, + 16 + ] + ] + }, + "video": { + "src": "http://127.0.0.1:5367/media.mp4", + "attribute": "http://127.0.0.1:5367/media.mp4", + "time": 0, + "paused": true, + "readyState": 2, + "networkState": 2, + "rate": 1, + "seekable": [ + [ + 0, + 8 + ] + ] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a" + }, + { + "event": "playing", + "time": 0.0599999, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a" + }, + { + "event": "pause", + "time": 0.5091451, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a" + } + ], + "hostEvents": [ + { + "event": "video:canplay", + "videoTime": 0, + "videoPaused": true, + "videoReadyState": 4, + "playing": false, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0.0167106, + "videoPaused": false, + "videoReadyState": 4, + "playing": true, + "audioTime": 0.0599999, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0171028, + "videoPaused": false, + "videoReadyState": 4, + "playing": true, + "audioTime": 0.0599999, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.485647, + "videoPaused": true, + "videoReadyState": 4, + "playing": false, + "audioTime": 0.5091451, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "videoPaused": true, + "videoReadyState": 2, + "playing": false, + "audioTime": 0.5091451, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0, + "videoPaused": true, + "videoReadyState": 2, + "playing": false, + "audioTime": 0.5091451, + "audioPaused": true + } + ], + "warnings": [] + }, + "media-gate-requests": { + "file": "pattern.mp4", + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538, + "limit": 98304, + "requests": [ + { + "method": "GET", + "range": "bytes=0-", + "start": 0, + "end": 251537, + "sent": 98304, + "wasHeld": true, + "closed": false + } + ] + } + }, + "artifacts": [ + { + "name": "screenshot", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-published--1e5a7-sumes-after-network-release-webkit\\test-failed-1.png", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-published--1e5a7-sumes-after-network-release-webkit/test-failed-1.png", + "sha256": "95accf86d5409466b7f5b0d3692e6fd744a257fa781e84c3584141f3bcfe5ddc" + }, + { + "name": "error-context", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-published--1e5a7-sumes-after-network-release-webkit\\error-context.md", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-published--1e5a7-sumes-after-network-release-webkit/error-context.md", + "sha256": "101f5cb5ab61142f53e0e0fe385fdadec9f0c24cbbaf5c5a3cfb8250e4babaed" + }, + { + "name": "trace", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-published--1e5a7-sumes-after-network-release-webkit\\trace.zip", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-published--1e5a7-sumes-after-network-release-webkit/trace.zip", + "sha256": "ba6ec28775cbfa5d95844f6be51ff037cf48ff5a9640983aef5e59df1f8e67c2" + } + ] + }, + { + "file": "audio-buffering.spec.js", + "title": "published core + published audio: real audio starvation resumes after network release", + "project": "webkit", + "status": "failed", + "retry": 0, + "errors": [ + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js", + "column": 148, + "line": 30 + }, + "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32mtrue\u001b[39m\nReceived: \u001b[31mfalse\u001b[39m\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate\n\n 28 | if (owner === 'video')\n 29 | await page.evaluate(url => window.art.switchUrl(url), gate.url)\n> 30 | await expect.poll(() => page.evaluate(() => window.starvation.some(event => event.trusted && event.time > 0.3 && event.readyState < 3))).toBe(true)\n | ^\n 31 | expect(gate.blocked).toBeGreaterThan(0)\n 32 | const stalled = await page.evaluate(() => ({ audio: window.audioPlugin.audio.currentTime, video: window.art.currentTime }))\n 33 | if (owner === 'video') {\n at D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js:30:148" + } + ], + "details": { + "audio-inputs": { + "release": { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-audio-track/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-audio-track/-/artplayer-plugin-audio-track-1.1.0.tgz", + "integrity": "sha512-pvvHvTSqC2+sBelwYyjAv2CVmaQgG9KpX+i96t/e8oyZRX/JuepC9iSVIp7GzB3AtliFzhVamksT+8lXvD3RCg==", + "sha256": "7e84f6a2f4bfada428a77ef04b749bf3db53e0149fa1afe7bf5749d925e801ff", + "archiveBytes": 2205, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "9a03352433ae90cb9d3198e17571c9bb598334b84a77a3a1df2c4b000ce8347d", + "package/dist/artplayer-plugin-audio-track.js": "473f39f1d750f0722cca7e857c12c3c978ebe3c3b2352e325f1248318e508683", + "package/dist/artplayer-plugin-audio-track.legacy.js": "d8dc74bce76112d7430c98e3165605e32fde5d3c603be4b496eac58f574576cb", + "package/dist/artplayer-plugin-audio-track.mjs": "4ac599bc5a1a6ecb0cb1942d4269528bfb2cd9d047f988de61fe671a77ad14cd", + "package/package.json": "c466ae55c40e8f6bdd97bec20fcf916c8c4f44eef3e47694638be005eb445df7", + "package/types/artplayer-plugin-audio-track.d.ts": "27bc0dfedacb7e0188cb668ac8708874a86b00d489f1636037c2465d3344437e" + }, + "manifest": { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "description": "audio-track plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-audio-track.d.ts", + "import": "./dist/artplayer-plugin-audio-track.mjs", + "require": "./dist/artplayer-plugin-audio-track.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-audio-track.d.ts", + "import": "./dist/artplayer-plugin-audio-track.legacy.js", + "require": "./dist/artplayer-plugin-audio-track.legacy.js" + } + }, + "main": "dist/artplayer-plugin-audio-track.js", + "module": "./dist/artplayer-plugin-audio-track.mjs", + "types": "types/artplayer-plugin-audio-track.d.ts", + "legacy": "dist/artplayer-plugin-audio-track.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "candidate": { + "kind": "installed", + "name": "artplayer-plugin-audio-track", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-audio-track\\dist\\artplayer-plugin-audio-track.js", + "member": "package/dist/artplayer-plugin-audio-track.js", + "sha256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "archiveSha256": "1b5bf9ed1e728ff921c2313d7d564d1e80cbebe01a6375398fd3628d29af5832", + "sourceHashes": { + "src/index.ts": "769b3d04261456bfb2c10849486244c9c15529229b658e39e48f8f71403abe49", + "src/track.ts": "9c6d587dc881e30a4d55746088d0122da5e0051258303d50d14a8fe5f69be2df", + "package.json": "49cddf50186ed3607a949ffe9277071b742995fbcd68ceb40174209645b3a45c", + "tsconfig.json": "c0f7dd993cf8f0fe5ce6ab390180c56cb8e3722e571c922c2ff15cb148a283ff" + } + }, + "audio": { + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436, + "format": "AAC mono 48000 Hz, 16 seconds, 440 Hz tone in MP4" + }, + "wav": { + "sha256": "3150fc69aa2b94a4b556e2e6d9d67fb52c2926cd144fdd8694a7f8ddfd2f15ff", + "bytes": 512044, + "format": "PCM16LE mono 16000 Hz, 16 seconds, integer square wave 200 Hz" + }, + "scope": "Desktop browser media checks; candidate provenance identifies installed, source or explicit artifact. No physical device acceptance.", + "core": "published", + "plugin": "published", + "selected": { + "kind": "published", + "sha256": "473f39f1d750f0722cca7e857c12c3c978ebe3c3b2352e325f1248318e508683" + } + }, + "media-gate-requests": { + "file": "audio-tone.m4a", + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436, + "limit": 32768, + "requests": [ + { + "method": "GET", + "range": "bytes=0-", + "start": 0, + "end": 132435, + "sent": 32768, + "wasHeld": true, + "closed": false + } + ] + }, + "media-gate": { + "file": "audio-tone.m4a", + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436, + "limit": 32768, + "requests": [ + { + "method": "GET", + "range": "bytes=0-", + "start": 0, + "end": 132435, + "sent": 32768, + "wasHeld": true, + "closed": false + } + ], + "events": [] + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:11231/media.m4a", + "attribute": "", + "time": 0, + "paused": true, + "readyState": 0, + "networkState": 3, + "error": 4, + "rate": 1, + "seekable": [] + }, + "video": { + "src": "http://127.0.0.1:8084/test/pattern.mp4", + "attribute": null, + "time": 0, + "paused": true, + "readyState": 0, + "networkState": 0, + "rate": 1, + "seekable": [] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:11231/media.m4a" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:11231/media.m4a" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:11231/media.m4a" + }, + { + "event": "error", + "time": 0, + "src": "http://127.0.0.1:11231/media.m4a" + } + ], + "hostEvents": [ + { + "event": "video:canplay", + "videoTime": 0, + "videoPaused": true, + "videoReadyState": 4, + "playing": false, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0.017996, + "videoPaused": false, + "videoReadyState": 4, + "playing": true, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0182564, + "videoPaused": false, + "videoReadyState": 4, + "playing": true, + "audioTime": 0, + "audioPaused": false + } + ], + "warnings": [] + } + }, + "artifacts": [ + { + "name": "screenshot", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-published--1b27a-sumes-after-network-release-webkit\\test-failed-1.png", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-published--1b27a-sumes-after-network-release-webkit/test-failed-1.png", + "sha256": "15e92313f9ed0a95b430ba03acdf74b85feeedeacd23febe2fab02cd13c12f88" + }, + { + "name": "error-context", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-published--1b27a-sumes-after-network-release-webkit\\error-context.md", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-published--1b27a-sumes-after-network-release-webkit/error-context.md", + "sha256": "bb26fa4e2855e14bbc0109036ba7d2b20ef58fae79ac9a0f8be27d2e1a8fc319" + }, + { + "name": "trace", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-published--1b27a-sumes-after-network-release-webkit\\trace.zip", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-published--1b27a-sumes-after-network-release-webkit/trace.zip", + "sha256": "95eae601bee012f159aeb592e0710a50c05c08c9617470aa836953a974388879" + } + ] + }, + { + "file": "audio-buffering.spec.js", + "title": "published core + source audio: real video starvation resumes after network release", + "project": "webkit", + "status": "timedOut", + "retry": 0, + "errors": [ + { + "message": "\u001b[31mTest timeout of 20000ms exceeded.\u001b[39m" + }, + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js", + "column": 76, + "line": 50 + }, + "message": "Error: page.evaluate: Target page, context or browser has been closed\n\n 48 | try {\n 49 | await testInfo.attach('media-gate-requests', { contentType: 'application/json', body: JSON.stringify({ file, sha256: hash(bytes), bytes: bytes.length, limit, requests: gate.requests }) })\n> 50 | const events = page.isClosed() ? { closed: true } : await page.evaluate(() => window.starvation)\n | ^\n 51 | await testInfo.attach('media-gate', { contentType: 'application/json', body: JSON.stringify({ file, sha256: hash(bytes), bytes: bytes.length, limit, requests: gate.requests, events }) })\n 52 | if (!page.isClosed())\n 53 | await page.evaluate(() => window.art?.destroy())\n at D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js:50:76" + } + ], + "details": { + "audio-inputs": { + "release": { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-audio-track/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-audio-track/-/artplayer-plugin-audio-track-1.1.0.tgz", + "integrity": "sha512-pvvHvTSqC2+sBelwYyjAv2CVmaQgG9KpX+i96t/e8oyZRX/JuepC9iSVIp7GzB3AtliFzhVamksT+8lXvD3RCg==", + "sha256": "7e84f6a2f4bfada428a77ef04b749bf3db53e0149fa1afe7bf5749d925e801ff", + "archiveBytes": 2205, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "9a03352433ae90cb9d3198e17571c9bb598334b84a77a3a1df2c4b000ce8347d", + "package/dist/artplayer-plugin-audio-track.js": "473f39f1d750f0722cca7e857c12c3c978ebe3c3b2352e325f1248318e508683", + "package/dist/artplayer-plugin-audio-track.legacy.js": "d8dc74bce76112d7430c98e3165605e32fde5d3c603be4b496eac58f574576cb", + "package/dist/artplayer-plugin-audio-track.mjs": "4ac599bc5a1a6ecb0cb1942d4269528bfb2cd9d047f988de61fe671a77ad14cd", + "package/package.json": "c466ae55c40e8f6bdd97bec20fcf916c8c4f44eef3e47694638be005eb445df7", + "package/types/artplayer-plugin-audio-track.d.ts": "27bc0dfedacb7e0188cb668ac8708874a86b00d489f1636037c2465d3344437e" + }, + "manifest": { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "description": "audio-track plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-audio-track.d.ts", + "import": "./dist/artplayer-plugin-audio-track.mjs", + "require": "./dist/artplayer-plugin-audio-track.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-audio-track.d.ts", + "import": "./dist/artplayer-plugin-audio-track.legacy.js", + "require": "./dist/artplayer-plugin-audio-track.legacy.js" + } + }, + "main": "dist/artplayer-plugin-audio-track.js", + "module": "./dist/artplayer-plugin-audio-track.mjs", + "types": "types/artplayer-plugin-audio-track.d.ts", + "legacy": "dist/artplayer-plugin-audio-track.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "candidate": { + "kind": "installed", + "name": "artplayer-plugin-audio-track", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-audio-track\\dist\\artplayer-plugin-audio-track.js", + "member": "package/dist/artplayer-plugin-audio-track.js", + "sha256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "archiveSha256": "1b5bf9ed1e728ff921c2313d7d564d1e80cbebe01a6375398fd3628d29af5832", + "sourceHashes": { + "src/index.ts": "769b3d04261456bfb2c10849486244c9c15529229b658e39e48f8f71403abe49", + "src/track.ts": "9c6d587dc881e30a4d55746088d0122da5e0051258303d50d14a8fe5f69be2df", + "package.json": "49cddf50186ed3607a949ffe9277071b742995fbcd68ceb40174209645b3a45c", + "tsconfig.json": "c0f7dd993cf8f0fe5ce6ab390180c56cb8e3722e571c922c2ff15cb148a283ff" + } + }, + "audio": { + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436, + "format": "AAC mono 48000 Hz, 16 seconds, 440 Hz tone in MP4" + }, + "wav": { + "sha256": "3150fc69aa2b94a4b556e2e6d9d67fb52c2926cd144fdd8694a7f8ddfd2f15ff", + "bytes": 512044, + "format": "PCM16LE mono 16000 Hz, 16 seconds, integer square wave 200 Hz" + }, + "scope": "Desktop browser media checks; candidate provenance identifies installed, source or explicit artifact. No physical device acceptance.", + "core": "published", + "plugin": "source", + "selected": { + "kind": "installed", + "name": "artplayer-plugin-audio-track", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-audio-track\\dist\\artplayer-plugin-audio-track.js", + "member": "package/dist/artplayer-plugin-audio-track.js", + "sha256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "archiveSha256": "1b5bf9ed1e728ff921c2313d7d564d1e80cbebe01a6375398fd3628d29af5832", + "sourceHashes": { + "src/index.ts": "769b3d04261456bfb2c10849486244c9c15529229b658e39e48f8f71403abe49", + "src/track.ts": "9c6d587dc881e30a4d55746088d0122da5e0051258303d50d14a8fe5f69be2df", + "package.json": "49cddf50186ed3607a949ffe9277071b742995fbcd68ceb40174209645b3a45c", + "tsconfig.json": "c0f7dd993cf8f0fe5ce6ab390180c56cb8e3722e571c922c2ff15cb148a283ff" + } + } + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a", + "attribute": "/test/audio-tone.m4a", + "time": 0, + "paused": true, + "readyState": 4, + "networkState": 2, + "rate": 1, + "seekable": [ + [ + 0, + 16 + ] + ] + }, + "video": { + "src": "http://127.0.0.1:11248/media.mp4", + "attribute": "http://127.0.0.1:11248/media.mp4", + "time": 0, + "paused": true, + "readyState": 2, + "networkState": 2, + "rate": 1, + "seekable": [ + [ + 0, + 8 + ] + ] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a" + }, + { + "event": "pause", + "time": 0.3996661, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a" + } + ], + "hostEvents": [ + { + "event": "video:canplay", + "videoTime": 0, + "videoPaused": true, + "videoReadyState": 4, + "playing": false, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0.0162933, + "videoPaused": false, + "videoReadyState": 4, + "playing": true, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.016509, + "videoPaused": false, + "videoReadyState": 4, + "playing": true, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.4410879, + "videoPaused": true, + "videoReadyState": 4, + "playing": false, + "audioTime": 0.3996661, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "videoPaused": true, + "videoReadyState": 2, + "playing": false, + "audioTime": 0.3996661, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0, + "videoPaused": true, + "videoReadyState": 2, + "playing": false, + "audioTime": 0, + "audioPaused": true + } + ], + "warnings": [] + }, + "media-gate-requests": { + "file": "pattern.mp4", + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538, + "limit": 98304, + "requests": [ + { + "method": "GET", + "range": "bytes=0-", + "start": 0, + "end": 251537, + "sent": 98304, + "wasHeld": true, + "closed": false + } + ] + } + }, + "artifacts": [ + { + "name": "screenshot", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-published--fce9e-sumes-after-network-release-webkit\\test-failed-1.png", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-published--fce9e-sumes-after-network-release-webkit/test-failed-1.png", + "sha256": "95accf86d5409466b7f5b0d3692e6fd744a257fa781e84c3584141f3bcfe5ddc" + }, + { + "name": "error-context", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-published--fce9e-sumes-after-network-release-webkit\\error-context.md", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-published--fce9e-sumes-after-network-release-webkit/error-context.md", + "sha256": "00ba735d81d08aa0c9fc24df551868e54bb70665679e9a23d504da99710b0e30" + }, + { + "name": "trace", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-published--fce9e-sumes-after-network-release-webkit\\trace.zip", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-published--fce9e-sumes-after-network-release-webkit/trace.zip", + "sha256": "acbce04d49bb0900f8b7b7f154e0dbf9d482a605e701f8ca6296305a7145ef27" + } + ] + }, + { + "file": "audio-buffering.spec.js", + "title": "published core + source audio: real audio starvation resumes after network release", + "project": "webkit", + "status": "failed", + "retry": 0, + "errors": [ + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js", + "column": 148, + "line": 30 + }, + "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32mtrue\u001b[39m\nReceived: \u001b[31mfalse\u001b[39m\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate\n\n 28 | if (owner === 'video')\n 29 | await page.evaluate(url => window.art.switchUrl(url), gate.url)\n> 30 | await expect.poll(() => page.evaluate(() => window.starvation.some(event => event.trusted && event.time > 0.3 && event.readyState < 3))).toBe(true)\n | ^\n 31 | expect(gate.blocked).toBeGreaterThan(0)\n 32 | const stalled = await page.evaluate(() => ({ audio: window.audioPlugin.audio.currentTime, video: window.art.currentTime }))\n 33 | if (owner === 'video') {\n at D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js:30:148" + } + ], + "details": { + "audio-inputs": { + "release": { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-audio-track/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-audio-track/-/artplayer-plugin-audio-track-1.1.0.tgz", + "integrity": "sha512-pvvHvTSqC2+sBelwYyjAv2CVmaQgG9KpX+i96t/e8oyZRX/JuepC9iSVIp7GzB3AtliFzhVamksT+8lXvD3RCg==", + "sha256": "7e84f6a2f4bfada428a77ef04b749bf3db53e0149fa1afe7bf5749d925e801ff", + "archiveBytes": 2205, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "9a03352433ae90cb9d3198e17571c9bb598334b84a77a3a1df2c4b000ce8347d", + "package/dist/artplayer-plugin-audio-track.js": "473f39f1d750f0722cca7e857c12c3c978ebe3c3b2352e325f1248318e508683", + "package/dist/artplayer-plugin-audio-track.legacy.js": "d8dc74bce76112d7430c98e3165605e32fde5d3c603be4b496eac58f574576cb", + "package/dist/artplayer-plugin-audio-track.mjs": "4ac599bc5a1a6ecb0cb1942d4269528bfb2cd9d047f988de61fe671a77ad14cd", + "package/package.json": "c466ae55c40e8f6bdd97bec20fcf916c8c4f44eef3e47694638be005eb445df7", + "package/types/artplayer-plugin-audio-track.d.ts": "27bc0dfedacb7e0188cb668ac8708874a86b00d489f1636037c2465d3344437e" + }, + "manifest": { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "description": "audio-track plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-audio-track.d.ts", + "import": "./dist/artplayer-plugin-audio-track.mjs", + "require": "./dist/artplayer-plugin-audio-track.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-audio-track.d.ts", + "import": "./dist/artplayer-plugin-audio-track.legacy.js", + "require": "./dist/artplayer-plugin-audio-track.legacy.js" + } + }, + "main": "dist/artplayer-plugin-audio-track.js", + "module": "./dist/artplayer-plugin-audio-track.mjs", + "types": "types/artplayer-plugin-audio-track.d.ts", + "legacy": "dist/artplayer-plugin-audio-track.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "candidate": { + "kind": "installed", + "name": "artplayer-plugin-audio-track", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-audio-track\\dist\\artplayer-plugin-audio-track.js", + "member": "package/dist/artplayer-plugin-audio-track.js", + "sha256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "archiveSha256": "1b5bf9ed1e728ff921c2313d7d564d1e80cbebe01a6375398fd3628d29af5832", + "sourceHashes": { + "src/index.ts": "769b3d04261456bfb2c10849486244c9c15529229b658e39e48f8f71403abe49", + "src/track.ts": "9c6d587dc881e30a4d55746088d0122da5e0051258303d50d14a8fe5f69be2df", + "package.json": "49cddf50186ed3607a949ffe9277071b742995fbcd68ceb40174209645b3a45c", + "tsconfig.json": "c0f7dd993cf8f0fe5ce6ab390180c56cb8e3722e571c922c2ff15cb148a283ff" + } + }, + "audio": { + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436, + "format": "AAC mono 48000 Hz, 16 seconds, 440 Hz tone in MP4" + }, + "wav": { + "sha256": "3150fc69aa2b94a4b556e2e6d9d67fb52c2926cd144fdd8694a7f8ddfd2f15ff", + "bytes": 512044, + "format": "PCM16LE mono 16000 Hz, 16 seconds, integer square wave 200 Hz" + }, + "scope": "Desktop browser media checks; candidate provenance identifies installed, source or explicit artifact. No physical device acceptance.", + "core": "published", + "plugin": "source", + "selected": { + "kind": "installed", + "name": "artplayer-plugin-audio-track", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-audio-track\\dist\\artplayer-plugin-audio-track.js", + "member": "package/dist/artplayer-plugin-audio-track.js", + "sha256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "archiveSha256": "1b5bf9ed1e728ff921c2313d7d564d1e80cbebe01a6375398fd3628d29af5832", + "sourceHashes": { + "src/index.ts": "769b3d04261456bfb2c10849486244c9c15529229b658e39e48f8f71403abe49", + "src/track.ts": "9c6d587dc881e30a4d55746088d0122da5e0051258303d50d14a8fe5f69be2df", + "package.json": "49cddf50186ed3607a949ffe9277071b742995fbcd68ceb40174209645b3a45c", + "tsconfig.json": "c0f7dd993cf8f0fe5ce6ab390180c56cb8e3722e571c922c2ff15cb148a283ff" + } + } + }, + "media-gate-requests": { + "file": "audio-tone.m4a", + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436, + "limit": 32768, + "requests": [ + { + "method": "GET", + "range": "bytes=0-", + "start": 0, + "end": 132435, + "sent": 32768, + "wasHeld": true, + "closed": false + } + ] + }, + "media-gate": { + "file": "audio-tone.m4a", + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436, + "limit": 32768, + "requests": [ + { + "method": "GET", + "range": "bytes=0-", + "start": 0, + "end": 132435, + "sent": 32768, + "wasHeld": true, + "closed": false + } + ], + "events": [] + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:11709/media.m4a", + "attribute": null, + "time": 0, + "paused": true, + "readyState": 0, + "networkState": 0, + "rate": 1, + "seekable": [] + }, + "video": { + "src": "http://127.0.0.1:8084/test/pattern.mp4", + "attribute": null, + "time": 0, + "paused": true, + "readyState": 0, + "networkState": 0, + "rate": 1, + "seekable": [] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:11709/media.m4a" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:11709/media.m4a" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:11709/media.m4a" + } + ], + "hostEvents": [ + { + "event": "video:canplay", + "videoTime": 0, + "videoPaused": true, + "videoReadyState": 4, + "playing": false, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0.003786, + "videoPaused": false, + "videoReadyState": 4, + "playing": true, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0040446, + "videoPaused": false, + "videoReadyState": 4, + "playing": true, + "audioTime": 0, + "audioPaused": false + } + ], + "warnings": [] + } + }, + "artifacts": [ + { + "name": "screenshot", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-published--becc4-sumes-after-network-release-webkit\\test-failed-1.png", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-published--becc4-sumes-after-network-release-webkit/test-failed-1.png", + "sha256": "15e92313f9ed0a95b430ba03acdf74b85feeedeacd23febe2fab02cd13c12f88" + }, + { + "name": "error-context", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-published--becc4-sumes-after-network-release-webkit\\error-context.md", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-published--becc4-sumes-after-network-release-webkit/error-context.md", + "sha256": "c9b78daebe8fa8e83c82d46afcd7f5339763a795029b6377f57d9a8e7565c2da" + }, + { + "name": "trace", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-published--becc4-sumes-after-network-release-webkit\\trace.zip", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-published--becc4-sumes-after-network-release-webkit/trace.zip", + "sha256": "3abb799c5ca5721fc868b79be275f89b64b958b77d19fdc1473adf8dcbc56ebf" + } + ] + }, + { + "file": "audio-buffering.spec.js", + "title": "candidate core + published audio: real video starvation resumes after network release", + "project": "webkit", + "status": "timedOut", + "retry": 0, + "errors": [ + { + "message": "\u001b[31mTest timeout of 20000ms exceeded.\u001b[39m" + }, + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js", + "column": 76, + "line": 50 + }, + "message": "Error: page.evaluate: Target page, context or browser has been closed\n\n 48 | try {\n 49 | await testInfo.attach('media-gate-requests', { contentType: 'application/json', body: JSON.stringify({ file, sha256: hash(bytes), bytes: bytes.length, limit, requests: gate.requests }) })\n> 50 | const events = page.isClosed() ? { closed: true } : await page.evaluate(() => window.starvation)\n | ^\n 51 | await testInfo.attach('media-gate', { contentType: 'application/json', body: JSON.stringify({ file, sha256: hash(bytes), bytes: bytes.length, limit, requests: gate.requests, events }) })\n 52 | if (!page.isClosed())\n 53 | await page.evaluate(() => window.art?.destroy())\n at D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js:50:76" + } + ], + "details": { + "audio-inputs": { + "release": { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-audio-track/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-audio-track/-/artplayer-plugin-audio-track-1.1.0.tgz", + "integrity": "sha512-pvvHvTSqC2+sBelwYyjAv2CVmaQgG9KpX+i96t/e8oyZRX/JuepC9iSVIp7GzB3AtliFzhVamksT+8lXvD3RCg==", + "sha256": "7e84f6a2f4bfada428a77ef04b749bf3db53e0149fa1afe7bf5749d925e801ff", + "archiveBytes": 2205, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "9a03352433ae90cb9d3198e17571c9bb598334b84a77a3a1df2c4b000ce8347d", + "package/dist/artplayer-plugin-audio-track.js": "473f39f1d750f0722cca7e857c12c3c978ebe3c3b2352e325f1248318e508683", + "package/dist/artplayer-plugin-audio-track.legacy.js": "d8dc74bce76112d7430c98e3165605e32fde5d3c603be4b496eac58f574576cb", + "package/dist/artplayer-plugin-audio-track.mjs": "4ac599bc5a1a6ecb0cb1942d4269528bfb2cd9d047f988de61fe671a77ad14cd", + "package/package.json": "c466ae55c40e8f6bdd97bec20fcf916c8c4f44eef3e47694638be005eb445df7", + "package/types/artplayer-plugin-audio-track.d.ts": "27bc0dfedacb7e0188cb668ac8708874a86b00d489f1636037c2465d3344437e" + }, + "manifest": { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "description": "audio-track plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-audio-track.d.ts", + "import": "./dist/artplayer-plugin-audio-track.mjs", + "require": "./dist/artplayer-plugin-audio-track.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-audio-track.d.ts", + "import": "./dist/artplayer-plugin-audio-track.legacy.js", + "require": "./dist/artplayer-plugin-audio-track.legacy.js" + } + }, + "main": "dist/artplayer-plugin-audio-track.js", + "module": "./dist/artplayer-plugin-audio-track.mjs", + "types": "types/artplayer-plugin-audio-track.d.ts", + "legacy": "dist/artplayer-plugin-audio-track.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "candidate": { + "kind": "installed", + "name": "artplayer-plugin-audio-track", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-audio-track\\dist\\artplayer-plugin-audio-track.js", + "member": "package/dist/artplayer-plugin-audio-track.js", + "sha256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "archiveSha256": "1b5bf9ed1e728ff921c2313d7d564d1e80cbebe01a6375398fd3628d29af5832", + "sourceHashes": { + "src/index.ts": "769b3d04261456bfb2c10849486244c9c15529229b658e39e48f8f71403abe49", + "src/track.ts": "9c6d587dc881e30a4d55746088d0122da5e0051258303d50d14a8fe5f69be2df", + "package.json": "49cddf50186ed3607a949ffe9277071b742995fbcd68ceb40174209645b3a45c", + "tsconfig.json": "c0f7dd993cf8f0fe5ce6ab390180c56cb8e3722e571c922c2ff15cb148a283ff" + } + }, + "audio": { + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436, + "format": "AAC mono 48000 Hz, 16 seconds, 440 Hz tone in MP4" + }, + "wav": { + "sha256": "3150fc69aa2b94a4b556e2e6d9d67fb52c2926cd144fdd8694a7f8ddfd2f15ff", + "bytes": 512044, + "format": "PCM16LE mono 16000 Hz, 16 seconds, integer square wave 200 Hz" + }, + "scope": "Desktop browser media checks; candidate provenance identifies installed, source or explicit artifact. No physical device acceptance.", + "core": "candidate", + "plugin": "published", + "selected": { + "kind": "published", + "sha256": "473f39f1d750f0722cca7e857c12c3c978ebe3c3b2352e325f1248318e508683" + } + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a", + "attribute": "/test/audio-tone.m4a", + "time": 0.4021869, + "paused": true, + "readyState": 4, + "networkState": 2, + "rate": 1, + "seekable": [ + [ + 0, + 16 + ] + ] + }, + "video": { + "src": "http://127.0.0.1:5370/media.mp4", + "attribute": "http://127.0.0.1:5370/media.mp4", + "time": 0, + "paused": true, + "readyState": 2, + "networkState": 2, + "rate": 1, + "seekable": [ + [ + 0, + 8 + ] + ] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a" + }, + { + "event": "pause", + "time": 0.4021869, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a" + } + ], + "hostEvents": [ + { + "event": "video:canplay", + "videoTime": 0, + "videoPaused": true, + "videoReadyState": 3, + "playing": false, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0.0098216, + "videoPaused": false, + "videoReadyState": 4, + "playing": true, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0101577, + "videoPaused": false, + "videoReadyState": 4, + "playing": true, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.4433841, + "videoPaused": true, + "videoReadyState": 4, + "playing": false, + "audioTime": 0.4021869, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "videoPaused": true, + "videoReadyState": 2, + "playing": false, + "audioTime": 0.4021869, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0, + "videoPaused": true, + "videoReadyState": 2, + "playing": false, + "audioTime": 0.4021869, + "audioPaused": true + } + ], + "warnings": [] + }, + "media-gate-requests": { + "file": "pattern.mp4", + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538, + "limit": 98304, + "requests": [ + { + "method": "GET", + "range": "bytes=0-", + "start": 0, + "end": 251537, + "sent": 98304, + "wasHeld": true, + "closed": false + } + ] + } + }, + "artifacts": [ + { + "name": "screenshot", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-candidate--ddee5-sumes-after-network-release-webkit\\test-failed-1.png", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-candidate--ddee5-sumes-after-network-release-webkit/test-failed-1.png", + "sha256": "95accf86d5409466b7f5b0d3692e6fd744a257fa781e84c3584141f3bcfe5ddc" + }, + { + "name": "error-context", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-candidate--ddee5-sumes-after-network-release-webkit\\error-context.md", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-candidate--ddee5-sumes-after-network-release-webkit/error-context.md", + "sha256": "0a353fb14911649478e5b568088f2c143d1e24cbbd9857f1a1bc6ef7accdae61" + }, + { + "name": "trace", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-candidate--ddee5-sumes-after-network-release-webkit\\trace.zip", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-candidate--ddee5-sumes-after-network-release-webkit/trace.zip", + "sha256": "7f88dab340a3ecda5f821c33877f767a72238739d157715198aaa6ee53c8b4b8" + } + ] + }, + { + "file": "audio-buffering.spec.js", + "title": "candidate core + published audio: real audio starvation resumes after network release", + "project": "webkit", + "status": "failed", + "retry": 0, + "errors": [ + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js", + "column": 148, + "line": 30 + }, + "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32mtrue\u001b[39m\nReceived: \u001b[31mfalse\u001b[39m\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate\n\n 28 | if (owner === 'video')\n 29 | await page.evaluate(url => window.art.switchUrl(url), gate.url)\n> 30 | await expect.poll(() => page.evaluate(() => window.starvation.some(event => event.trusted && event.time > 0.3 && event.readyState < 3))).toBe(true)\n | ^\n 31 | expect(gate.blocked).toBeGreaterThan(0)\n 32 | const stalled = await page.evaluate(() => ({ audio: window.audioPlugin.audio.currentTime, video: window.art.currentTime }))\n 33 | if (owner === 'video') {\n at D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js:30:148" + } + ], + "details": { + "audio-inputs": { + "release": { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-audio-track/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-audio-track/-/artplayer-plugin-audio-track-1.1.0.tgz", + "integrity": "sha512-pvvHvTSqC2+sBelwYyjAv2CVmaQgG9KpX+i96t/e8oyZRX/JuepC9iSVIp7GzB3AtliFzhVamksT+8lXvD3RCg==", + "sha256": "7e84f6a2f4bfada428a77ef04b749bf3db53e0149fa1afe7bf5749d925e801ff", + "archiveBytes": 2205, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "9a03352433ae90cb9d3198e17571c9bb598334b84a77a3a1df2c4b000ce8347d", + "package/dist/artplayer-plugin-audio-track.js": "473f39f1d750f0722cca7e857c12c3c978ebe3c3b2352e325f1248318e508683", + "package/dist/artplayer-plugin-audio-track.legacy.js": "d8dc74bce76112d7430c98e3165605e32fde5d3c603be4b496eac58f574576cb", + "package/dist/artplayer-plugin-audio-track.mjs": "4ac599bc5a1a6ecb0cb1942d4269528bfb2cd9d047f988de61fe671a77ad14cd", + "package/package.json": "c466ae55c40e8f6bdd97bec20fcf916c8c4f44eef3e47694638be005eb445df7", + "package/types/artplayer-plugin-audio-track.d.ts": "27bc0dfedacb7e0188cb668ac8708874a86b00d489f1636037c2465d3344437e" + }, + "manifest": { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "description": "audio-track plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-audio-track.d.ts", + "import": "./dist/artplayer-plugin-audio-track.mjs", + "require": "./dist/artplayer-plugin-audio-track.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-audio-track.d.ts", + "import": "./dist/artplayer-plugin-audio-track.legacy.js", + "require": "./dist/artplayer-plugin-audio-track.legacy.js" + } + }, + "main": "dist/artplayer-plugin-audio-track.js", + "module": "./dist/artplayer-plugin-audio-track.mjs", + "types": "types/artplayer-plugin-audio-track.d.ts", + "legacy": "dist/artplayer-plugin-audio-track.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "candidate": { + "kind": "installed", + "name": "artplayer-plugin-audio-track", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-audio-track\\dist\\artplayer-plugin-audio-track.js", + "member": "package/dist/artplayer-plugin-audio-track.js", + "sha256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "archiveSha256": "1b5bf9ed1e728ff921c2313d7d564d1e80cbebe01a6375398fd3628d29af5832", + "sourceHashes": { + "src/index.ts": "769b3d04261456bfb2c10849486244c9c15529229b658e39e48f8f71403abe49", + "src/track.ts": "9c6d587dc881e30a4d55746088d0122da5e0051258303d50d14a8fe5f69be2df", + "package.json": "49cddf50186ed3607a949ffe9277071b742995fbcd68ceb40174209645b3a45c", + "tsconfig.json": "c0f7dd993cf8f0fe5ce6ab390180c56cb8e3722e571c922c2ff15cb148a283ff" + } + }, + "audio": { + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436, + "format": "AAC mono 48000 Hz, 16 seconds, 440 Hz tone in MP4" + }, + "wav": { + "sha256": "3150fc69aa2b94a4b556e2e6d9d67fb52c2926cd144fdd8694a7f8ddfd2f15ff", + "bytes": 512044, + "format": "PCM16LE mono 16000 Hz, 16 seconds, integer square wave 200 Hz" + }, + "scope": "Desktop browser media checks; candidate provenance identifies installed, source or explicit artifact. No physical device acceptance.", + "core": "candidate", + "plugin": "published", + "selected": { + "kind": "published", + "sha256": "473f39f1d750f0722cca7e857c12c3c978ebe3c3b2352e325f1248318e508683" + } + }, + "media-gate-requests": { + "file": "audio-tone.m4a", + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436, + "limit": 32768, + "requests": [ + { + "method": "GET", + "range": "bytes=0-", + "start": 0, + "end": 132435, + "sent": 32768, + "wasHeld": true, + "closed": false + } + ] + }, + "media-gate": { + "file": "audio-tone.m4a", + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436, + "limit": 32768, + "requests": [ + { + "method": "GET", + "range": "bytes=0-", + "start": 0, + "end": 132435, + "sent": 32768, + "wasHeld": true, + "closed": false + } + ], + "events": [] + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:11234/media.m4a", + "attribute": "", + "time": 0, + "paused": true, + "readyState": 0, + "networkState": 3, + "error": 4, + "rate": 1, + "seekable": [] + }, + "video": { + "src": "http://127.0.0.1:8084/test/pattern.mp4", + "attribute": null, + "time": 0, + "paused": true, + "readyState": 0, + "networkState": 0, + "rate": 1, + "seekable": [] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:11234/media.m4a" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:11234/media.m4a" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:11234/media.m4a" + }, + { + "event": "error", + "time": 0, + "src": "http://127.0.0.1:11234/media.m4a" + } + ], + "hostEvents": [ + { + "event": "video:canplay", + "videoTime": 0, + "videoPaused": true, + "videoReadyState": 4, + "playing": false, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0.0073289, + "videoPaused": false, + "videoReadyState": 4, + "playing": true, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0076523, + "videoPaused": false, + "videoReadyState": 4, + "playing": true, + "audioTime": 0, + "audioPaused": false + } + ], + "warnings": [] + } + }, + "artifacts": [ + { + "name": "screenshot", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-candidate--4df36-sumes-after-network-release-webkit\\test-failed-1.png", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-candidate--4df36-sumes-after-network-release-webkit/test-failed-1.png", + "sha256": "15e92313f9ed0a95b430ba03acdf74b85feeedeacd23febe2fab02cd13c12f88" + }, + { + "name": "error-context", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-candidate--4df36-sumes-after-network-release-webkit\\error-context.md", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-candidate--4df36-sumes-after-network-release-webkit/error-context.md", + "sha256": "7860660772ab6e4bc28f5f1338fe8955089cc6ca5caefe10463ba6e7bc3b7601" + }, + { + "name": "trace", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-candidate--4df36-sumes-after-network-release-webkit\\trace.zip", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-candidate--4df36-sumes-after-network-release-webkit/trace.zip", + "sha256": "79c2853ddf2be42befbde4997bcd02e2d499b7e0de52d709b47db07c362d19ad" + } + ] + }, + { + "file": "audio-buffering.spec.js", + "title": "candidate core + source audio: real video starvation resumes after network release", + "project": "webkit", + "status": "timedOut", + "retry": 0, + "errors": [ + { + "message": "\u001b[31mTest timeout of 20000ms exceeded.\u001b[39m" + }, + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js", + "column": 76, + "line": 50 + }, + "message": "Error: page.evaluate: Target page, context or browser has been closed\n\n 48 | try {\n 49 | await testInfo.attach('media-gate-requests', { contentType: 'application/json', body: JSON.stringify({ file, sha256: hash(bytes), bytes: bytes.length, limit, requests: gate.requests }) })\n> 50 | const events = page.isClosed() ? { closed: true } : await page.evaluate(() => window.starvation)\n | ^\n 51 | await testInfo.attach('media-gate', { contentType: 'application/json', body: JSON.stringify({ file, sha256: hash(bytes), bytes: bytes.length, limit, requests: gate.requests, events }) })\n 52 | if (!page.isClosed())\n 53 | await page.evaluate(() => window.art?.destroy())\n at D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js:50:76" + } + ], + "details": { + "audio-inputs": { + "release": { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-audio-track/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-audio-track/-/artplayer-plugin-audio-track-1.1.0.tgz", + "integrity": "sha512-pvvHvTSqC2+sBelwYyjAv2CVmaQgG9KpX+i96t/e8oyZRX/JuepC9iSVIp7GzB3AtliFzhVamksT+8lXvD3RCg==", + "sha256": "7e84f6a2f4bfada428a77ef04b749bf3db53e0149fa1afe7bf5749d925e801ff", + "archiveBytes": 2205, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "9a03352433ae90cb9d3198e17571c9bb598334b84a77a3a1df2c4b000ce8347d", + "package/dist/artplayer-plugin-audio-track.js": "473f39f1d750f0722cca7e857c12c3c978ebe3c3b2352e325f1248318e508683", + "package/dist/artplayer-plugin-audio-track.legacy.js": "d8dc74bce76112d7430c98e3165605e32fde5d3c603be4b496eac58f574576cb", + "package/dist/artplayer-plugin-audio-track.mjs": "4ac599bc5a1a6ecb0cb1942d4269528bfb2cd9d047f988de61fe671a77ad14cd", + "package/package.json": "c466ae55c40e8f6bdd97bec20fcf916c8c4f44eef3e47694638be005eb445df7", + "package/types/artplayer-plugin-audio-track.d.ts": "27bc0dfedacb7e0188cb668ac8708874a86b00d489f1636037c2465d3344437e" + }, + "manifest": { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "description": "audio-track plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-audio-track.d.ts", + "import": "./dist/artplayer-plugin-audio-track.mjs", + "require": "./dist/artplayer-plugin-audio-track.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-audio-track.d.ts", + "import": "./dist/artplayer-plugin-audio-track.legacy.js", + "require": "./dist/artplayer-plugin-audio-track.legacy.js" + } + }, + "main": "dist/artplayer-plugin-audio-track.js", + "module": "./dist/artplayer-plugin-audio-track.mjs", + "types": "types/artplayer-plugin-audio-track.d.ts", + "legacy": "dist/artplayer-plugin-audio-track.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "candidate": { + "kind": "installed", + "name": "artplayer-plugin-audio-track", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-audio-track\\dist\\artplayer-plugin-audio-track.js", + "member": "package/dist/artplayer-plugin-audio-track.js", + "sha256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "archiveSha256": "1b5bf9ed1e728ff921c2313d7d564d1e80cbebe01a6375398fd3628d29af5832", + "sourceHashes": { + "src/index.ts": "769b3d04261456bfb2c10849486244c9c15529229b658e39e48f8f71403abe49", + "src/track.ts": "9c6d587dc881e30a4d55746088d0122da5e0051258303d50d14a8fe5f69be2df", + "package.json": "49cddf50186ed3607a949ffe9277071b742995fbcd68ceb40174209645b3a45c", + "tsconfig.json": "c0f7dd993cf8f0fe5ce6ab390180c56cb8e3722e571c922c2ff15cb148a283ff" + } + }, + "audio": { + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436, + "format": "AAC mono 48000 Hz, 16 seconds, 440 Hz tone in MP4" + }, + "wav": { + "sha256": "3150fc69aa2b94a4b556e2e6d9d67fb52c2926cd144fdd8694a7f8ddfd2f15ff", + "bytes": 512044, + "format": "PCM16LE mono 16000 Hz, 16 seconds, integer square wave 200 Hz" + }, + "scope": "Desktop browser media checks; candidate provenance identifies installed, source or explicit artifact. No physical device acceptance.", + "core": "candidate", + "plugin": "source", + "selected": { + "kind": "installed", + "name": "artplayer-plugin-audio-track", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-audio-track\\dist\\artplayer-plugin-audio-track.js", + "member": "package/dist/artplayer-plugin-audio-track.js", + "sha256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "archiveSha256": "1b5bf9ed1e728ff921c2313d7d564d1e80cbebe01a6375398fd3628d29af5832", + "sourceHashes": { + "src/index.ts": "769b3d04261456bfb2c10849486244c9c15529229b658e39e48f8f71403abe49", + "src/track.ts": "9c6d587dc881e30a4d55746088d0122da5e0051258303d50d14a8fe5f69be2df", + "package.json": "49cddf50186ed3607a949ffe9277071b742995fbcd68ceb40174209645b3a45c", + "tsconfig.json": "c0f7dd993cf8f0fe5ce6ab390180c56cb8e3722e571c922c2ff15cb148a283ff" + } + } + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a", + "attribute": "/test/audio-tone.m4a", + "time": 0, + "paused": true, + "readyState": 4, + "networkState": 2, + "rate": 1, + "seekable": [ + [ + 0, + 16 + ] + ] + }, + "video": { + "src": "http://127.0.0.1:11245/media.mp4", + "attribute": "http://127.0.0.1:11245/media.mp4", + "time": 0, + "paused": true, + "readyState": 2, + "networkState": 2, + "rate": 1, + "seekable": [ + [ + 0, + 8 + ] + ] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a" + }, + { + "event": "playing", + "time": 0.03, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a" + }, + { + "event": "pause", + "time": 0.4798743, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a" + } + ], + "hostEvents": [ + { + "event": "video:canplay", + "videoTime": 0, + "videoPaused": true, + "videoReadyState": 4, + "playing": false, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0.0091538, + "videoPaused": false, + "videoReadyState": 4, + "playing": true, + "audioTime": 0.03, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0094553, + "videoPaused": false, + "videoReadyState": 4, + "playing": true, + "audioTime": 0.03, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.4878516, + "videoPaused": true, + "videoReadyState": 4, + "playing": false, + "audioTime": 0.4798743, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "videoPaused": true, + "videoReadyState": 2, + "playing": false, + "audioTime": 0.4798743, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0, + "videoPaused": true, + "videoReadyState": 2, + "playing": false, + "audioTime": 0, + "audioPaused": true + } + ], + "warnings": [] + }, + "media-gate-requests": { + "file": "pattern.mp4", + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538, + "limit": 98304, + "requests": [ + { + "method": "GET", + "range": "bytes=0-", + "start": 0, + "end": 251537, + "sent": 98304, + "wasHeld": true, + "closed": false + } + ] + } + }, + "artifacts": [ + { + "name": "screenshot", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-candidate--3c8b9-sumes-after-network-release-webkit\\test-failed-1.png", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-candidate--3c8b9-sumes-after-network-release-webkit/test-failed-1.png", + "sha256": "95accf86d5409466b7f5b0d3692e6fd744a257fa781e84c3584141f3bcfe5ddc" + }, + { + "name": "error-context", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-candidate--3c8b9-sumes-after-network-release-webkit\\error-context.md", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-candidate--3c8b9-sumes-after-network-release-webkit/error-context.md", + "sha256": "0504a09a90dcf39cc4e635b959cdc0823afaf25e0024567b1e2de16065d99bdb" + }, + { + "name": "trace", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-candidate--3c8b9-sumes-after-network-release-webkit\\trace.zip", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-candidate--3c8b9-sumes-after-network-release-webkit/trace.zip", + "sha256": "37c1188776244685e3fc7c9a19755a837741e4d475cf8867c361e0c553c6a8c7" + } + ] + }, + { + "file": "audio-buffering.spec.js", + "title": "candidate core + source audio: real audio starvation resumes after network release", + "project": "webkit", + "status": "failed", + "retry": 0, + "errors": [ + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js", + "column": 148, + "line": 30 + }, + "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32mtrue\u001b[39m\nReceived: \u001b[31mfalse\u001b[39m\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate\n\n 28 | if (owner === 'video')\n 29 | await page.evaluate(url => window.art.switchUrl(url), gate.url)\n> 30 | await expect.poll(() => page.evaluate(() => window.starvation.some(event => event.trusted && event.time > 0.3 && event.readyState < 3))).toBe(true)\n | ^\n 31 | expect(gate.blocked).toBeGreaterThan(0)\n 32 | const stalled = await page.evaluate(() => ({ audio: window.audioPlugin.audio.currentTime, video: window.art.currentTime }))\n 33 | if (owner === 'video') {\n at D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js:30:148" + } + ], + "details": { + "audio-inputs": { + "release": { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-audio-track/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-audio-track/-/artplayer-plugin-audio-track-1.1.0.tgz", + "integrity": "sha512-pvvHvTSqC2+sBelwYyjAv2CVmaQgG9KpX+i96t/e8oyZRX/JuepC9iSVIp7GzB3AtliFzhVamksT+8lXvD3RCg==", + "sha256": "7e84f6a2f4bfada428a77ef04b749bf3db53e0149fa1afe7bf5749d925e801ff", + "archiveBytes": 2205, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "9a03352433ae90cb9d3198e17571c9bb598334b84a77a3a1df2c4b000ce8347d", + "package/dist/artplayer-plugin-audio-track.js": "473f39f1d750f0722cca7e857c12c3c978ebe3c3b2352e325f1248318e508683", + "package/dist/artplayer-plugin-audio-track.legacy.js": "d8dc74bce76112d7430c98e3165605e32fde5d3c603be4b496eac58f574576cb", + "package/dist/artplayer-plugin-audio-track.mjs": "4ac599bc5a1a6ecb0cb1942d4269528bfb2cd9d047f988de61fe671a77ad14cd", + "package/package.json": "c466ae55c40e8f6bdd97bec20fcf916c8c4f44eef3e47694638be005eb445df7", + "package/types/artplayer-plugin-audio-track.d.ts": "27bc0dfedacb7e0188cb668ac8708874a86b00d489f1636037c2465d3344437e" + }, + "manifest": { + "name": "artplayer-plugin-audio-track", + "version": "1.1.0", + "description": "audio-track plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-audio-track.d.ts", + "import": "./dist/artplayer-plugin-audio-track.mjs", + "require": "./dist/artplayer-plugin-audio-track.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-audio-track.d.ts", + "import": "./dist/artplayer-plugin-audio-track.legacy.js", + "require": "./dist/artplayer-plugin-audio-track.legacy.js" + } + }, + "main": "dist/artplayer-plugin-audio-track.js", + "module": "./dist/artplayer-plugin-audio-track.mjs", + "types": "types/artplayer-plugin-audio-track.d.ts", + "legacy": "dist/artplayer-plugin-audio-track.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "candidate": { + "kind": "installed", + "name": "artplayer-plugin-audio-track", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-audio-track\\dist\\artplayer-plugin-audio-track.js", + "member": "package/dist/artplayer-plugin-audio-track.js", + "sha256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "archiveSha256": "1b5bf9ed1e728ff921c2313d7d564d1e80cbebe01a6375398fd3628d29af5832", + "sourceHashes": { + "src/index.ts": "769b3d04261456bfb2c10849486244c9c15529229b658e39e48f8f71403abe49", + "src/track.ts": "9c6d587dc881e30a4d55746088d0122da5e0051258303d50d14a8fe5f69be2df", + "package.json": "49cddf50186ed3607a949ffe9277071b742995fbcd68ceb40174209645b3a45c", + "tsconfig.json": "c0f7dd993cf8f0fe5ce6ab390180c56cb8e3722e571c922c2ff15cb148a283ff" + } + }, + "audio": { + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436, + "format": "AAC mono 48000 Hz, 16 seconds, 440 Hz tone in MP4" + }, + "wav": { + "sha256": "3150fc69aa2b94a4b556e2e6d9d67fb52c2926cd144fdd8694a7f8ddfd2f15ff", + "bytes": 512044, + "format": "PCM16LE mono 16000 Hz, 16 seconds, integer square wave 200 Hz" + }, + "scope": "Desktop browser media checks; candidate provenance identifies installed, source or explicit artifact. No physical device acceptance.", + "core": "candidate", + "plugin": "source", + "selected": { + "kind": "installed", + "name": "artplayer-plugin-audio-track", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-audio-track\\dist\\artplayer-plugin-audio-track.js", + "member": "package/dist/artplayer-plugin-audio-track.js", + "sha256": "23b10856628c5568f1aa7ad88e926c7da8d96edfadf6df872777062a78a4b4be", + "archiveSha256": "1b5bf9ed1e728ff921c2313d7d564d1e80cbebe01a6375398fd3628d29af5832", + "sourceHashes": { + "src/index.ts": "769b3d04261456bfb2c10849486244c9c15529229b658e39e48f8f71403abe49", + "src/track.ts": "9c6d587dc881e30a4d55746088d0122da5e0051258303d50d14a8fe5f69be2df", + "package.json": "49cddf50186ed3607a949ffe9277071b742995fbcd68ceb40174209645b3a45c", + "tsconfig.json": "c0f7dd993cf8f0fe5ce6ab390180c56cb8e3722e571c922c2ff15cb148a283ff" + } + } + }, + "media-gate-requests": { + "file": "audio-tone.m4a", + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436, + "limit": 32768, + "requests": [ + { + "method": "GET", + "range": "bytes=0-", + "start": 0, + "end": 132435, + "sent": 32768, + "wasHeld": true, + "closed": false + } + ] + }, + "media-gate": { + "file": "audio-tone.m4a", + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436, + "limit": 32768, + "requests": [ + { + "method": "GET", + "range": "bytes=0-", + "start": 0, + "end": 132435, + "sent": 32768, + "wasHeld": true, + "closed": false + } + ], + "events": [ + { + "trusted": true, + "time": 0, + "readyState": 2, + "audioPaused": false, + "videoTime": 0.0249316 + } + ] + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:11707/media.m4a", + "attribute": null, + "time": 0, + "paused": true, + "readyState": 0, + "networkState": 0, + "rate": 1, + "seekable": [] + }, + "video": { + "src": "http://127.0.0.1:8084/test/pattern.mp4", + "attribute": null, + "time": 0, + "paused": true, + "readyState": 0, + "networkState": 0, + "rate": 1, + "seekable": [] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:11707/media.m4a" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:11707/media.m4a" + } + ], + "hostEvents": [ + { + "event": "video:canplay", + "videoTime": 0, + "videoPaused": true, + "videoReadyState": 4, + "playing": false, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0.0105759, + "videoPaused": false, + "videoReadyState": 4, + "playing": true, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0109895, + "videoPaused": false, + "videoReadyState": 4, + "playing": true, + "audioTime": 0, + "audioPaused": false + } + ], + "warnings": [] + } + }, + "artifacts": [ + { + "name": "screenshot", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-candidate--b2b3b-sumes-after-network-release-webkit\\test-failed-1.png", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-candidate--b2b3b-sumes-after-network-release-webkit/test-failed-1.png", + "sha256": "15e92313f9ed0a95b430ba03acdf74b85feeedeacd23febe2fab02cd13c12f88" + }, + { + "name": "error-context", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-candidate--b2b3b-sumes-after-network-release-webkit\\error-context.md", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-candidate--b2b3b-sumes-after-network-release-webkit/error-context.md", + "sha256": "26d16196037b4a216706ff7a8087a2ca77e241a3e238e6303d7c7cfcdd7a5555" + }, + { + "name": "trace", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\audio-buffering-candidate--b2b3b-sumes-after-network-release-webkit\\trace.zip", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-candidate--b2b3b-sumes-after-network-release-webkit/trace.zip", + "sha256": "1e41b740e2ac721a0ac16dab2b81aac89416acdbb5ad2105bebf2c06d5825641" + } + ] + }, + { + "file": "chapter-combinations.spec.js", + "title": "candidate core + published chapter: quality switch preserves chapter/thumbnail interactions", + "project": "webkit", + "status": "failed", + "retry": 0, + "errors": [ + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js", + "column": 8, + "line": 79 + }, + "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoEqual\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // deep equality\u001b[22m\n\n\u001b[32m- Expected - 3\u001b[39m\n\u001b[31m+ Received + 1\u001b[39m\n\n\u001b[32m- Array [\u001b[39m\n\u001b[32m- \"/test/pattern.mp4?quality=A\",\u001b[39m\n\u001b[32m- ]\u001b[39m\n\u001b[31m+ Array []\u001b[39m\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate\n\n 77 | calls.push({ started, elapsed: Date.now() - started, ...state })\n 78 | return state.events\n> 79 | }).toEqual(['/test/pattern.mp4?quality=A'])\n | ^\n 80 | }\n 81 | finally {\n 82 | await testInfo.attach('chapter-restart-observations', { contentType: 'application/json', body: JSON.stringify(calls) })\n at waitForChapterRestart (D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:79:8)\n at D:\\github\\ArtPlayer\\test\\browser\\chapter-combinations.spec.js:153:13" + } + ], + "details": { + "chapter-restart-observations": [ + { + "started": 1789484884041, + "elapsed": 7, + "at": 4037, + "timeOrigin": 1789484880007, + "events": [] + } + ], + "chapter-combination-state": { + "at": 14325, + "timeOrigin": 1789484880007, + "qualitySelectedAt": 3494, + "events": [ + { + "name": "seek", + "value": 3.0064516129032257, + "at": 2637 + }, + { + "name": "restart", + "value": "/test/pattern.mp4?quality=A", + "at": 4088 + } + ], + "nativeEvents": [ + { + "name": "loadedmetadata", + "at": 560, + "time": 0, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=B", + "paused": true, + "readyState": 4 + }, + { + "name": "loadeddata", + "at": 560, + "time": 0, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=B", + "paused": true, + "readyState": 4 + }, + { + "name": "canplay", + "at": 560, + "time": 0, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=B", + "paused": true, + "readyState": 4 + }, + { + "name": "playing", + "at": 1153, + "time": 0.0055746, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=B", + "paused": false, + "readyState": 4 + }, + { + "name": "pause", + "at": 1859, + "time": 0.5419462, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=B", + "paused": true, + "readyState": 4 + }, + { + "name": "seeking", + "at": 2665, + "time": 3.0064516129032257, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=B", + "paused": true, + "readyState": 4 + }, + { + "name": "seeked", + "at": 2681, + "time": 3.0081565, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=B", + "paused": true, + "readyState": 4 + }, + { + "name": "loadedmetadata", + "at": 4087, + "time": 3.0081565, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", + "paused": true, + "readyState": 4 + }, + { + "name": "loadeddata", + "at": 4087, + "time": 3.0081565, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", + "paused": true, + "readyState": 4 + }, + { + "name": "canplay", + "at": 4088, + "time": 3.0081565, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", + "paused": true, + "readyState": 4 + }, + { + "name": "seeking", + "at": 4105, + "time": 3.0081565, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", + "paused": true, + "readyState": 4 + }, + { + "name": "seeked", + "at": 4125, + "time": 3.0081565, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", + "paused": true, + "readyState": 4 + }, + { + "name": "canplay", + "at": 4125, + "time": 3.0081565, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", + "paused": true, + "readyState": 4 + }, + { + "name": "seeking", + "at": 14169, + "time": 3.0081565, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", + "paused": true, + "readyState": 2 + }, + { + "name": "canplay", + "at": 14183, + "time": 3.0081565, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", + "paused": true, + "readyState": 4 + }, + { + "name": "seeked", + "at": 14322, + "time": 3.0114655, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", + "paused": true, + "readyState": 4 + } + ], + "time": 3.0114655, + "paused": true, + "mediaError": null, + "source": "http://127.0.0.1:8084/test/pattern.mp4?quality=A", + "readyState": 4, + "mobileBranch": false, + "maxTouchPoints": 0, + "chapters": [ + { + "start": "0", + "end": "2", + "duration": "2", + "title": "Opening" + }, + { + "start": "2", + "end": "6", + "duration": "4", + "title": "Middle" + }, + { + "start": "6", + "end": "8", + "duration": "2", + "title": "Ending" + } + ] + } + }, + "artifacts": [ + { + "name": "screenshot", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\chapter-combinations-candi-40028-pter-thumbnail-interactions-webkit\\test-failed-1.png", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/chapter-combinations-candi-40028-pter-thumbnail-interactions-webkit/test-failed-1.png", + "sha256": "64101d8781a4847786fd5a88a9442b7b837eb6251565b0d6a8a7940c2383feb1" + }, + { + "name": "error-context", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\chapter-combinations-candi-40028-pter-thumbnail-interactions-webkit\\error-context.md", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/chapter-combinations-candi-40028-pter-thumbnail-interactions-webkit/error-context.md", + "sha256": "6d469ec4a39a6fbe93eefd6b71901aa16a686c7f96691b29f835934350f98d5b" + }, + { + "name": "trace", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\chapter-combinations-candi-40028-pter-thumbnail-interactions-webkit\\trace.zip", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/chapter-combinations-candi-40028-pter-thumbnail-interactions-webkit/trace.zip", + "sha256": "82c4b5c44f89d401ef72829957dc036c99121813c501cbdb976154b6ef948ff4" + } + ] + }, + { + "file": "danmuku-timing-diagnostic.spec.js", + "title": "candidate: native main-thread-gap records actual frame and eligibility gaps", + "project": "webkit", + "status": "failed", + "retry": 0, + "errors": [ + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\danmuku-timing-diagnostic.spec.js", + "column": 37, + "line": 117 + }, + "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoEqual\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // deep equality\u001b[22m\n\n\u001b[32m- Expected - 1\u001b[39m\n\u001b[31m+ Received + 4\u001b[39m\n\n\u001b[32m- Array []\u001b[39m\n\u001b[31m+ Array [\u001b[39m\n\u001b[31m+ \"first\",\u001b[39m\n\u001b[31m+ \"middle\",\u001b[39m\n\u001b[31m+ ]\u001b[39m\n\n 115 | }\n 116 | if (implementation === 'candidate') {\n> 117 | expect(observation.missing).toEqual([])\n | ^\n 118 | expect(observation.visible.map(row => row.id)).toEqual(['first', 'middle', 'sentinel'])\n 119 | }\n 120 | await page.evaluate(() => window.art.destroy())\n at D:\\github\\ArtPlayer\\test\\browser\\danmuku-timing-diagnostic.spec.js:117:37" + } + ], + "details": { + "danmuku-selected-input": { + "implementation": "candidate", + "provenance": { + "kind": "installed", + "name": "artplayer-plugin-danmuku", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-danmuku\\dist\\artplayer-plugin-danmuku.js", + "member": "package/dist/artplayer-plugin-danmuku.js", + "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36", + "archiveSha256": "f885cebdc07105770a7e5ca9cc0aacc0e891864bc24ff926d319bbb2dc1c3f49", + "sourceHashes": { + "src/bilibili-parser.ts": "a9d7668eda4ab10d076c319fb8847b2f4492f4499a47b003e30a8a647f1fce9f", + "src/bilibili.ts": "deb12c825ae8018501c81e935c17ce732621ea9e1e711181a71aa1f2db7102ed", + "src/config.ts": "ecdc1206b984126c4d49480fe264e2202d8e3393970d1552406e6a399c612951", + "src/danmuku.ts": "e15716c37b4e42e2a1b7b4b77d4ecdb66bb854a87715f6d99018f00bc321a3a5", + "src/heatmap-geometry.ts": "fc4a3073bdcfdeb09facf7dafce5bd10c2518ec6feb5ab6fccc008c869d01ee0", + "src/heatmap-sampling.ts": "7f4074a8ec3eb985599ca5c4def096030a11733285e72e9e1ba5cf23f81108a3", + "src/heatmap.ts": "032ec70f9594824fb6eedaed277e1125a6327219a8551bd22956f8a5ac162381", + "src/img/check_off.svg": "8cb8e31da1bf7b5be8f4065920b46e1988755910218fb121dd3d9649c50156cf", + "src/img/check_on.svg": "c5a34f56c56b0f696b4e3740c73e803076b5bfdfdee89714793118fc4c6baa84", + "src/img/config.svg": "bbd7c2952740ac8220f396477eaca3b01f6c249866d880ece38c565cc77c5e36", + "src/img/mode_0_off.svg": "fe9e5e1745e8206a4eda0d0ac30815f301c37acccec2564bbda51c1fa4bd1e1e", + "src/img/mode_0_on.svg": "96720a81f0315caf6c70664de934e49d22e6dd070a9f6ca1fec2a9a96af4d138", + "src/img/mode_1_off.svg": "3ccd22bf3648dc260cd1d0b6a60a9226a853764ae20efb8fe9c940cd856c81b2", + "src/img/mode_1_on.svg": "2238ca27e3c7c4c687d10de13b794d8be70ae1c5ba9225ebad27f251cfe5f12a", + "src/img/mode_2_off.svg": "31423e3d67c00839adc77dd871dc1da55f77c8b83b5a37b445e4b4c3f46c6d6d", + "src/img/mode_2_on.svg": "96b4c9db8d5055c8777fda74cb5e0f32b3e12e62a1e0bacbf75d2088f4505e2f", + "src/img/off.svg": "4e6743ee28002e16117caf47ea3bffb34ca75bcc4118744b4ee720829ae3b563", + "src/img/on.svg": "cc0fb7048bff6dc3f14a17ed549209c67e9bc34368cb1571e0abd8035c7b59b7", + "src/img/style.svg": "9034ea7b9a214a6d4c086c02cf85f42b1c4487cec0906e919fc91e99dfff529a", + "src/index.ts": "bb94fb7c711159c5bad8240b2cad3b5d11b7623307b0ef77f25b88ad21314d00", + "src/input.ts": "a9340c7031f486e22074a8def633fba47eb22c2a745fc5d6e6ddac988b9c6839", + "src/parser-types.ts": "f91cf9afc4947a12a79a44f51db7117a08d833db2cb2fca025935a3ac9358046", + "src/placement.ts": "84e7f059790f71f83e7039c561278a5cf016eceef2ba585a748ab47f1423f054", + "src/queue.ts": "79eb58836c90dc864b68019792a8185be907e23dfd451cfd2916a9ef78fc8e7e", + "src/renderer.ts": "b3b6b0f74a1cd34c4391eafb6be434f5efd1c6e2095356c8fa11c542209e9441", + "src/sampling-window.ts": "e60b4aa5b17264928019527403a239e7d216eb08969098da6d0581ba3dd9fa88", + "src/scheduler.ts": "d3493d28a6222edf78287c8b52510db6462dad29eda0ded0987744a47fdc7dd2", + "src/scheduling-buffer.ts": "0a7eaf5229adcc74a8d9814fbc9a61cb3990045b3e99ac4ad9dc3f65fb9aab2e", + "src/setting-lifecycle.ts": "4580ce961a4b9ca9d6a481667306204778fdd46b404fbfa232e28db97ab74db0", + "src/setting-send.ts": "b6abbaf3a5e29d42cffb41de44e1ec3760fa3c3223e1b0476e9c8a57f94fd650", + "src/setting-slider.ts": "f06dd34babc0d369cc741d1eb98638aa90a516f59b317fa97a7a0cb2f343cb1d", + "src/setting-style.ts": "47a9a52fee7b9565febb91f8db0f7027d9e77ea5c5dff9220c8425803cca5057", + "src/setting-template.ts": "136609371f91b057d7c589fc32ae7510a0359edc794628c6f1ace33ac6a10406", + "src/setting-types.ts": "42efe18a8fb4ec24d90df49d0c74532a1ad3661e9dcb584b563e38ce8ccaadaa", + "src/setting.ts": "9273fd8869364efb12fb90e9f45674fb0d5f9e49675acb2c2500850f0386ee5a", + "src/style.less": "7148a1bd32f5d3d743db4a4ae8d39dc0e1406d2bff18df42cbb20e6705d5fed9", + "src/types.ts": "d561f0aa1c46b39dfdf66ba74e57b66841f9ac75344b51d9707bfd3e33879c71", + "src/worker-assets.d.ts": "3582ccd87626600d9d29c6fa82f812012ea389bc03b39e4edcb4345d02372751", + "src/worker-client.ts": "252b048c67123d296c277d5c1e92ff0f36d919e4c47588497e2da3ca7b4ca881", + "src/worker-types.ts": "6595241341a2ed7c0d01120addadf42dcca306fa1282098084d5d0b6c4e32608", + "src/worker.ts": "39c134fcc5d785fccd8d0743b2353c6a45965e886191b7d4c7cf2131b299ca18", + "package.json": "563f92ac14666c7600b0af623bd77d7ff71f1faebb851a1d780207ac8952f0a5", + "tsconfig.json": "e77f21e3d898f815361f940427ac977adfcc40140972c320aace52a9038a9ea1" + } + } + }, + "danmuku-timing-observation": { + "implementation": "candidate", + "scenario": "main-thread-gap", + "sha256": "708d4eb455c1bffae284d2208c915ca3534bcb59731dd570bff65c5a39ca7f36", + "observation": { + "frames": [ + { + "wall": 1462, + "time": 0.4614583 + }, + { + "wall": 2295, + "time": 1.2943751 + }, + { + "wall": 2356, + "time": 1.355146 + }, + { + "wall": 2401, + "time": 1.4005418 + }, + { + "wall": 2432, + "time": 1.4318127 + }, + { + "wall": 2463, + "time": 1.4620418 + }, + { + "wall": 2493, + "time": 1.4927501 + }, + { + "wall": 2525, + "time": 1.5240418 + }, + { + "wall": 2570, + "time": 1.5696043 + }, + { + "wall": 2601, + "time": 1.5999169 + }, + { + "wall": 2647, + "time": 1.6464377 + }, + { + "wall": 2677, + "time": 1.6764585 + }, + { + "wall": 2723, + "time": 1.7225835 + }, + { + "wall": 2754, + "time": 1.7534169 + }, + { + "wall": 2800, + "time": 1.7996877 + }, + { + "wall": 2845, + "time": 1.8445627 + }, + { + "wall": 2891, + "time": 1.8902294 + }, + { + "wall": 2951, + "time": 1.9508544 + }, + { + "wall": 2998, + "time": 1.9972711 + }, + { + "wall": 3043, + "time": 2.0425419 + }, + { + "wall": 3105, + "time": 2.1040628 + }, + { + "wall": 3152, + "time": 2.1514586 + }, + { + "wall": 3198, + "time": 2.1973544 + }, + { + "wall": 3258, + "time": 2.2577086 + }, + { + "wall": 3289, + "time": 2.2885836 + }, + { + "wall": 3338, + "time": 2.3368544 + }, + { + "wall": 3383, + "time": 2.3823753 + }, + { + "wall": 3413, + "time": 2.4127503 + }, + { + "wall": 3461, + "time": 2.459917 + }, + { + "wall": 3506, + "time": 2.5052711 + }, + { + "wall": 3568, + "time": 2.5675628 + }, + { + "wall": 3600, + "time": 2.5992295 + }, + { + "wall": 3646, + "time": 2.6451879 + }, + { + "wall": 3676, + "time": 2.675667 + }, + { + "wall": 3722, + "time": 2.7211462 + }, + { + "wall": 3753, + "time": 2.752417 + }, + { + "wall": 3799, + "time": 2.7989171 + }, + { + "wall": 3862, + "time": 2.8615212 + }, + { + "wall": 3908, + "time": 2.9072295 + }, + { + "wall": 3954, + "time": 2.9529379 + }, + { + "wall": 4016, + "time": 3.0150004 + }, + { + "wall": 4061, + "time": 3.0607296 + }, + { + "wall": 4106, + "time": 3.1053338 + }, + { + "wall": 4168, + "time": 3.1672296 + }, + { + "wall": 4212, + "time": 3.2113338 + }, + { + "wall": 4258, + "time": 3.2575005 + }, + { + "wall": 4305, + "time": 3.3045213 + }, + { + "wall": 4351, + "time": 3.3506046 + }, + { + "wall": 4414, + "time": 3.413313 + }, + { + "wall": 4416, + "time": 3.415563 + }, + { + "wall": 4418, + "time": 3.4173963 + } + ], + "eligibility": [ + { + "wall": 2262, + "time": 1.2613335, + "ids": [] + }, + { + "wall": 2295, + "time": 1.2944793, + "ids": [] + }, + { + "wall": 2356, + "time": 1.3552501, + "ids": [] + }, + { + "wall": 2401, + "time": 1.400646, + "ids": [] + }, + { + "wall": 2433, + "time": 1.4319168, + "ids": [] + }, + { + "wall": 2463, + "time": 1.462146, + "ids": [] + }, + { + "wall": 2494, + "time": 1.4928335, + "ids": [] + }, + { + "wall": 2525, + "time": 1.524146, + "ids": [] + }, + { + "wall": 2570, + "time": 1.5696877, + "ids": [] + }, + { + "wall": 2601, + "time": 1.6000835, + "ids": [] + }, + { + "wall": 2647, + "time": 1.6465419, + "ids": [] + }, + { + "wall": 2677, + "time": 1.6765627, + "ids": [] + }, + { + "wall": 2723, + "time": 1.7227085, + "ids": [] + }, + { + "wall": 2754, + "time": 1.7535002, + "ids": [] + }, + { + "wall": 2800, + "time": 1.7997711, + "ids": [] + }, + { + "wall": 2845, + "time": 1.8446669, + "ids": [] + }, + { + "wall": 2891, + "time": 1.8903544, + "ids": [ + "sentinel" + ] + }, + { + "wall": 2952, + "time": 1.9510211, + "ids": [] + }, + { + "wall": 2998, + "time": 1.9973544, + "ids": [] + }, + { + "wall": 3043, + "time": 2.0426252, + "ids": [] + }, + { + "wall": 3105, + "time": 2.1041461, + "ids": [] + }, + { + "wall": 3152, + "time": 2.1515628, + "ids": [] + }, + { + "wall": 3198, + "time": 2.1974169, + "ids": [] + }, + { + "wall": 3258, + "time": 2.257792, + "ids": [] + }, + { + "wall": 3289, + "time": 2.2886669, + "ids": [] + }, + { + "wall": 3338, + "time": 2.3369378, + "ids": [] + }, + { + "wall": 3383, + "time": 2.3824795, + "ids": [] + }, + { + "wall": 3414, + "time": 2.4128336, + "ids": [] + }, + { + "wall": 3461, + "time": 2.460042, + "ids": [] + }, + { + "wall": 3506, + "time": 2.5053545, + "ids": [] + }, + { + "wall": 3568, + "time": 2.5677087, + "ids": [] + }, + { + "wall": 3600, + "time": 2.5993962, + "ids": [] + }, + { + "wall": 3646, + "time": 2.645292, + "ids": [] + }, + { + "wall": 3676, + "time": 2.675792, + "ids": [] + }, + { + "wall": 3722, + "time": 2.7212295, + "ids": [] + }, + { + "wall": 3753, + "time": 2.752542, + "ids": [] + }, + { + "wall": 3800, + "time": 2.7990837, + "ids": [] + }, + { + "wall": 3862, + "time": 2.8616045, + "ids": [] + }, + { + "wall": 3908, + "time": 2.9073129, + "ids": [] + }, + { + "wall": 3954, + "time": 2.9530421, + "ids": [] + }, + { + "wall": 4016, + "time": 3.0150838, + "ids": [] + }, + { + "wall": 4061, + "time": 3.0607921, + "ids": [] + }, + { + "wall": 4106, + "time": 3.1054379, + "ids": [] + }, + { + "wall": 4168, + "time": 3.1673338, + "ids": [] + }, + { + "wall": 4212, + "time": 3.2114171, + "ids": [] + }, + { + "wall": 4258, + "time": 3.2575838, + "ids": [] + }, + { + "wall": 4305, + "time": 3.3046046, + "ids": [] + }, + { + "wall": 4351, + "time": 3.3507505, + "ids": [] + }, + { + "wall": 4414, + "time": 3.4133963, + "ids": [] + }, + { + "wall": 4416, + "time": 3.4156672, + "ids": [] + }, + { + "wall": 4418, + "time": 3.4175213, + "ids": [] + } + ], + "visible": [ + { + "id": "sentinel", + "time": 1.8929377, + "wall": 2894 + } + ], + "callbacks": [ + { + "id": "sentinel", + "start": 2892, + "media": 1.8909794, + "end": 2892 + } + ], + "block": { + "start": 1462, + "end": 2262, + "before": 0.4614583, + "after": 1.260896 + }, + "rows": [ + { + "id": "first", + "time": 0.7113125, + "state": "wait" + }, + { + "id": "middle", + "time": 1.0113125, + "state": "wait" + }, + { + "id": "sentinel", + "time": 1.9613125, + "state": "stop" + } + ], + "missing": [ + "first", + "middle" + ], + "media": { + "time": 3.417563, + "width": 640 + } + }, + "scope": "Native timing with controlled load, original readys getter and unmodified queue states. Candidate must recover both CPU and asynchronous gaps; published CPU loss is observed separately. This is not sustained-load acceptance." + } + }, + "artifacts": [ + { + "name": "screenshot", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\danmuku-timing-diagnostic--7ff98--frame-and-eligibility-gaps-webkit\\test-failed-1.png", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/danmuku-timing-diagnostic--7ff98--frame-and-eligibility-gaps-webkit/test-failed-1.png", + "sha256": "41ccba62b8e179ecb06c37d05454d210db12dbaad14b80d89ac5586f934b206f" + }, + { + "name": "error-context", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\danmuku-timing-diagnostic--7ff98--frame-and-eligibility-gaps-webkit\\error-context.md", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/danmuku-timing-diagnostic--7ff98--frame-and-eligibility-gaps-webkit/error-context.md", + "sha256": "c302b7553f19f63a50d75c91f41cfbb870d5bd1fc75ec1299cb626b9a2124cab" + }, + { + "name": "trace", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\danmuku-timing-diagnostic--7ff98--frame-and-eligibility-gaps-webkit\\trace.zip", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/danmuku-timing-diagnostic--7ff98--frame-and-eligibility-gaps-webkit/trace.zip", + "sha256": "6cd98ba93ab633cb5c0a412c6b1c3026c3f9fac694e3f87c7da9d9b0ae3d0368" + } + ] + }, + { + "file": "jassub-native.spec.js", + "title": "JASSUB published 1.1.0 renders actual WASM subtitles through seek and layout with candidate core, customCanvas=false, defaultOffscreen=false", + "project": "webkit", + "status": "failed", + "retry": 0, + "errors": [ + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\jassub-native.spec.js", + "column": 69, + "line": 194 + }, + "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m100\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate\n\n 192 | expect(offscreen.selected).toBe(defaultOffscreen && !customCanvas && offscreen.available)\n 193 | await page.locator('#play').click()\n> 194 | await expect.poll(async () => (await pixels(page)).visible).toBeGreaterThan(100)\n | ^\n 195 | const before = await pixels(page, 'before-seek')\n 196 | expect(before.connected).toBe(true)\n 197 | if (screenshotReadback) {\n at D:\\github\\ArtPlayer\\test\\browser\\jassub-native.spec.js:194:69" + } + ], + "details": { + "jassub-selected-input": { + "core": "candidate", + "provenance": { + "kind": "published", + "version": "1.1.0", + "integrity": "sha512-vQwEtZMmkwr5utbxfUAeE/gRccl2nfcz+SYP2Subn/L8cVIFdMXWMgicm7ZkPVtAoBbCav7p0yP4pwXkCKMzAg==", + "member": "package/dist/artplayer-plugin-jassub.js", + "sha256": "271d5284e5246fbd04575526510b3e381e5e60d414c030acecce92fcf2e9b10a" + } + }, + "actual-jassub-evidence": { + "core": "candidate", + "onDemandRender": true, + "customCanvas": false, + "defaultOffscreen": false, + "source": { + "kind": "published", + "version": "1.1.0", + "integrity": "sha512-vQwEtZMmkwr5utbxfUAeE/gRccl2nfcz+SYP2Subn/L8cVIFdMXWMgicm7ZkPVtAoBbCav7p0yP4pwXkCKMzAg==", + "member": "package/dist/artplayer-plugin-jassub.js", + "sha256": "271d5284e5246fbd04575526510b3e381e5e60d414c030acecce92fcf2e9b10a" + }, + "subtitleSha256": "12994d1b6a07c45fd9776cb8709afc37725a8003bd90e4e829b7cc44fbadc0ec", + "resources": [ + { + "url": "http://127.0.0.1:8084/assets/jassub/jassub-worker.js", + "status": 200, + "contentType": "text/javascript" + }, + { + "url": "http://127.0.0.1:8084/assets/jassub/jassub-worker-modern.wasm", + "status": 200, + "contentType": "application/wasm" + }, + { + "url": "http://127.0.0.1:8084/assets/jassub/default.woff2", + "status": 200, + "contentType": "font/woff2" + }, + { + "url": "http://127.0.0.1:8084/assets/jassub/default.woff2", + "status": 200, + "contentType": "font/woff2" + } + ], + "external": [], + "state": { + "workers": [ + { + "url": "/assets/jassub/jassub-worker.js", + "terminated": 0, + "sent": [ + { + "target": "init", + "width": 300, + "height": 150, + "asyncRender": true + }, + { + "target": "canvas", + "width": 1280, + "height": 720 + }, + { + "target": "canvas", + "width": 1280, + "height": 720 + } + ], + "received": [ + { + "target": "ready" + }, + { + "target": "verifyColorSpace" + }, + { + "target": "render", + "images": 0, + "width": 1280, + "height": 720 + } + ] + } + ], + "snapshots": [], + "errors": [], + "frames": { + "before": "undefined", + "registered": 1, + "delivered": 0, + "after": "function" + }, + "renderCalls": [ + { + "context": true, + "images": 0 + } + ], + "offscreen": { + "available": false, + "selected": false + }, + "lastPixel": { + "visible": 0, + "signature": 0, + "width": 1280, + "height": 720, + "cssWidth": 640, + "cssHeight": 360, + "clip": { + "x": 8, + "y": 8, + "width": 640, + "height": 360 + }, + "time": 6.8712511, + "connected": true, + "media": { + "paused": false, + "readyState": 4, + "totalFrames": 0, + "droppedFrames": 0, + "decodedFrames": 0 + }, + "onDemand": true + }, + "readbackFrame": false, + "synchronousRender": false, + "screenshotReadback": false + }, + "limitation": "Actual worker, WASM and local font; offscreen option explicitly false. Canvas pixels are read from a separate canvas copying the native display bitmap. No full failure recovery, sustained GPU/memory or physical-device acceptance; candidate adds direct-then-host destruction." + } + }, + "artifacts": [ + { + "name": "screenshot", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\jassub-native-JASSUB-publi-d686f-alse-defaultOffscreen-false-webkit\\test-failed-1.png", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/jassub-native-JASSUB-publi-d686f-alse-defaultOffscreen-false-webkit/test-failed-1.png", + "sha256": "15e92313f9ed0a95b430ba03acdf74b85feeedeacd23febe2fab02cd13c12f88" + }, + { + "name": "error-context", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\jassub-native-JASSUB-publi-d686f-alse-defaultOffscreen-false-webkit\\error-context.md", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/jassub-native-JASSUB-publi-d686f-alse-defaultOffscreen-false-webkit/error-context.md", + "sha256": "2bcfed816cc2db3154e2815b6ff4f488ac09f7f0677b7e1cdc5b378a7c970b2a" + }, + { + "name": "trace", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\jassub-native-JASSUB-publi-d686f-alse-defaultOffscreen-false-webkit\\trace.zip", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/jassub-native-JASSUB-publi-d686f-alse-defaultOffscreen-false-webkit/trace.zip", + "sha256": "fb7dc1b6df305433537adfb226a225c2feb312cdb6e946a0248996bf6ee4df21" + } + ] + }, + { + "file": "jassub-native.spec.js", + "title": "JASSUB published 1.1.0 renders actual WASM subtitles through seek and layout with published core, customCanvas=false, defaultOffscreen=false", + "project": "webkit", + "status": "failed", + "retry": 0, + "errors": [ + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\jassub-native.spec.js", + "column": 69, + "line": 194 + }, + "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m100\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate\n\n 192 | expect(offscreen.selected).toBe(defaultOffscreen && !customCanvas && offscreen.available)\n 193 | await page.locator('#play').click()\n> 194 | await expect.poll(async () => (await pixels(page)).visible).toBeGreaterThan(100)\n | ^\n 195 | const before = await pixels(page, 'before-seek')\n 196 | expect(before.connected).toBe(true)\n 197 | if (screenshotReadback) {\n at D:\\github\\ArtPlayer\\test\\browser\\jassub-native.spec.js:194:69" + } + ], + "details": { + "jassub-selected-input": { + "core": "published", + "provenance": { + "kind": "published", + "version": "1.1.0", + "integrity": "sha512-vQwEtZMmkwr5utbxfUAeE/gRccl2nfcz+SYP2Subn/L8cVIFdMXWMgicm7ZkPVtAoBbCav7p0yP4pwXkCKMzAg==", + "member": "package/dist/artplayer-plugin-jassub.js", + "sha256": "271d5284e5246fbd04575526510b3e381e5e60d414c030acecce92fcf2e9b10a" + } + }, + "actual-jassub-evidence": { + "core": "published", + "onDemandRender": true, + "customCanvas": false, + "defaultOffscreen": false, + "source": { + "kind": "published", + "version": "1.1.0", + "integrity": "sha512-vQwEtZMmkwr5utbxfUAeE/gRccl2nfcz+SYP2Subn/L8cVIFdMXWMgicm7ZkPVtAoBbCav7p0yP4pwXkCKMzAg==", + "member": "package/dist/artplayer-plugin-jassub.js", + "sha256": "271d5284e5246fbd04575526510b3e381e5e60d414c030acecce92fcf2e9b10a" + }, + "subtitleSha256": "12994d1b6a07c45fd9776cb8709afc37725a8003bd90e4e829b7cc44fbadc0ec", + "resources": [ + { + "url": "http://127.0.0.1:8084/assets/jassub/jassub-worker.js", + "status": 200, + "contentType": "text/javascript" + }, + { + "url": "http://127.0.0.1:8084/assets/jassub/jassub-worker-modern.wasm", + "status": 200, + "contentType": "application/wasm" + }, + { + "url": "http://127.0.0.1:8084/assets/jassub/default.woff2", + "status": 200, + "contentType": "font/woff2" + }, + { + "url": "http://127.0.0.1:8084/assets/jassub/default.woff2", + "status": 200, + "contentType": "font/woff2" + } + ], + "external": [], + "state": { + "workers": [ + { + "url": "/assets/jassub/jassub-worker.js", + "terminated": 0, + "sent": [ + { + "target": "init", + "width": 300, + "height": 150, + "asyncRender": true + }, + { + "target": "canvas", + "width": 1280, + "height": 720 + }, + { + "target": "canvas", + "width": 1280, + "height": 720 + } + ], + "received": [ + { + "target": "ready" + }, + { + "target": "verifyColorSpace" + }, + { + "target": "render", + "images": 0, + "width": 1280, + "height": 720 + } + ] + } + ], + "snapshots": [], + "errors": [], + "frames": { + "before": "undefined", + "registered": 1, + "delivered": 0, + "after": "function" + }, + "renderCalls": [ + { + "context": true, + "images": 0 + } + ], + "offscreen": { + "available": false, + "selected": false + }, + "lastPixel": { + "visible": 0, + "signature": 0, + "width": 1280, + "height": 720, + "cssWidth": 640, + "cssHeight": 360, + "clip": { + "x": 8, + "y": 8, + "width": 640, + "height": 360 + }, + "time": 6.7575011, + "connected": true, + "media": { + "paused": false, + "readyState": 4, + "totalFrames": 0, + "droppedFrames": 0, + "decodedFrames": 0 + }, + "onDemand": true + }, + "readbackFrame": false, + "synchronousRender": false, + "screenshotReadback": false + }, + "limitation": "Actual worker, WASM and local font; offscreen option explicitly false. Canvas pixels are read from a separate canvas copying the native display bitmap. No full failure recovery, sustained GPU/memory or physical-device acceptance; candidate adds direct-then-host destruction." + } + }, + "artifacts": [ + { + "name": "screenshot", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\jassub-native-JASSUB-publi-70a6b-alse-defaultOffscreen-false-webkit\\test-failed-1.png", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/jassub-native-JASSUB-publi-70a6b-alse-defaultOffscreen-false-webkit/test-failed-1.png", + "sha256": "15e92313f9ed0a95b430ba03acdf74b85feeedeacd23febe2fab02cd13c12f88" + }, + { + "name": "error-context", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\jassub-native-JASSUB-publi-70a6b-alse-defaultOffscreen-false-webkit\\error-context.md", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/jassub-native-JASSUB-publi-70a6b-alse-defaultOffscreen-false-webkit/error-context.md", + "sha256": "610c17ef63681948e835f8baa1ea9d73946c83bf171c969e24e7546922a28cb6" + }, + { + "name": "trace", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\jassub-native-JASSUB-publi-70a6b-alse-defaultOffscreen-false-webkit\\trace.zip", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/jassub-native-JASSUB-publi-70a6b-alse-defaultOffscreen-false-webkit/trace.zip", + "sha256": "5540e14999a49691e76572a5106f81343b4f8c524f0e677303c2ee53d940fd23" + } + ] + }, + { + "file": "jassub-native.spec.js", + "title": "JASSUB published 1.1.0 renders actual WASM subtitles through seek and layout with published-5.3.1-beta.1 core, customCanvas=false, defaultOffscreen=false", + "project": "webkit", + "status": "failed", + "retry": 0, + "errors": [ + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\jassub-native.spec.js", + "column": 69, + "line": 194 + }, + "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBeGreaterThan\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m)\u001b[22m\n\nExpected: > \u001b[32m100\u001b[39m\nReceived: \u001b[31m0\u001b[39m\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate\n\n 192 | expect(offscreen.selected).toBe(defaultOffscreen && !customCanvas && offscreen.available)\n 193 | await page.locator('#play').click()\n> 194 | await expect.poll(async () => (await pixels(page)).visible).toBeGreaterThan(100)\n | ^\n 195 | const before = await pixels(page, 'before-seek')\n 196 | expect(before.connected).toBe(true)\n 197 | if (screenshotReadback) {\n at D:\\github\\ArtPlayer\\test\\browser\\jassub-native.spec.js:194:69" + } + ], + "details": { + "jassub-selected-input": { + "core": "published-5.3.1-beta.1", + "provenance": { + "kind": "published", + "version": "1.1.0", + "integrity": "sha512-vQwEtZMmkwr5utbxfUAeE/gRccl2nfcz+SYP2Subn/L8cVIFdMXWMgicm7ZkPVtAoBbCav7p0yP4pwXkCKMzAg==", + "member": "package/dist/artplayer-plugin-jassub.js", + "sha256": "271d5284e5246fbd04575526510b3e381e5e60d414c030acecce92fcf2e9b10a" + } + }, + "actual-jassub-evidence": { + "core": "published-5.3.1-beta.1", + "onDemandRender": true, + "customCanvas": false, + "defaultOffscreen": false, + "source": { + "kind": "published", + "version": "1.1.0", + "integrity": "sha512-vQwEtZMmkwr5utbxfUAeE/gRccl2nfcz+SYP2Subn/L8cVIFdMXWMgicm7ZkPVtAoBbCav7p0yP4pwXkCKMzAg==", + "member": "package/dist/artplayer-plugin-jassub.js", + "sha256": "271d5284e5246fbd04575526510b3e381e5e60d414c030acecce92fcf2e9b10a" + }, + "subtitleSha256": "12994d1b6a07c45fd9776cb8709afc37725a8003bd90e4e829b7cc44fbadc0ec", + "resources": [ + { + "url": "http://127.0.0.1:8084/assets/jassub/jassub-worker.js", + "status": 200, + "contentType": "text/javascript" + }, + { + "url": "http://127.0.0.1:8084/assets/jassub/jassub-worker-modern.wasm", + "status": 200, + "contentType": "application/wasm" + }, + { + "url": "http://127.0.0.1:8084/assets/jassub/default.woff2", + "status": 200, + "contentType": "font/woff2" + }, + { + "url": "http://127.0.0.1:8084/assets/jassub/default.woff2", + "status": 200, + "contentType": "font/woff2" + } + ], + "external": [], + "state": { + "workers": [ + { + "url": "/assets/jassub/jassub-worker.js", + "terminated": 0, + "sent": [ + { + "target": "init", + "width": 300, + "height": 150, + "asyncRender": true + }, + { + "target": "canvas", + "width": 1280, + "height": 720 + }, + { + "target": "canvas", + "width": 1280, + "height": 720 + } + ], + "received": [ + { + "target": "ready" + }, + { + "target": "verifyColorSpace" + }, + { + "target": "render", + "images": 0, + "width": 1280, + "height": 720 + } + ] + } + ], + "snapshots": [], + "errors": [], + "frames": { + "before": "undefined", + "registered": 1, + "delivered": 0, + "after": "function" + }, + "renderCalls": [ + { + "context": true, + "images": 0 + } + ], + "offscreen": { + "available": false, + "selected": false + }, + "lastPixel": { + "visible": 0, + "signature": 0, + "width": 1280, + "height": 720, + "cssWidth": 640, + "cssHeight": 360, + "clip": { + "x": 8, + "y": 8, + "width": 640, + "height": 360 + }, + "time": 6.7025844, + "connected": true, + "media": { + "paused": false, + "readyState": 4, + "totalFrames": 0, + "droppedFrames": 0, + "decodedFrames": 0 + }, + "onDemand": true + }, + "readbackFrame": false, + "synchronousRender": false, + "screenshotReadback": false + }, + "limitation": "Actual worker, WASM and local font; offscreen option explicitly false. Canvas pixels are read from a separate canvas copying the native display bitmap. No full failure recovery, sustained GPU/memory or physical-device acceptance; candidate adds direct-then-host destruction." + } + }, + "artifacts": [ + { + "name": "screenshot", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\jassub-native-JASSUB-publi-dd2ae-alse-defaultOffscreen-false-webkit\\test-failed-1.png", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/jassub-native-JASSUB-publi-dd2ae-alse-defaultOffscreen-false-webkit/test-failed-1.png", + "sha256": "15e92313f9ed0a95b430ba03acdf74b85feeedeacd23febe2fab02cd13c12f88" + }, + { + "name": "error-context", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\jassub-native-JASSUB-publi-dd2ae-alse-defaultOffscreen-false-webkit\\error-context.md", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/jassub-native-JASSUB-publi-dd2ae-alse-defaultOffscreen-false-webkit/error-context.md", + "sha256": "e8e2c8a8803950486109efcebc2769a63acdba46fde5ffa1d885ed0b5722a709" + }, + { + "name": "trace", + "original": "D:\\github\\ArtPlayer\\refactor\\.cache\\browser-installed\\results\\jassub-native-JASSUB-publi-dd2ae-alse-defaultOffscreen-false-webkit\\trace.zip", + "archived": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/jassub-native-JASSUB-publi-dd2ae-alse-defaultOffscreen-false-webkit/trace.zip", + "sha256": "6981f020859c69d971e13a15f2c7a24b272ce7be3ddcb45feb2ef8e4917cfbde" + } + ] + } + ], + "observedInputKinds": [ + { + "file": "ads-ui.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "ads.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "ambilight-lifecycle.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "ambilight-proxy.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "asr-audio-track.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "asr-audio.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "published", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "asr-capture-cors.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "asr-cors.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "asr-fallback.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "published", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "asr-initial-error.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "asr-media-error.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "asr-no-audio.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "asr-playback.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "audio-buffering.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "published", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "audio-combinations.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "published", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "audio-track.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "published", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "auto-thumbnail-lifecycle.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "auto-thumbnail-pixels.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "auto-thumbnail-registration.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "auto-thumbnail.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "canvas-dpip.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "canvas-lifecycle.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "canvas-subtitles.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "chapter-combinations.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "chapter-hover.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "chapter.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "chromecast-lifecycle.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "danmuku-baseline.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "danmuku-dpip.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "published", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "danmuku-fullscreen.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "published", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "danmuku-heatmap-density.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "danmuku-input.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "danmuku-lifetime.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "published", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "danmuku-load-baseline.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "danmuku-mask-boundary.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "danmuku-mask-native.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "published", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "danmuku-resources.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "danmuku-scheduler.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "danmuku-stability.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "published", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "danmuku-timing-diagnostic.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "published", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "dash-control.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "published", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "dash-sdk.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "hls-control.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "published", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "hls-sdk.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "iframe-boundaries.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "iframe-editor.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "iframe-navigation.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "iframe-player.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "iframe.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "initialization.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "jassub-hybrid.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "jassub-lifecycle.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "jassub-native.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "published", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "jassub-platform.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "jassub-render-failure.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "lifecycle.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "mediabunny-audio.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "mediabunny-capability.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "mediabunny-dpip.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "mediabunny-entry.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "mediabunny-hls.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "mediabunny-inputs.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "mediabunny-load.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "mediabunny-shim.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "mediabunny-video.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "mediabunny.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "multiple-subtitles-ass.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "multiple-subtitles-combinations.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "multiple-subtitles-entities.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "multiple-subtitles-history.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "multiple-subtitles-legacy.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "multiple-subtitles-lifecycle.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "multiple-subtitles-switch.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "playback.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "vast-package.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "vtt-thumbnail-combinations.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + }, + { + "file": "vtt-thumbnail-lifecycle.spec.js", + "kinds": [ + "adapted-baseline-fixture", + "artifact", + "docs-media", + "frozen-own-source", + "generated-media", + "iframe-fixture", + "installed", + "installed-resource", + "local-model-resource", + "local-resource", + "local-vast-fixture", + "test-subtitles", + "test-thumbnail-grid" + ] + } + ], + "scope": "Entire declared installed test roster for Chromium with two workers and no grep/file filter or retries. Twenty freshly packed and isolated-installed packages verified before launch. Includes historical controls, SDK and controlled capability boundaries; passing counts do not equal native feature or physical-device coverage.", + "limits": [ + "Current pre-major package versions; not a release candidate.", + "Cross-engine failures, remote Actions and physical devices remain separate.", + "Earlier intermittent and environment risks are not closed by one passing run.", + "Dedicated consumer and remaining package-specific format/combination checks are still required." + ], + "audioVideoTraceStages": [ + { + "title": "published core + published audio: real video starvation resumes after network release", + "trace": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-published--1e5a7-sumes-after-network-release-webkit/trace.zip", + "calls": [ + { + "type": "after", + "callId": "pw:api@110", + "endTime": 193514.241, + "annotations": [], + "error": { + "name": "", + "message": "Error: page.evaluate: Test timeout of 20000ms exceeded.", + "stack": "Error: page.evaluate: Test timeout of 20000ms exceeded.\n at D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js:29:24" + } + }, + { + "type": "before", + "callId": "call@4096", + "startTime": 175090.281, + "class": "Frame", + "method": "evaluateExpression", + "params": { + "expression": "url => window.art.switchUrl(url)", + "isFunction": true, + "arg": { + "value": { + "s": "http://127.0.0.1:5367/media.mp4" + }, + "handles": [] + } + }, + "stepId": "pw:api@110" + } + ] + }, + { + "title": "published core + source audio: real video starvation resumes after network release", + "trace": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-published--fce9e-sumes-after-network-release-webkit/trace.zip", + "calls": [ + { + "type": "after", + "callId": "pw:api@119", + "endTime": 225475.327, + "annotations": [], + "error": { + "name": "", + "message": "Error: page.evaluate: Test timeout of 20000ms exceeded.", + "stack": "Error: page.evaluate: Test timeout of 20000ms exceeded.\n at D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js:29:24" + } + }, + { + "type": "before", + "callId": "call@42", + "startTime": 206970.929, + "class": "Frame", + "method": "evaluateExpression", + "params": { + "expression": "url => window.art.switchUrl(url)", + "isFunction": true, + "arg": { + "value": { + "s": "http://127.0.0.1:11248/media.mp4" + }, + "handles": [] + } + }, + "stepId": "pw:api@119" + } + ] + }, + { + "title": "candidate core + published audio: real video starvation resumes after network release", + "trace": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-candidate--ddee5-sumes-after-network-release-webkit/trace.zip", + "calls": [ + { + "type": "after", + "callId": "pw:api@110", + "endTime": 193701.499, + "annotations": [], + "error": { + "name": "", + "message": "Error: page.evaluate: Test timeout of 20000ms exceeded.", + "stack": "Error: page.evaluate: Test timeout of 20000ms exceeded.\n at D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js:29:24" + } + }, + { + "type": "before", + "callId": "call@3762", + "startTime": 175186.468, + "class": "Frame", + "method": "evaluateExpression", + "params": { + "expression": "url => window.art.switchUrl(url)", + "isFunction": true, + "arg": { + "value": { + "s": "http://127.0.0.1:5370/media.mp4" + }, + "handles": [] + } + }, + "stepId": "pw:api@110" + } + ] + }, + { + "title": "candidate core + source audio: real video starvation resumes after network release", + "trace": "refactor/.cache/ci-installed-webkit-bb2c12df3/results/audio-buffering-candidate--3c8b9-sumes-after-network-release-webkit/trace.zip", + "calls": [ + { + "type": "after", + "callId": "pw:api@119", + "endTime": 225456.632, + "annotations": [], + "error": { + "name": "", + "message": "Error: page.evaluate: Test timeout of 20000ms exceeded.", + "stack": "Error: page.evaluate: Test timeout of 20000ms exceeded.\n at D:\\github\\ArtPlayer\\test\\browser\\audio-buffering.spec.js:29:24" + } + }, + { + "type": "before", + "callId": "call@42", + "startTime": 206932.363, + "class": "Frame", + "method": "evaluateExpression", + "params": { + "expression": "url => window.art.switchUrl(url)", + "isFunction": true, + "arg": { + "value": { + "s": "http://127.0.0.1:11245/media.mp4" + }, + "handles": [] + } + }, + "stepId": "pw:api@119" + } + ] + } + ], + "focusedPassingCases": [ + { + "title": "JASSUB candidate artifact renders actual WASM subtitles through seek and layout with candidate core, customCanvas=false, defaultOffscreen=false", + "status": "expected", + "details": { + "jassub-selected-input": { + "core": "candidate", + "provenance": { + "kind": "installed", + "name": "artplayer-plugin-jassub", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-jassub\\dist\\artplayer-plugin-jassub.js", + "member": "package/dist/artplayer-plugin-jassub.js", + "sha256": "6dc1e7a9e2172c4983c99b2e16c969a974039e6fe9a48b94817dd0a7a30fa995", + "archiveSha256": "da7035563d24f535435fbb1fcdded6739944349099e83beaa6bca05df51c0ecd", + "sourceHashes": { + "src/index.ts": "3e210671548168ee919812091186edb43c9ae0f8f5ddb9b610379080d7c4388f", + "src/jassub.es.d.ts": "6f5ac9310757525d81da2b2c3c9b8f1f397eb5e42d22f925cbf514df0af99d58", + "src/jassub.es.js": "ebabca473edfbe7f9768dba25b2c2403f2c9c5dec64292fa008d8eb758e32696", + "src/registration.ts": "cc45b907d9e2a84e68246ccdf8a11ef03d3ca69bf5f8a3182efddcd766283f72", + "worker/jassub-worker-modern.wasm": "8a8b37463713d1f2ddbc1fbb8a35889d9565e5a6670851758b46b2216d8e513c", + "worker/jassub-worker.js": "0fb9a83f96fc39426e733a94f3e7fe4e37099324c08328450ba032b653e85707", + "worker/jassub-worker.wasm": "73880d99ba9260ac39fc4476491cf254ca784c76f3af2fb03f3f9be8065ad3c0", + "package.json": "e5098c03fb59c920ba28318348ffa5573e162d38293d0ac39c4fd74f9ee70c9b", + "tsconfig.json": "ba709141dbff3861beb4ab9509b861b663a2a94c653c1e3f2b75ca6d3227d5bb" + } + } + }, + "jassub-direct-destroy": { + "coreAlive": true, + "workers": [ + 1 + ], + "canvases": 0 + } + } + }, + { + "title": "JASSUB candidate artifact renders actual WASM subtitles through seek and layout with published core, customCanvas=false, defaultOffscreen=false", + "status": "expected", + "details": { + "jassub-selected-input": { + "core": "published", + "provenance": { + "kind": "installed", + "name": "artplayer-plugin-jassub", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-jassub\\dist\\artplayer-plugin-jassub.js", + "member": "package/dist/artplayer-plugin-jassub.js", + "sha256": "6dc1e7a9e2172c4983c99b2e16c969a974039e6fe9a48b94817dd0a7a30fa995", + "archiveSha256": "da7035563d24f535435fbb1fcdded6739944349099e83beaa6bca05df51c0ecd", + "sourceHashes": { + "src/index.ts": "3e210671548168ee919812091186edb43c9ae0f8f5ddb9b610379080d7c4388f", + "src/jassub.es.d.ts": "6f5ac9310757525d81da2b2c3c9b8f1f397eb5e42d22f925cbf514df0af99d58", + "src/jassub.es.js": "ebabca473edfbe7f9768dba25b2c2403f2c9c5dec64292fa008d8eb758e32696", + "src/registration.ts": "cc45b907d9e2a84e68246ccdf8a11ef03d3ca69bf5f8a3182efddcd766283f72", + "worker/jassub-worker-modern.wasm": "8a8b37463713d1f2ddbc1fbb8a35889d9565e5a6670851758b46b2216d8e513c", + "worker/jassub-worker.js": "0fb9a83f96fc39426e733a94f3e7fe4e37099324c08328450ba032b653e85707", + "worker/jassub-worker.wasm": "73880d99ba9260ac39fc4476491cf254ca784c76f3af2fb03f3f9be8065ad3c0", + "package.json": "e5098c03fb59c920ba28318348ffa5573e162d38293d0ac39c4fd74f9ee70c9b", + "tsconfig.json": "ba709141dbff3861beb4ab9509b861b663a2a94c653c1e3f2b75ca6d3227d5bb" + } + } + }, + "jassub-direct-destroy": { + "coreAlive": true, + "workers": [ + 1 + ], + "canvases": 0 + } + } + }, + { + "title": "JASSUB candidate artifact renders actual WASM subtitles through seek and layout with published-5.3.1-beta.1 core, customCanvas=false, defaultOffscreen=false", + "status": "expected", + "details": { + "jassub-selected-input": { + "core": "published-5.3.1-beta.1", + "provenance": { + "kind": "installed", + "name": "artplayer-plugin-jassub", + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\packages\\run-cRduve\\artifacts\\artplayer-plugin-jassub\\dist\\artplayer-plugin-jassub.js", + "member": "package/dist/artplayer-plugin-jassub.js", + "sha256": "6dc1e7a9e2172c4983c99b2e16c969a974039e6fe9a48b94817dd0a7a30fa995", + "archiveSha256": "da7035563d24f535435fbb1fcdded6739944349099e83beaa6bca05df51c0ecd", + "sourceHashes": { + "src/index.ts": "3e210671548168ee919812091186edb43c9ae0f8f5ddb9b610379080d7c4388f", + "src/jassub.es.d.ts": "6f5ac9310757525d81da2b2c3c9b8f1f397eb5e42d22f925cbf514df0af99d58", + "src/jassub.es.js": "ebabca473edfbe7f9768dba25b2c2403f2c9c5dec64292fa008d8eb758e32696", + "src/registration.ts": "cc45b907d9e2a84e68246ccdf8a11ef03d3ca69bf5f8a3182efddcd766283f72", + "worker/jassub-worker-modern.wasm": "8a8b37463713d1f2ddbc1fbb8a35889d9565e5a6670851758b46b2216d8e513c", + "worker/jassub-worker.js": "0fb9a83f96fc39426e733a94f3e7fe4e37099324c08328450ba032b653e85707", + "worker/jassub-worker.wasm": "73880d99ba9260ac39fc4476491cf254ca784c76f3af2fb03f3f9be8065ad3c0", + "package.json": "e5098c03fb59c920ba28318348ffa5573e162d38293d0ac39c4fd74f9ee70c9b", + "tsconfig.json": "ba709141dbff3861beb4ab9509b861b663a2a94c653c1e3f2b75ca6d3227d5bb" + } + } + }, + "jassub-direct-destroy": { + "coreAlive": true, + "workers": [ + 1 + ], + "canvases": 0 + } + } + } + ], + "disposition": { + "audio": "Four video cases pass initial clocks but await switchUrl at line29 until whole-test timeout; four audio cases fail trusted waiting at line30. Neither proves recovery. Trace records distinguish this from the earlier all-waiting source run.", + "chapter": "Only one empty restart poll was returned at4037; later state includes correct restart at4088. Poll timeout stays failed; native/observer timing cause remains open.", + "danmuku": "Current installed candidate misses first/middle after an800ms CPU gap; rows stay wait and only sentinel becomes visible. Root cause unproven; new open risk, not a historical expected failure.", + "jassub": "Three published1.1.0 controls fail first pixels; all three current installed native candidate/core cases pass with direct cleanup before host destroy.", + "skips": "58 ASR WebAudio,48 DASH MSE,32 HLS MSE; unverified capability cells." + } +} diff --git a/refactor/changes/2026-09-15-CI-01-installed-webkit.md b/refactor/changes/2026-09-15-CI-01-installed-webkit.md new file mode 100644 index 000000000..d8d4ed3dd --- /dev/null +++ b/refactor/changes/2026-09-15-CI-01-installed-webkit.md @@ -0,0 +1,42 @@ +# CI-01 完整 Windows WebKit 安装包回归 + +2026-09-15,执行HEAD `bb2c12df3`,固定Node24.21.0/Yarn1.22.22,Windows WebKit26.6。 +复用5e0447fc5打包的20包run-cRduve;启动时再次验证源码/构建和安装文件指纹。 +运行 `yarn test:browser:installed --project=webkit --workers=2`,没有筛选、诊断覆盖、 +重试或运行期间的跟踪文件修改。77文件/845项:**694通过、13失败、138能力跳过、 +0重试,1214.860秒,退出1**。完整报告/trace归档于 +`refactor/.cache/ci-installed-webkit-bb2c12df3`,见[机器证据](../baselines/ci-installed-webkit-validation.json)。 + +## 失败与实际阶段 + +- Audio四个视频断流用例:初始双时钟通过,trace确认在29行等待switchUrl返回, + 20秒整例超时;没有到达后续waiting/恢复断言。最终视频停在新受限URL的0秒、 + paused=true、readyState=2。四个音频断流用例在30行可信waiting断言失败。 + 不沿用前次source全量“全部失败在waiting”的结论。AUDIO-BUFFER-01继续open。 +- Chapter新核心/旧插件切画质:轮询仅记录到一次空事件列表(at4037), + 后续状态包含at4088的正确restart及原生就绪事件。原轮询超时仍为失败; + 不推断生产restart缺失或用任意延迟修复。CHAPTER-TIMING-01继续open。 +- 候选弹幕main-thread-gap:实际800ms CPU阻塞期间媒体从约0.461走到1.261, + 随后第一次记录的readys为空;first/middle仍为wait且未触发beforeVisible, + 只有sentinel显示。117行missing要求空数组失败。这是当前安装候选的真实失败, + 新登记DANMUKU-INSTALLED-GAP-01,由PKG-DANMUKU-08处理;未把它当作旧版预期, + 也未据此撤销已有不同场景的修复证据。根因和确定修复尚待验证。 +- 冻结JASSUB1.1.0三核心仍在首次字幕像素断言失败。当前安装候选三核心均通过 + 实际WASM/字体、绘制、seek/布局及直接销毁后宿主销毁。旧失败保留,不重开 + 已有候选帧时钟修复,也不据此关闭hybrid/设备门槛。 + +138跳过由58项ASR WebAudio、48项DASH MSE及32项HLS MSE组成;逐项原因保存。 +这些不是Safari/设备或播放通过。694通过亦含历史与受控边界用例,不等同原生 +功能覆盖。Chromium/Firefox各844通过1失败与本轮分开记录;同一安装产物的三引擎 +运行已经有结果,矩阵仍有真实失败,不能宣称全部验收或发布就绪。 + +## 后续与边界 + +CI-01保持doing,原风险继续处理;新弹幕问题保留确定输入与原始trace供修复。 +用户已批准Thumbnail默认采用npm行为、工作区显式选择,下一步完成该工具实施。 +按用户最新要求,实施与必要测试完成后先交接,等待其指导复盘,不自动启动复盘。 + +本次仅归档证据、登记新失败和更新维护索引;没有生产、测试、类型、依赖或分发 +变化,无需重复构建。计划/风险检查、风险校验负例、严格工具链及Git diff通过后 +提交 `docs(ci): [CI-01] record complete WebKit installed regression`。 +回退只撤销本次记录;没有推送、部署或npm发布。 diff --git a/refactor/ci-setup.md b/refactor/ci-setup.md index eb6781777..e639c004b 100644 --- a/refactor/ci-setup.md +++ b/refactor/ci-setup.md @@ -1,5 +1,12 @@ # PR 检查和 Pages 操作说明 +同一20包安装映射的Windows WebKit26.6完整运行现已结束:bb2c12df3执行77文件/845项, +694通过、13失败、138能力跳过、0重试,1214.860秒。失败包括8项Audio、1项Chapter、 +1项候选弹幕CPU间隔漏发和3项旧JASSUB;候选JASSUB三核心通过。见 +[记录](changes/2026-09-15-CI-01-installed-webkit.md)及 +[完整证据](baselines/ci-installed-webkit-validation.json)。三引擎均已执行但矩阵未全绿, +CI-01仍进行中;不要把下列较早检查点的“待执行”当作当前状态。 + 同一run-cRduve安装映射随后在b3344a7c6执行完整Firefox155.0:77文件/845项, 844通过、1个裸DASH4.5.2暂停seek失败、0跳过/重试,1043.223秒,退出1。 执行HEAD与打包HEAD分别记录,启动时再次验证指纹;没有重新打包或修改测试。 diff --git a/refactor/plan.md b/refactor/plan.md index e854cecfa..ab6d3fa2a 100644 --- a/refactor/plan.md +++ b/refactor/plan.md @@ -538,7 +538,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) [记录](changes/2026-09-15-CI-01-mediabunny-installed.md) [记录](baselines/ci-mediabunny-installed-validation.json) [记录](changes/2026-09-15-CI-01-jassub-installed.md) [记录](baselines/ci-jassub-installed-validation.json) [记录](changes/2026-09-15-CI-01-danmuku-installed.md) [记录](baselines/ci-danmuku-installed-validation.json) [记录](changes/2026-09-15-CI-01-browser-matrix.md) [记录](baselines/ci-browser-matrix-validation.json) [记录](changes/2026-09-15-CI-01-iframe-installed.md) [记录](baselines/ci-iframe-installed-validation.json) [记录](changes/2026-09-15-CI-01-vast-installed.md) [记录](baselines/ci-vast-installed-validation.json) [记录](changes/2026-09-15-CI-01-rendering-policy.md) [记录](baselines/ci-rendering-policy-validation.json) [记录](changes/2026-09-15-SITE-ROUTES-01-html-inventory.md) [记录](baselines/site-routes-validation.json) [记录](baselines/ci-source-firefox-validation.json) [记录](changes/2026-09-15-SITE-EDITOR-VAST-01-consumer.md) [记录](changes/2026-09-15-CI-01-source-webkit.md) [记录](baselines/ci-source-webkit-validation.json) [记录](changes/2026-09-15-CI-JASSUB-SOURCE-01-native-inputs.md) [记录](baselines/jassub-source-selection-validation.json) [记录](changes/2026-09-15-CI-01-installed-chromium.md) [记录](baselines/ci-installed-chromium-validation.json) [记录](changes/2026-09-15-CI-01-installed-firefox.md) [记录](baselines/ci-installed-firefox-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) [记录](changes/2026-09-15-CI-01-jassub-installed.md) [记录](baselines/ci-jassub-installed-validation.json) [记录](changes/2026-09-15-CI-01-danmuku-installed.md) [记录](baselines/ci-danmuku-installed-validation.json) [记录](changes/2026-09-15-CI-01-browser-matrix.md) [记录](baselines/ci-browser-matrix-validation.json) [记录](changes/2026-09-15-CI-01-iframe-installed.md) [记录](baselines/ci-iframe-installed-validation.json) [记录](changes/2026-09-15-CI-01-vast-installed.md) [记录](baselines/ci-vast-installed-validation.json) [记录](changes/2026-09-15-CI-01-rendering-policy.md) [记录](baselines/ci-rendering-policy-validation.json) [记录](changes/2026-09-15-SITE-ROUTES-01-html-inventory.md) [记录](baselines/site-routes-validation.json) [记录](baselines/ci-source-firefox-validation.json) [记录](changes/2026-09-15-SITE-EDITOR-VAST-01-consumer.md) [记录](changes/2026-09-15-CI-01-source-webkit.md) [记录](baselines/ci-source-webkit-validation.json) [记录](changes/2026-09-15-CI-JASSUB-SOURCE-01-native-inputs.md) [记录](baselines/jassub-source-selection-validation.json) [记录](changes/2026-09-15-CI-01-installed-chromium.md) [记录](baselines/ci-installed-chromium-validation.json) [记录](changes/2026-09-15-CI-01-installed-firefox.md) [记录](baselines/ci-installed-firefox-validation.json) [记录](changes/2026-09-15-CI-01-installed-webkit.md) [记录](baselines/ci-installed-webkit-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) @@ -650,7 +650,7 @@ - PKG-DANMUKU-05: [记录](changes/2026-09-13-PKG-DANMUKU-05-resources.md) [记录](baselines/danmuku-resources-validation.json) - PKG-DANMUKU-06: [记录](changes/2026-09-13-PKG-DANMUKU-06-types.md) [记录](baselines/danmuku-types-validation.json) - PKG-DANMUKU-07: [记录](changes/2026-09-13-PKG-DANMUKU-07-stability.md) [记录](baselines/danmuku-stability-validation.json) [记录](danmuku-stability.md) -- PKG-DANMUKU-08: [记录](changes/2026-09-14-PKG-DANMUKU-08-native-combinations.md) [记录](baselines/danmuku-combination-checkpoint.json) [记录](changes/2026-09-14-PKG-DANMUKU-08-fullscreen-lifetimes.md) [记录](baselines/danmuku-fullscreen-validation.json) [记录](baselines/danmuku-old-core-load-validation.json) [记录](changes/2026-09-14-PKG-DANMUKU-08-combined-load.md) [记录](baselines/danmuku-combined-load-validation.json) +- PKG-DANMUKU-08: [记录](changes/2026-09-14-PKG-DANMUKU-08-native-combinations.md) [记录](baselines/danmuku-combination-checkpoint.json) [记录](changes/2026-09-14-PKG-DANMUKU-08-fullscreen-lifetimes.md) [记录](baselines/danmuku-fullscreen-validation.json) [记录](baselines/danmuku-old-core-load-validation.json) [记录](changes/2026-09-14-PKG-DANMUKU-08-combined-load.md) [记录](baselines/danmuku-combined-load-validation.json) [记录](changes/2026-09-15-CI-01-installed-webkit.md) [记录](baselines/ci-installed-webkit-validation.json) - PKG-CANVAS-01: [记录](changes/2026-09-12-PKG-CANVAS-01-contract.md) [记录](baselines/canvas-contract.md) [记录](baselines/canvas-release.json) [记录](canvas-validation.md) [记录](baselines/canvas-contract-validation.json) - PKG-CANVAS-02: [记录](changes/2026-09-12-PKG-CANVAS-02-tests.md) [记录](baselines/canvas-behavior-validation.json) [记录](canvas-validation.md) - PKG-CANVAS-03: [记录](changes/2026-09-12-PKG-CANVAS-03-lifecycle.md) [记录](baselines/canvas-lifecycle-validation.json) [记录](canvas-validation.md) diff --git a/refactor/progress.md b/refactor/progress.md index 811f6007a..ba4272aa4 100644 --- a/refactor/progress.md +++ b/refactor/progress.md @@ -1,5 +1,20 @@ # 进度与证据 +## CI-01 完整 Windows WebKit 安装包回归 + +固定bb2c12df3,复用5e0447fc5打包的20包run-cRduve;77文件/845项:694通过、 +13失败、138能力跳过、0重试,1214.860秒,退出1。运行输入未改,报告/trace已归档。 +Audio四视频分支trace确认在switchUrl等待超时,四音频分支可信waiting失败; +Chapter轮询失败但后续含正确restart;候选弹幕CPU间隔后漏first/middle,新风险 +DANMUKU-INSTALLED-GAP-01保持open。旧JASSUB三项失败,安装候选三核心通过。 + +见[记录](changes/2026-09-15-CI-01-installed-webkit.md)、[证据](baselines/ci-installed-webkit-validation.json)。58项ASR、48项DASH、32项HLS +能力跳过不计播放通过。同一安装集三引擎现均有结果,但矩阵未全绿,CI-01继续doing。 +218 done、21 doing、43 todo不变,风险287项。用户已批准Thumbnail默认npm行为、 +工作区显式模式;下一步落实其源码、类型与测试,再处理已捕获的弹幕失败。 +实施完成后等待用户指导复盘,不自动进入三轮复盘,不推送或发布。 + + ## DOC-REVIEW-01 用户主导复盘启动 用户明确要求实施完成后先不要复盘,由用户指导启动。已同步根AGENTS、 diff --git a/refactor/risk-table.md b/refactor/risk-table.md index 5c09a2135..a9e06a030 100644 --- a/refactor/risk-table.md +++ b/refactor/risk-table.md @@ -290,3 +290,4 @@ | SITE-HTML-INVENTORY-01 | resolved / 已复现 | New documentation HTML is missing from historical demo route coverage, failing the complete local CI check | SITE-ROUTES-01 | | SITE-EDITOR-VAST-01 | resolved / 已复现 | Monaco browser consumer still assumes the workspace VAST namespace after the approved npm-root restoration | SITE-EDITOR-VAST-01 | | CI-JASSUB-SOURCE-01 | resolved / 已复现 | Default native JASSUB source runs select only the published plugin and omit the current source | CI-JASSUB-SOURCE-01 | +| DANMUKU-INSTALLED-GAP-01 | open / 已复现 | Windows WebKit installed Danmuku candidate misses two rows after a native main-thread gap | PKG-DANMUKU-08 | diff --git a/refactor/risks.json b/refactor/risks.json index 3c1f52741..ce8912f92 100644 --- a/refactor/risks.json +++ b/refactor/risks.json @@ -3003,7 +3003,9 @@ "refactor/changes/2026-09-15-PKG-AUDIO-05-prefix.md", "refactor/baselines/audio-prefix-validation.json", "refactor/changes/2026-09-15-CI-01-source-webkit.md", - "refactor/baselines/ci-source-webkit-validation.json" + "refactor/baselines/ci-source-webkit-validation.json", + "refactor/changes/2026-09-15-CI-01-installed-webkit.md", + "refactor/baselines/ci-installed-webkit-validation.json" ], "compatibleResolution": "保留真实 waiting 断言;使用独立原生对照和其他实际支持环境/输入继续验证,不将没有播放推进的诊断当成缓冲通过,也不凭此改变插件 API 或否定真实 Safari 支持。", "closureCriteria": "受影响的缓冲/恢复得到真实媒体证据;与原生能力和测试夹具差异分开,发布环境的剩余范围经显式处理。", @@ -3047,7 +3049,9 @@ "refactor/baselines/ci-ads-installed-validation.json", "refactor/changes/2026-09-15-CI-01-ads-installed.md", "refactor/changes/2026-09-15-PKG-CHAPTER-05-native-timing.md", - "refactor/baselines/chapter-native-timing-validation.json" + "refactor/baselines/chapter-native-timing-validation.json", + "refactor/changes/2026-09-15-CI-01-installed-webkit.md", + "refactor/baselines/ci-installed-webkit-validation.json" ], "compatibleResolution": "记录原生事件和绝对/相对时序,进一步区分媒体驱动耗时、夹具和核心源操作;未证明原因前不改核心、不扩大超时或重复到绿灯。", "closureCriteria": "确认先前超时的来源并有对应可靠回归;后续单次通过不足以关闭。", @@ -5822,7 +5826,9 @@ "refactor/changes/2026-09-14-PKG-JASSUB-02-failure-baseline.md", "refactor/baselines/jassub-failures-validation.json", "refactor/changes/2026-09-15-CI-01-source-webkit.md", - "refactor/baselines/ci-source-webkit-validation.json" + "refactor/baselines/ci-source-webkit-validation.json", + "refactor/changes/2026-09-15-CI-01-installed-webkit.md", + "refactor/baselines/ci-installed-webkit-validation.json" ], "compatibleResolution": "Investigate native frame delivery and establish a compatible capability response; explicit event-clock success is diagnostic only.", "closureCriteria": "Default native behavior is verified or an explicit reviewed environment limitation is recorded; no silent global fallback or substitution of diagnostic mode for default acceptance.", @@ -6834,6 +6840,23 @@ "refactor/baselines/jassub-source-selection-validation.json" ], "resolutionRationale": "Old collection omits three source cases. Twenty Node checks pass after correction; all nine source browser combinations render, seek and clean workers/canvases before host destruction. Three published WebKit failures remain visible; no production contract changed." + }, + { + "id": "DANMUKU-INSTALLED-GAP-01", + "title": "Windows WebKit installed Danmuku candidate misses two rows after a native main-thread gap", + "confirmation": "reproduced", + "status": "open", + "owners": [ + "PKG-DANMUKU-08" + ], + "evidence": [ + "test/browser/danmuku-timing-diagnostic.spec.js", + "refactor/changes/2026-09-15-CI-01-installed-webkit.md", + "refactor/baselines/ci-installed-webkit-validation.json" + ], + "compatibleResolution": "Determine why the current installed candidate misses the first eligibility interval; preserve old API and timestamp semantics and add a deterministic source/installed regression. Do not treat the candidate failure as expected or lower assertions.", + "closureCriteria": "Explain captured800ms CPU gap, first empty readys sample and unprocessed first/middle rows; validate fix across source, installed formats and affected browsers while preserving existing sampling, seek, worker, lifecycle and load regressions.", + "workspaceState": "At bb2c12df3 with run-cRduve, first/middle remain wait and never enter beforeVisible; sentinel alone is visible. Chromium and Firefox complete runs pass this case. Root cause unproven and original13-failure WebKit report retained." } ] } diff --git a/refactor/tasks.json b/refactor/tasks.json index c00e92ace..407a7c58d 100644 --- a/refactor/tasks.json +++ b/refactor/tasks.json @@ -796,7 +796,9 @@ "changes/2026-09-15-CI-01-installed-chromium.md", "baselines/ci-installed-chromium-validation.json", "changes/2026-09-15-CI-01-installed-firefox.md", - "baselines/ci-installed-firefox-validation.json" + "baselines/ci-installed-firefox-validation.json", + "changes/2026-09-15-CI-01-installed-webkit.md", + "baselines/ci-installed-webkit-validation.json" ] }, { @@ -3653,7 +3655,9 @@ "baselines/danmuku-fullscreen-validation.json", "baselines/danmuku-old-core-load-validation.json", "changes/2026-09-14-PKG-DANMUKU-08-combined-load.md", - "baselines/danmuku-combined-load-validation.json" + "baselines/danmuku-combined-load-validation.json", + "changes/2026-09-15-CI-01-installed-webkit.md", + "baselines/ci-installed-webkit-validation.json" ] }, { diff --git a/scripts/browser-validation/README.md b/scripts/browser-validation/README.md index 3925c0550..2bee909d5 100644 --- a/scripts/browser-validation/README.md +++ b/scripts/browser-validation/README.md @@ -46,6 +46,14 @@ reverified input freshness. See `refactor/baselines/ci-installed-firefox-validat The complete WebKit installed run remains pending; these passes do not close prior intermittent, physical-device, remote CI or final-major package gates. +Windows WebKit 26.6 subsequently completed the same installed roster at `bb2c12df3`: +694 passed, 13 failed, 138 capability skips, zero retries, 1214.860 seconds, exit 1. +Failures are eight Audio cases, one Chapter quality-switch observation, one current +Danmuku CPU-gap case and three published JASSUB controls; all three installed native +JASSUB candidate/core cases pass. See `refactor/baselines/ci-installed-webkit-validation.json`. +The complete three-engine installed runs now have separate results; the matrix is +not green. The current Danmuku failure is tracked for repair, not an expected old defect. + `yarn test:browser:installed` requires ARTPLAYER_BROWSER_ARTIFACTS from `yarn test:package --browser`. Both launcher and config validate the selected packages' installed hashes