diff --git a/refactor/baselines/audio-combinations-first.json b/refactor/baselines/audio-combinations-first.json new file mode 100644 index 000000000..a94c0708b --- /dev/null +++ b/refactor/baselines/audio-combinations-first.json @@ -0,0 +1,8480 @@ +{ + "schemaVersion": 1, + "task": "PKG-AUDIO-05", + "status": "incomplete", + "sourceCommit": "13c898c1", + "capturedAt": "2026-09-11T19:06:25.448Z", + "sourceHashesLF": { + "test/browser/audio-combinations.spec.js": "f11f651e79e8921d4cd49b575f846d7ab4a9239e20149b871644191e4f60999b", + "test/browser/audio-fixture.js": "6665d9cf0686a8fe520f5adb62c63efb7e25fdc954dcf145c74637eb13a3cf09", + "test/browser/audio-track.spec.js": "ec22095ab3bf7b3716696e8ee78bfb1d39ab211ce62aaf4ba6d439161dc64eaf" + }, + "report": { + "file": "refactor/.cache/audio05-combinations-first.json", + "sha256": "99241ff28f19a104e5579245fe169937ae2fee831cdee7c54921be2af3bebbeb", + "results": "refactor/.cache/audio05-combinations-first-results", + "stats": { + "startTime": "2026-09-11T19:01:34.723Z", + "duration": 60561.377, + "expected": 28, + "skipped": 0, + "unexpected": 8, + "flaky": 0 + } + }, + "sharedInputs": { + "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79": { + "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": "5ede3ac9970c9102fb251b342ca2f40626438d37d975b21b38d2033ba2025472", + "candidate": "workspace source build", + "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": "Source or explicit artifact browser checks; no physical device or installed package acceptance" + }, + "56e8821694549d277e4d9067acb63fd514ee34e9dc69a0797b7b968cd9e73d92": { + "browser": "153.0.8010.12", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/test/pattern.mp4?pair=paused", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + }, + "73069c1142c37a7d2d30c0762f5133d21a27fcc2c1cd0b6770f6e352b9fb62b5": { + "left": { + "time": 0, + "paused": true, + "rate": 1 + }, + "right": { + "time": 1.272111, + "videoTime": 0.814619, + "rate": 1, + "paused": false + } + }, + "2e0e30464560b437301ff884af71e227265a32d8fa44a1698c86ff3ad26fa874": { + "browser": "153.0.8010.12", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/test/pattern.mp4?instance=other", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + }, + "16a87337b8bb2ce2bb5ab7f1ec187e053e0d8deef2c94a3ae78026b3b4fca012": { + "negative": { + "time": 0, + "error": null + }, + "overflow": 16, + "recovered": true + }, + "15c4a6d02d03160a935fffc76bba9664309e9fa4895ad8fdc47881bfe35a147e": { + "browser": "153.0.8010.12", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + }, + "82d814f5a4cc2aa098b2c33844ae7c67f54b60da551fd440c644359e85b75799": { + "left": { + "time": 0, + "paused": true, + "rate": 1 + }, + "right": { + "time": 1.290591, + "videoTime": 0.832243, + "rate": 1, + "paused": false + } + }, + "e6c21e3f96dba7866f40abbd31070acdd596fccf688900981e644638a7d825c8": { + "browser": "153.0.8010.12", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4?pair=last", + "width": 320, + "height": 180, + "duration": 8, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/test/pattern.mp4?pair=last", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/test/pattern.mp4?pair=last", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + }, + "2a1d39cf0d23caacd18723eaa9466b5a41e1e4dc49fbf35beb7edc7746471091": { + "left": { + "time": 0, + "paused": true, + "rate": 1 + }, + "right": { + "time": 1.28654, + "videoTime": 0.828442, + "rate": 1, + "paused": false + } + }, + "5eb7d28083b1f4bd7d6c968acdc207d18ce73a502adccc07eb9d0792b1a849d2": { + "browser": "153.0.8010.12", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/test/pattern.mp4?instance=other", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/test/pattern.mp4?instance=other", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + }, + "0be605849c5f910beef180de5bb23ba83239858baf59140036e25e14ce02f4e4": { + "browser": "153.0.8010.12", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + }, + "9102a3307e3d121074e77b66e91dc31ab0e09cc4d04830128b241f315488c3d9": { + "browser": "153.0.8010.12", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4?pair=last", + "width": 320, + "height": 180, + "duration": 8, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/test/pattern.mp4?pair=last", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + }, + "0de2a362d44fc43f895d577190ca1563c73f2781dcd3c1aba8c938ae7e0f46ab": { + "left": { + "time": 0, + "paused": true, + "rate": 1 + }, + "right": { + "time": 1.291018, + "videoTime": 0.832398, + "rate": 1, + "paused": false + } + }, + "a5f6acf09b1dafd36a70809fd60f2ec84fb872efb73cbfbc83fd8b5120876c8b": { + "browser": "153.0.8010.12", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/test/pattern.mp4?instance=other", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + }, + "4b98d9e7c33ddd28a1fcba3ead24959b7f4100724c4d64f01c5334dadb4a737d": { + "browser": "155.0", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + }, + "dabbea626c51f89940dbcedbf34b89585264dc11cfbf813e7911b10e62687ae6": { + "left": { + "time": 0, + "paused": true, + "rate": 1 + }, + "right": { + "time": 1.372268, + "videoTime": 0.874999, + "rate": 1, + "paused": false + } + }, + "a07caa5729c64308797ae56f30eec27157e069d8fcea2601528f346f9385e3ad": { + "left": { + "time": 0, + "paused": true, + "rate": 1 + }, + "right": { + "time": 1.329933, + "videoTime": 0.833332, + "rate": 1, + "paused": false + } + }, + "1eb7d04a384a44761de38ba6057c152adc3f2b148059f2f01f269c13b8207c2c": { + "browser": "155.0", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4?pair=last", + "width": 320, + "height": 180, + "duration": 8, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + }, + "64f959f9f5d2a85c6e65b452a762480f97c85d288fecc5539c279580878ba6e2": { + "left": { + "time": 0, + "paused": true, + "rate": 1 + }, + "right": { + "time": 1.369769, + "videoTime": 0.874999, + "rate": 1, + "paused": false + } + }, + "3f2b559af4df2bad6f6a197ba5a412ab931c15883adec163bf289dbb31eb493b": { + "browser": "155.0", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + }, + "3f22d9b555ff8470615ca22a835798424667bb5a107266f7c56bdd433231dc48": { + "left": { + "time": 0, + "paused": true, + "rate": 1 + }, + "right": { + "time": 1.326881, + "videoTime": 0.833723, + "rate": 1, + "paused": false + } + }, + "c774e139c20a338bb67c7fa82bc3e16881d127a49373acdcea216829cc6b484a": { + "browser": "26.6", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + }, + "46f02564134dd58ab48fd914f6175e1378fb9c813376fab4c9b04223c8055fa1": { + "left": { + "time": 0, + "paused": true, + "rate": 1 + }, + "right": { + "time": 1.5468317, + "videoTime": 1.0735339, + "rate": 1, + "paused": false + } + }, + "eabd12f408a2cecbf4258e8c0874b5560d1fa835ca51659ae50537099c9a9a92": { + "browser": "26.6", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 640, + "height": 360, + "duration": 8, + "currentTime": 1.0016796 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + }, + "fe463a80261e7a52553661059816aeae6cf0e09954061809c45b52faad64ab60": { + "browser": "26.6", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4?pair=last", + "width": 640, + "height": 360, + "duration": 8, + "currentTime": 6.4306202 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + }, + "0ae1400b0ed357686f15608ab89de45c132c857221429f7ff7e2e3e7f9750e52": { + "left": { + "time": 0, + "paused": true, + "rate": 1 + }, + "right": { + "time": 1.6455191, + "videoTime": 1.1681388, + "rate": 1, + "paused": false + } + }, + "756c88d38ff45d5761b3048a7d2a5a16928d833c9a4fe904142d10a7a22716e8": { + "browser": "26.6", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4?pair=last", + "width": 640, + "height": 360, + "duration": 8, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + }, + "e1ac44045decb627eadaba75fde5e3ff79848b0e9afc09b2100c2e6c012b641c": { + "left": { + "time": 0, + "paused": true, + "rate": 1 + }, + "right": { + "time": 1.594513, + "videoTime": 1.1270736, + "rate": 1, + "paused": false + } + }, + "ccbb92c33b43435461a1d15e80c0269fa1c8bbcddd750a0dae479b86462c99ea": { + "browser": "26.6", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + }, + "d7331c2c957b29e5c00610175b79f35e4f604b2164f89a839f6d71bac5415ef9": { + "browser": "26.6", + "platform": "win32", + "manifest": { + "kind": "artplayer-browser-test", + "resources": { + "/candidate/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744 + }, + "/compiled/artplayer.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/uncompiled/artplayer/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer\\src\\index.ts" + }, + "sha256": "32f3dc22e296dcc569dc1227f0b0cad92bd0dd7e74d747e19759ac5997443e92", + "bytes": 376744, + "aliasOf": "/candidate/artplayer.js" + }, + "/candidate/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433 + }, + "/compiled/artplayer-plugin-chapter.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/uncompiled/artplayer-plugin-chapter/index.js": { + "source": { + "kind": "workspace-build", + "entry": "packages\\artplayer-plugin-chapter\\src\\index.ts" + }, + "sha256": "3e8d0b7e7a90b5dbadf4cb108fd770d294f8a8a92ea089c41d0766c98bbc8230", + "bytes": 8433, + "aliasOf": "/candidate/artplayer-plugin-chapter.js" + }, + "/published/artplayer.js": { + "source": { + "kind": "npm-release", + "version": "5.4.0", + "integrity": "sha512-2B+plbx8N2yNsjK4nJU3+EOG8TULm1LRZk/QPkWRAMEX2Ee/MSnZG/WJYz8kcoZxZuLKcQ3uXifqLuPxZOH29A==", + "member": "package/dist/artplayer.js" + }, + "sha256": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "bytes": 134037 + }, + "/published/artplayer-plugin-chapter.js": { + "source": { + "kind": "npm-release", + "version": "1.1.0", + "integrity": "sha512-ji66Lr2K2S+OjFMuMby3yq+pefWlOC51Sbpop/DIr2N6w3F0smrF+YZbshN1Dy8/Tx1TYpT7N6WkkZWy5Jix1w==", + "member": "package/dist/artplayer-plugin-chapter.js" + }, + "sha256": "c2aaee11bf1db765433b01d9f8dd3978e41fa4d39655db00ebd03fc0be3e35e0", + "bytes": 4973 + }, + "/test/pattern.mp4": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.mp4" + }, + "sha256": "0ad1d7ad286aec6e0fa9e27fc1e487e7277df2e603e30040fb942365763d0233", + "bytes": 251538 + }, + "/test/pattern.webm": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/pattern.webm" + }, + "sha256": "9d3c2b3dec9581a599de2d6732992ef7846790e0d1368e6e131bd339b39e984f", + "bytes": 162073 + }, + "/test/audio-tone.m4a": { + "source": { + "kind": "generated-media", + "file": "test/browser/media/audio-tone.m4a" + }, + "sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56", + "bytes": 132436 + }, + "/test/declaration-cues.vtt": { + "source": { + "kind": "test-subtitles", + "file": "test/browser/media/declaration-cues.vtt" + }, + "sha256": "5d149d4e641ce41cbb83376835c03daf1fb89f3b9f568fa59e064d51e2b57704", + "bytes": 54 + }, + "/test/thumbnail-grid.svg": { + "source": { + "kind": "test-thumbnail-grid", + "file": "test/browser/media/thumbnail-grid.svg" + }, + "sha256": "bb3f1ec9895d37def77ca4b192d3cd73577a2668558cc99de1588f511d65d3e6", + "bytes": 14969 + }, + "/test/legacy-safe-area.js": { + "source": { + "kind": "frozen-own-source", + "file": "test/helpers/legacy-safe-area.js", + "commit": "ccf77c4e" + }, + "sha256": "ce0368618ef6363b78271b8bcc7973abd0478e797cc464ddd912929e6dfa501a", + "bytes": 795 + }, + "/assets/sample/video.mp4": { + "source": { + "kind": "docs-media", + "file": "docs/assets/sample/video.mp4" + }, + "sha256": "30a2de667ba267b6bc605edcee1c4bd728c048ed76f500ea0e73d1f1a6f8f980", + "bytes": 5818706 + }, + "/test/performance.js": { + "source": { + "kind": "adapted-baseline-fixture", + "file": "refactor/fixtures/performance.js" + }, + "sha256": "2318f39bdb5f3a3348d755cb4335907ae4adc944be3a435839c1bba201e81500", + "bytes": 8994 + } + } + }, + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4?pair=last", + "width": 640, + "height": 360, + "duration": 8, + "currentTime": 0.0044047 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + }, + "ed58185097e2e98f35213e4035a5711905f2ae95bf1c0369dd4dd634b034f796": { + "left": { + "time": 0, + "paused": true, + "rate": 1 + }, + "right": { + "time": 1.6842065, + "videoTime": 1.2090793, + "rate": 1, + "paused": false + } + } + }, + "cases": [ + { + "title": "published core + published audio: rapid main/audio switches settle on the last pair", + "engine": "chromium", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused", + "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?pair=paused", + "attribute": null, + "time": 0, + "paused": true, + "readyState": 0, + "networkState": 0, + "rate": 1, + "seekable": [] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.000406, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "playing", + "time": 0.000177, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "pause", + "time": 0.355235, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + }, + { + "event": "playing", + "time": 0.000419, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + }, + { + "event": "error", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.009902, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.010272, + "audioTime": 0.000261, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.386848, + "audioTime": 0.335884, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:waiting", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0.004126, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0.004188, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.00439, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.408286, + "audioTime": 0.355235, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0.408286, + "audioTime": 0.355235, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0.010821, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.01114, + "audioTime": 0.000079, + "audioPaused": false + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "56e8821694549d277e4d9067acb63fd514ee34e9dc69a0797b7b968cd9e73d92" + } + } + }, + { + "title": "published core + published audio: two active players keep clocks and ownership independent", + "engine": "chromium", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "independent-audio": { + "sharedInput": "73069c1142c37a7d2d30c0762f5133d21a27fcc2c1cd0b6770f6e352b9fb62b5" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.000396, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "error", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.008935, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.009319, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.379831, + "audioTime": 0.329466, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "2e0e30464560b437301ff884af71e227265a32d8fa44a1698c86ff3ad26fa874" + } + } + }, + { + "title": "published core + published audio: native offset bounds recover to an in-range seek", + "engine": "chromium", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "offset-boundary": { + "sharedInput": "16a87337b8bb2ce2bb5ab7f1ec187e053e0d8deef2c94a3ae78026b3b4fca012" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.000502, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 2.500325, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "error", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.011034, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.011566, + "audioTime": 0.000415, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.376984, + "audioTime": 0.324717, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 3.011355, + "audioTime": 2.5, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 3.011687, + "audioTime": 2.500262, + "audioPaused": false + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "15c4a6d02d03160a935fffc76bba9664309e9fa4895ad8fdc47881bfe35a147e" + } + } + }, + { + "title": "published core + source audio: rapid main/audio switches settle on the last pair", + "engine": "chromium", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused", + "attribute": null, + "time": 0, + "paused": true, + "readyState": 0, + "networkState": 0, + "rate": 1, + "seekable": [] + }, + "video": { + "src": "http://127.0.0.1:8084/test/pattern.mp4?pair=paused", + "attribute": null, + "time": 0, + "paused": true, + "readyState": 0, + "networkState": 0, + "rate": 1, + "seekable": [] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.000239, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "playing", + "time": 0.000114, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "pause", + "time": 0.360132, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + }, + { + "event": "playing", + "time": 0.000163, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.01175, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.012075, + "audioTime": 0.000184, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.379088, + "audioTime": 0.3268, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:waiting", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0.003121, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "video:playing", + "videoTime": 0.003342, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.003419, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.411752, + "audioTime": 0.360132, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0.411752, + "audioTime": 0.360132, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0.009159, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.00932, + "audioTime": 0.0001, + "audioPaused": false + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "56e8821694549d277e4d9067acb63fd514ee34e9dc69a0797b7b968cd9e73d92" + } + } + }, + { + "title": "published core + source audio: two active players keep clocks and ownership independent", + "engine": "chromium", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "independent-audio": { + "sharedInput": "82d814f5a4cc2aa098b2c33844ae7c67f54b60da551fd440c644359e85b75799" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.003652, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.008422, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.009018, + "audioTime": 0.000411, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.388448, + "audioTime": 0.338778, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "2e0e30464560b437301ff884af71e227265a32d8fa44a1698c86ff3ad26fa874" + } + } + }, + { + "title": "published core + source audio: native offset bounds recover to an in-range seek", + "engine": "chromium", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "offset-boundary": { + "sharedInput": "16a87337b8bb2ce2bb5ab7f1ec187e053e0d8deef2c94a3ae78026b3b4fca012" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.000299, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 2.50019, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.010482, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.010931, + "audioTime": 0.000209, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.387983, + "audioTime": 0.336665, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 3.01169, + "audioTime": 2.5, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 3.011842, + "audioTime": 2.500107, + "audioPaused": false + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "15c4a6d02d03160a935fffc76bba9664309e9fa4895ad8fdc47881bfe35a147e" + } + } + }, + { + "title": "candidate core + published audio: rapid main/audio switches settle on the last pair", + "engine": "chromium", + "status": "failed", + "retry": 0, + "error": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate", + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last", + "attribute": "/test/audio-tone.m4a?pair=last", + "time": 0, + "paused": true, + "readyState": 4, + "networkState": 1, + "rate": 1, + "seekable": [ + [ + 0, + 16 + ] + ] + }, + "video": { + "src": "http://127.0.0.1:8084/test/pattern.mp4?pair=last", + "attribute": "/test/pattern.mp4?pair=last", + "time": 0, + "paused": true, + "readyState": 4, + "networkState": 1, + "rate": 1, + "seekable": [ + [ + 0, + 8 + ] + ] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.000289, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.009137, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.009431, + "audioTime": 0.000217, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.383946, + "audioTime": 0.334492, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "e6c21e3f96dba7866f40abbd31070acdd596fccf688900981e644638a7d825c8" + } + } + }, + { + "title": "candidate core + published audio: two active players keep clocks and ownership independent", + "engine": "chromium", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "independent-audio": { + "sharedInput": "2a1d39cf0d23caacd18723eaa9466b5a41e1e4dc49fbf35beb7edc7746471091" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.001114, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "error", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.002024, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.002321, + "audioTime": 0.000142, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.40114, + "audioTime": 0.357841, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "5eb7d28083b1f4bd7d6c968acdc207d18ce73a502adccc07eb9d0792b1a849d2" + } + } + }, + { + "title": "candidate core + published audio: native offset bounds recover to an in-range seek", + "engine": "chromium", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "offset-boundary": { + "sharedInput": "16a87337b8bb2ce2bb5ab7f1ec187e053e0d8deef2c94a3ae78026b3b4fca012" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 2.500364, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "error", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.002259, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.003021, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.382368, + "audioTime": 0.338863, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 3.007136, + "audioTime": 2.5, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 3.007494, + "audioTime": 2.500284, + "audioPaused": false + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "0be605849c5f910beef180de5bb23ba83239858baf59140036e25e14ce02f4e4" + } + } + }, + { + "title": "candidate core + source audio: rapid main/audio switches settle on the last pair", + "engine": "chromium", + "status": "failed", + "retry": 0, + "error": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate", + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last", + "attribute": "/test/audio-tone.m4a?pair=last", + "time": 0, + "paused": true, + "readyState": 4, + "networkState": 1, + "rate": 1, + "seekable": [ + [ + 0, + 16 + ] + ] + }, + "video": { + "src": "http://127.0.0.1:8084/test/pattern.mp4?pair=last", + "attribute": "/test/pattern.mp4?pair=last", + "time": 0, + "paused": true, + "readyState": 4, + "networkState": 1, + "rate": 1, + "seekable": [ + [ + 0, + 8 + ] + ] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.000065, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.010431, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.010806, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.389678, + "audioTime": 0.338464, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "9102a3307e3d121074e77b66e91dc31ab0e09cc4d04830128b241f315488c3d9" + } + } + }, + { + "title": "candidate core + source audio: two active players keep clocks and ownership independent", + "engine": "chromium", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "independent-audio": { + "sharedInput": "0de2a362d44fc43f895d577190ca1563c73f2781dcd3c1aba8c938ae7e0f46ab" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.00066, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.010942, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.011364, + "audioTime": 0.000269, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.38637, + "audioTime": 0.334566, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "a5f6acf09b1dafd36a70809fd60f2ec84fb872efb73cbfbc83fd8b5120876c8b" + } + } + }, + { + "title": "candidate core + source audio: native offset bounds recover to an in-range seek", + "engine": "chromium", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "offset-boundary": { + "sharedInput": "16a87337b8bb2ce2bb5ab7f1ec187e053e0d8deef2c94a3ae78026b3b4fca012" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.000323, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 2.500148, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.009909, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.010278, + "audioTime": 0.000228, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.381946, + "audioTime": 0.331514, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 3.010222, + "audioTime": 2.5, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 3.010395, + "audioTime": 2.500111, + "audioPaused": false + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "0be605849c5f910beef180de5bb23ba83239858baf59140036e25e14ce02f4e4" + } + } + }, + { + "title": "published core + published audio: rapid main/audio switches settle on the last pair", + "engine": "firefox", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused", + "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?pair=paused", + "attribute": null, + "time": 0, + "paused": true, + "readyState": 0, + "networkState": 0, + "rate": 1, + "seekable": [] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "pause", + "time": 0.403482, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + }, + { + "event": "error", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.375475, + "audioTime": 0.374983, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:waiting", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.413185, + "audioTime": 0.403482, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0.413185, + "audioTime": 0.403482, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "4b98d9e7c33ddd28a1fcba3ead24959b7f4100724c4d64f01c5334dadb4a737d" + } + } + }, + { + "title": "published core + published audio: two active players keep clocks and ownership independent", + "engine": "firefox", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "independent-audio": { + "sharedInput": "dabbea626c51f89940dbcedbf34b89585264dc11cfbf813e7911b10e62687ae6" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "error", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.376282, + "audioTime": 0.375813, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "4b98d9e7c33ddd28a1fcba3ead24959b7f4100724c4d64f01c5334dadb4a737d" + } + } + }, + { + "title": "published core + published audio: native offset bounds recover to an in-range seek", + "engine": "firefox", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "offset-boundary": { + "sharedInput": "16a87337b8bb2ce2bb5ab7f1ec187e053e0d8deef2c94a3ae78026b3b4fca012" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "error", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.374999, + "audioTime": 0.374744, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": false + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "4b98d9e7c33ddd28a1fcba3ead24959b7f4100724c4d64f01c5334dadb4a737d" + } + } + }, + { + "title": "published core + source audio: rapid main/audio switches settle on the last pair", + "engine": "firefox", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused", + "attribute": null, + "time": 0, + "paused": true, + "readyState": 0, + "networkState": 0, + "rate": 1, + "seekable": [] + }, + "video": { + "src": "http://127.0.0.1:8084/test/pattern.mp4?pair=paused", + "attribute": null, + "time": 0, + "paused": true, + "readyState": 0, + "networkState": 0, + "rate": 1, + "seekable": [] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "pause", + "time": 0.416844, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.374999, + "audioTime": 0.374668, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:waiting", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.416666, + "audioTime": 0.416844, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0.416666, + "audioTime": 0.416844, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "4b98d9e7c33ddd28a1fcba3ead24959b7f4100724c4d64f01c5334dadb4a737d" + } + } + }, + { + "title": "published core + source audio: two active players keep clocks and ownership independent", + "engine": "firefox", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "independent-audio": { + "sharedInput": "a07caa5729c64308797ae56f30eec27157e069d8fcea2601528f346f9385e3ad" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.381383, + "audioTime": 0.374054, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "4b98d9e7c33ddd28a1fcba3ead24959b7f4100724c4d64f01c5334dadb4a737d" + } + } + }, + { + "title": "published core + source audio: native offset bounds recover to an in-range seek", + "engine": "firefox", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "offset-boundary": { + "sharedInput": "16a87337b8bb2ce2bb5ab7f1ec187e053e0d8deef2c94a3ae78026b3b4fca012" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.374999, + "audioTime": 0.374855, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": false + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "4b98d9e7c33ddd28a1fcba3ead24959b7f4100724c4d64f01c5334dadb4a737d" + } + } + }, + { + "title": "candidate core + published audio: rapid main/audio switches settle on the last pair", + "engine": "firefox", + "status": "failed", + "retry": 0, + "error": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate", + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last", + "attribute": "/test/audio-tone.m4a?pair=last", + "time": 0, + "paused": true, + "readyState": 4, + "networkState": 1, + "rate": 1, + "seekable": [ + [ + 0, + 16 + ] + ] + }, + "video": { + "src": "http://127.0.0.1:8084/test/pattern.mp4?pair=last", + "attribute": "/test/pattern.mp4?pair=last", + "time": 0, + "paused": true, + "readyState": 4, + "networkState": 1, + "rate": 1, + "seekable": [ + [ + 0, + 8 + ] + ] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.374999, + "audioTime": 0.374754, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "1eb7d04a384a44761de38ba6057c152adc3f2b148059f2f01f269c13b8207c2c" + } + } + }, + { + "title": "candidate core + published audio: two active players keep clocks and ownership independent", + "engine": "firefox", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "independent-audio": { + "sharedInput": "64f959f9f5d2a85c6e65b452a762480f97c85d288fecc5539c279580878ba6e2" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "error", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.383077, + "audioTime": 0.373879, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "3f2b559af4df2bad6f6a197ba5a412ab931c15883adec163bf289dbb31eb493b" + } + } + }, + { + "title": "candidate core + published audio: native offset bounds recover to an in-range seek", + "engine": "firefox", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "offset-boundary": { + "sharedInput": "16a87337b8bb2ce2bb5ab7f1ec187e053e0d8deef2c94a3ae78026b3b4fca012" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "error", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.380202, + "audioTime": 0.372841, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": false + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "3f2b559af4df2bad6f6a197ba5a412ab931c15883adec163bf289dbb31eb493b" + } + } + }, + { + "title": "candidate core + source audio: rapid main/audio switches settle on the last pair", + "engine": "firefox", + "status": "failed", + "retry": 0, + "error": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate", + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last", + "attribute": "/test/audio-tone.m4a?pair=last", + "time": 0, + "paused": true, + "readyState": 4, + "networkState": 1, + "rate": 1, + "seekable": [ + [ + 0, + 16 + ] + ] + }, + "video": { + "src": "http://127.0.0.1:8084/test/pattern.mp4?pair=last", + "attribute": "/test/pattern.mp4?pair=last", + "time": 0, + "paused": true, + "readyState": 4, + "networkState": 1, + "rate": 1, + "seekable": [ + [ + 0, + 8 + ] + ] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.382559, + "audioTime": 0.374746, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "1eb7d04a384a44761de38ba6057c152adc3f2b148059f2f01f269c13b8207c2c" + } + } + }, + { + "title": "candidate core + source audio: two active players keep clocks and ownership independent", + "engine": "firefox", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "independent-audio": { + "sharedInput": "3f22d9b555ff8470615ca22a835798424667bb5a107266f7c56bdd433231dc48" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.380459, + "audioTime": 0.379757, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "3f2b559af4df2bad6f6a197ba5a412ab931c15883adec163bf289dbb31eb493b" + } + } + }, + { + "title": "candidate core + source audio: native offset bounds recover to an in-range seek", + "engine": "firefox", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "offset-boundary": { + "sharedInput": "16a87337b8bb2ce2bb5ab7f1ec187e053e0d8deef2c94a3ae78026b3b4fca012" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.374261, + "audioTime": 0.373546, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": false + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "3f2b559af4df2bad6f6a197ba5a412ab931c15883adec163bf289dbb31eb493b" + } + } + }, + { + "title": "published core + published audio: rapid main/audio switches settle on the last pair", + "engine": "webkit", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused", + "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?pair=paused", + "attribute": null, + "time": 0, + "paused": true, + "readyState": 0, + "networkState": 0, + "rate": 1, + "seekable": [] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "pause", + "time": 0.4015202, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + }, + { + "event": "error", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=paused" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.0129783, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0133084, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.4810868, + "audioTime": 0.4468327, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "video:seeking", + "videoTime": 0.0052091, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "video:seeked", + "videoTime": 0.0063518, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.4211369, + "audioTime": 0.4015202, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0.4211369, + "audioTime": 0.4015202, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0.0005385, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0.0005385, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0.0142668, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0145072, + "audioTime": 0, + "audioPaused": false + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "c774e139c20a338bb67c7fa82bc3e16881d127a49373acdcea216829cc6b484a" + } + } + }, + { + "title": "published core + published audio: two active players keep clocks and ownership independent", + "engine": "webkit", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "independent-audio": { + "sharedInput": "46f02564134dd58ab48fd914f6175e1378fb9c813376fab4c9b04223c8055fa1" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.01, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "error", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.0092602, + "audioTime": 0.01, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0119435, + "audioTime": 0.01, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.4559827, + "audioTime": 0.2637496, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3.0003505, + "audioTime": 3, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "c774e139c20a338bb67c7fa82bc3e16881d127a49373acdcea216829cc6b484a" + } + } + }, + { + "title": "published core + published audio: native offset bounds recover to an in-range seek", + "engine": "webkit", + "status": "failed", + "retry": 0, + "error": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: 16\nReceived: 16.01\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate", + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "attribute": "/test/audio-tone.m4a?source=first", + "time": 16.01, + "paused": true, + "readyState": 2, + "networkState": 2, + "rate": 1, + "seekable": [ + [ + 0, + 16 + ] + ] + }, + "video": { + "src": "http://127.0.0.1:8084/test/pattern.mp4", + "attribute": "/test/pattern.mp4", + "time": 1.0016796, + "paused": true, + "readyState": 4, + "networkState": 2, + "rate": 1, + "seekable": [ + [ + 0, + 8 + ] + ] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.01, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16.01, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.0058605, + "audioTime": 0.01, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0061518, + "audioTime": 0.01, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.3429687, + "audioTime": 0.4401035, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0.501602, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0.501602, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 1.0016796, + "audioTime": 16.01, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 1.0016796, + "audioTime": 16.01, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "eabd12f408a2cecbf4258e8c0874b5560d1fa835ca51659ae50537099c9a9a92" + } + } + }, + { + "title": "published core + source audio: rapid main/audio switches settle on the last pair", + "engine": "webkit", + "status": "failed", + "retry": 0, + "error": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate", + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last", + "attribute": "/test/audio-tone.m4a?pair=last", + "time": 6.2071244, + "paused": true, + "readyState": 4, + "networkState": 2, + "rate": 1, + "seekable": [ + [ + 0, + 16 + ] + ] + }, + "video": { + "src": "http://127.0.0.1:8084/test/pattern.mp4?pair=last", + "attribute": "/test/pattern.mp4?pair=last", + "time": 6.3721346, + "paused": false, + "readyState": 4, + "networkState": 2, + "rate": 1, + "seekable": [ + [ + 0, + 8 + ] + ] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.04, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "pause", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 0.233077, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 0.4920876, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 0.7560751, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 1.027, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 1.2865963, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 1.5470843, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 1.793965, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 2.0555646, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 2.3143228, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 2.5721464, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 2.835455, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 3.0943334, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 3.3552754, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 3.6153492, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 3.8826768, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 4.137508, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 4.3948752, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 4.6540156, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 4.9156352, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 5.1755064, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 5.4344464, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 5.6938196, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 5.9524904, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + }, + { + "event": "seeked", + "time": 6.2071244, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.0039751, + "audioTime": 0.04, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.015243, + "audioTime": 0.04, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.4993703, + "audioTime": 0.4758951, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "play", + "videoTime": 0, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "fe463a80261e7a52553661059816aeae6cf0e09954061809c45b52faad64ab60" + } + } + }, + { + "title": "published core + source audio: two active players keep clocks and ownership independent", + "engine": "webkit", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "independent-audio": { + "sharedInput": "0ae1400b0ed357686f15608ab89de45c132c857221429f7ff7e2e3e7f9750e52" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.01, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.0056528, + "audioTime": 0.01, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.014136, + "audioTime": 0.01, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.4895076, + "audioTime": 0.2665621, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3.0024578, + "audioTime": 3, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "c774e139c20a338bb67c7fa82bc3e16881d127a49373acdcea216829cc6b484a" + } + } + }, + { + "title": "published core + source audio: native offset bounds recover to an in-range seek", + "engine": "webkit", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "offset-boundary": { + "sharedInput": "16a87337b8bb2ce2bb5ab7f1ec187e053e0d8deef2c94a3ae78026b3b4fca012" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.01, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.0078343, + "audioTime": 0.01, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0080751, + "audioTime": 0.01, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.2809191, + "audioTime": 0.447291, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0.5006334, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0.5006334, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 1.0027158, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3.0015296, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 3.0055021, + "audioTime": 2.5, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 3.0056635, + "audioTime": 2.5, + "audioPaused": false + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "c774e139c20a338bb67c7fa82bc3e16881d127a49373acdcea216829cc6b484a" + } + } + }, + { + "title": "candidate core + published audio: rapid main/audio switches settle on the last pair", + "engine": "webkit", + "status": "failed", + "retry": 0, + "error": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate", + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last", + "attribute": "/test/audio-tone.m4a?pair=last", + "time": 0, + "paused": true, + "readyState": 4, + "networkState": 2, + "rate": 1, + "seekable": [ + [ + 0, + 16 + ] + ] + }, + "video": { + "src": "http://127.0.0.1:8084/test/pattern.mp4?pair=last", + "attribute": "/test/pattern.mp4?pair=last", + "time": 0, + "paused": true, + "readyState": 4, + "networkState": 2, + "rate": 1, + "seekable": [ + [ + 0, + 8 + ] + ] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.04, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.0173065, + "audioTime": 0.03, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0176962, + "audioTime": 0.03, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.4417314, + "audioTime": 0.4348743, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "756c88d38ff45d5761b3048a7d2a5a16928d833c9a4fe904142d10a7a22716e8" + } + } + }, + { + "title": "candidate core + published audio: two active players keep clocks and ownership independent", + "engine": "webkit", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "independent-audio": { + "sharedInput": "e1ac44045decb627eadaba75fde5e3ff79848b0e9afc09b2100c2e6c012b641c" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.01, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "error", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.0041269, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0126621, + "audioTime": 0.01, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.4315195, + "audioTime": 0.2588538, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3.0014557, + "audioTime": 3, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "ccbb92c33b43435461a1d15e80c0269fa1c8bbcddd750a0dae479b86462c99ea" + } + } + }, + { + "title": "candidate core + published audio: native offset bounds recover to an in-range seek", + "engine": "webkit", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "offset-boundary": { + "sharedInput": "16a87337b8bb2ce2bb5ab7f1ec187e053e0d8deef2c94a3ae78026b3b4fca012" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.02, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "error", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.0171194, + "audioTime": 0.01, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0174479, + "audioTime": 0.01, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.2748293, + "audioTime": 0.467916, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0.5007743, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0.5007743, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 1.0030326, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 1.0030326, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3.0019159, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 3.0019177, + "audioTime": 2.5, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 3.013985, + "audioTime": 2.5, + "audioPaused": false + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "ccbb92c33b43435461a1d15e80c0269fa1c8bbcddd750a0dae479b86462c99ea" + } + } + }, + { + "title": "candidate core + source audio: rapid main/audio switches settle on the last pair", + "engine": "webkit", + "status": "failed", + "retry": 0, + "error": "Error: expect(received).toBe(expected) // Object.is equality\n\nExpected: true\nReceived: false\n\nCall Log:\n- Timeout 7000ms exceeded while waiting on the predicate", + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last", + "attribute": "/test/audio-tone.m4a?pair=last", + "time": 0, + "paused": true, + "readyState": 4, + "networkState": 2, + "rate": 1, + "seekable": [ + [ + 0, + 16 + ] + ] + }, + "video": { + "src": "http://127.0.0.1:8084/test/pattern.mp4?pair=last", + "attribute": "/test/pattern.mp4?pair=last", + "time": 0.0044047, + "paused": true, + "readyState": 4, + "networkState": 2, + "rate": 1, + "seekable": [ + [ + 0, + 8 + ] + ] + }, + "events": [ + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.01, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "loadedmetadata", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?pair=last" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.0062051, + "audioTime": 0.01, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0064866, + "audioTime": 0.01, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.5259101, + "audioTime": 0.5064576, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "pause", + "videoTime": 0, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0.0044047, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0.0044047, + "audioTime": 0, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "d7331c2c957b29e5c00610175b79f35e4f604b2164f89a839f6d71bac5415ef9" + } + } + }, + { + "title": "candidate core + source audio: two active players keep clocks and ownership independent", + "engine": "webkit", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "independent-audio": { + "sharedInput": "ed58185097e2e98f35213e4035a5711905f2ae95bf1c0369dd4dd634b034f796" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0.03, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 3, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.0085279, + "audioTime": 0.03, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.010668, + "audioTime": 0.03, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.4552199, + "audioTime": 0.2876037, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 3, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3.0021323, + "audioTime": 3, + "audioPaused": true + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "ccbb92c33b43435461a1d15e80c0269fa1c8bbcddd750a0dae479b86462c99ea" + } + } + }, + { + "title": "candidate core + source audio: native offset bounds recover to an in-range seek", + "engine": "webkit", + "status": "passed", + "retry": 0, + "attachments": { + "audio-inputs": { + "sharedInput": "07b8f8e40afb06d8666e629f11e496a33dec34a89d8f461951306da982511c79" + }, + "offset-boundary": { + "sharedInput": "16a87337b8bb2ce2bb5ab7f1ec187e053e0d8deef2c94a3ae78026b3b4fca012" + }, + "audio-state": { + "audio": { + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first", + "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:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "pause", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0.01, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 16, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "seeked", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "playing", + "time": 2.5, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + }, + { + "event": "emptied", + "time": 0, + "src": "http://127.0.0.1:8084/test/audio-tone.m4a?source=first" + } + ], + "hostEvents": [ + { + "event": "video:playing", + "videoTime": 0.0049522, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 0.0052884, + "audioTime": 0, + "audioPaused": false + }, + { + "event": "pause", + "videoTime": 0.2963424, + "audioTime": 0.4040827, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:pause", + "videoTime": 0.5, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 0.500548, + "audioTime": 0.01, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 0.500548, + "audioTime": 0, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 1, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 1.0014933, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 1.0014933, + "audioTime": 16, + "audioPaused": true + }, + { + "event": "seek", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeking", + "videoTime": 3, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:seeked", + "videoTime": 3.0025518, + "audioTime": 2.5, + "audioPaused": true + }, + { + "event": "video:playing", + "videoTime": 3.0092544, + "audioTime": 2.5, + "audioPaused": false + }, + { + "event": "play", + "videoTime": 3.0095372, + "audioTime": 2.5, + "audioPaused": false + } + ], + "warnings": [] + }, + "browser-evidence": { + "sharedInput": "ccbb92c33b43435461a1d15e80c0269fa1c8bbcddd750a0dae479b86462c99ea" + } + } + } + ], + "findings": [ + "Six candidate-core rapid-switch failures across all engines and both plugins: both final media at time 0 and paused. Candidate source switch snapshots playing after its predecessor paused internally, losing the original intent.", + "One WebKit published-core plus candidate-audio rapid-switch failure: video continues, audio paused and only corrected by seeking. canplay/seeked readiness and resume ordering need a targeted reproduction.", + "One WebKit published/published offset boundary failure: currentTime 16.01 versus asserted exact 16. Requires native media comparison; do not attribute to the refactor." + ], + "limitations": [ + "28 passes and 8 failures; no release acceptance", + "No real network starvation or physical device evidence yet", + "Original source and artifact runtimes are unchanged from Audio-04" + ], + "existingMedia": { + "file": "refactor/.cache/audio05-existing-media.json", + "sha256": "f8f781be934b5ddbcc997470455af6f15060179fe0e288369bfdf6280de0b77d", + "stats": { + "startTime": "2026-09-11T19:03:51.663Z", + "duration": 40188.267, + "expected": 42, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "results": "refactor/.cache/audio05-existing-media-results" + } +} diff --git a/refactor/changes/2026-09-12-PKG-AUDIO-05-combinations.md b/refactor/changes/2026-09-12-PKG-AUDIO-05-combinations.md new file mode 100644 index 000000000..a9faf5bf5 --- /dev/null +++ b/refactor/changes/2026-09-12-PKG-AUDIO-05-combinations.md @@ -0,0 +1,24 @@ +# PKG-AUDIO-05:同步边界与真实媒体组合 + +状态:未完成;起点 13c898c1,已核实 Audio-04 独立提交且工作区干净。 + +覆盖已发布核心和候选核心,与旧/新 audio 的合法组合。先验证主视频连续切源、 +暂停后恢复、外部音频多实例隔离,以及正/负偏移和超时长的真实媒体行为,再补真实 +网络缓冲/恢复。保留浏览器事件、输入指纹、失败报告和 trace,不能以受控 emit +充当真实 waiting。物理设备和实际声音输出缺口继续明确记录。 + +Audio-04 的模块边界及旧类型入口不变;发现问题先比较已发布行为并登记兼容差异。 + +首轮 36 项为 28 通过、8 失败。六项是候选核心(所有三引擎、两种 audio)连续切源 +最终视频与音频均停在 0:源码每次重新读取 playing,第二次读到前一次内部 pause +后的 false,原播放意图丢失。已拆 CORE-24 为独立修复与提交,Audio-05 暂回 todo +等待前置;不把核心历史阶段通过视为已覆盖这次新发现。 + +另有 WebKit 旧核心 + 新 audio 切源后视频继续、音频暂停的失败,AUDIO-RESUME-01 +保持 open,继续核实 seeked/canplay 就绪时序。旧核心 + 旧 audio 边界返回 16.01 +而断言精确 16,需原生媒体对照,不算候选回归。没有跳过或重试这些失败。 +原始报告和 trace 已独立保存,见 [首轮证据](../baselines/audio-combinations-first.json)。 + +共用输入/事件/清理辅助移入 audio-fixture.js,通过显式 useAudioFixture() 为每个测试 +文件注册各自 hooks,避免 import 缓存让后一个 suite 缺输入。原有媒体用例也会重跑。 +本阶段只提交明确标注 checkpoint 的测试与发现,未提交生产修复,也未完成 Audio-05。 diff --git a/refactor/core-acceptance.md b/refactor/core-acceptance.md index 4c5eb5e82..d287e3040 100644 --- a/refactor/core-acceptance.md +++ b/refactor/core-acceptance.md @@ -4,6 +4,10 @@ CORE-22 汇总核心自有源码、公开声明、生成产物和当前固定消 本文件不能作为全部生态包或 npm 发布放行。实际执行结果、源码/产物指纹和剩余事项见 [交付记录](changes/2026-09-11-CORE-22-core-acceptance.md);任务状态以 tasks.json 为准。 +后续 Audio-05 的新组合测试复现了候选核心连续切源丢失播放意图,见 +[首轮证据](baselines/audio-combinations-first.json)。CORE-SOURCE-01/CORE-24 作为新发现 +继续修复,当前不能据本文件历史阶段结果放行;原有通过记录保留其当时的测试范围。 + ## 契约与回归入口 | 契约 | 本阶段检查与可重跑入口 | 明确边界 | diff --git a/refactor/plan.md b/refactor/plan.md index a1bf0533f..3301a961f 100644 --- a/refactor/plan.md +++ b/refactor/plan.md @@ -2,9 +2,9 @@ > 由 tasks.json 生成。请修改数据后运行 `node refactor/scripts/plan.mjs --write`,不要手改本表。 -基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 216 项,范围 22 个包及工作区/示例。 +基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 217 项,范围 22 个包及工作区/示例。 -状态:todo 146 / doing 1 / blocked 0 / done 69 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。 +状态:todo 147 / doing 1 / blocked 0 / done 69 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。 前置依赖是启动条件;验收是完成条件。任务可以继续拆分,但不能复用或悄悄删除旧 ID。 @@ -14,7 +14,7 @@ | 包 | 基线版本 | 任务 | | --- | --- | --- | -| artplayer | 5.4.1 | CORE-01, CORE-02, CORE-03, CORE-04, CORE-05, CORE-06, CORE-07, CORE-08, CORE-09, CORE-10, CORE-11, CORE-12, CORE-13, CORE-14, CORE-15, CORE-16, CORE-17, CORE-18, CORE-19, CORE-20, CORE-21, CORE-23, CORE-22 | +| artplayer | 5.4.1 | CORE-01, CORE-02, CORE-03, CORE-04, CORE-05, CORE-06, CORE-07, CORE-08, CORE-09, CORE-10, CORE-11, CORE-12, CORE-13, CORE-14, CORE-15, CORE-16, CORE-17, CORE-18, CORE-19, CORE-20, CORE-21, CORE-23, CORE-22, CORE-24 | | artplayer-plugin-ads | 2.1.0 | PKG-ADS-01, PKG-ADS-02, PKG-ADS-03, PKG-ADS-04, PKG-ADS-05, PKG-ADS-06 | | artplayer-plugin-ambilight | 1.1.0 | PKG-AMBILIGHT-01, PKG-AMBILIGHT-02, PKG-AMBILIGHT-03, PKG-AMBILIGHT-04, PKG-AMBILIGHT-05, PKG-AMBILIGHT-06 | | artplayer-plugin-asr | 2.1.0 | PKG-ASR-01, PKG-ASR-02, PKG-ASR-03, PKG-ASR-04, PKG-ASR-05, PKG-ASR-06 | @@ -128,6 +128,7 @@ | CORE-21 | artplayer
生成核心声明并校验包内容 | CORE-20, ENG-07 | 由 TS 生成的既有入口声明与三种发布产物 | 内部类型不泄漏,旧 JS/TS 消费者与 i18n 通过;逐项完成 CORE-07 留下的 BASE-TYPE-04/05/07 声明方案,旧合法消费者与实际返回分别留证;不能以虚假的交叉返回类型或改变运行时来掩盖冲突,未决项阻止核心声明出口;处理 CORE-10 / BASE-TYPE-08 的 setter-only 属性虚构 getter 声明,并复核 PlaybackControls 精确视图与旧 toggle 声明共存策略 | H | done | | CORE-23 | artplayer
检查并补齐键盘、焦点与可访问名称 | CORE-13, CORE-14, CORE-17, ENG-05, BASE-04 | 主要控件/设置/模式退出的键盘与焦点回归、名称和字幕可用性检查及必要兼容修正 | 保持旧快捷键和 DOM/CSS 钩子;真实浏览器验证,不以静态属性检查代替交互;处理 BASE-DOM-01 的主要控件 Tab 不可达,保留既有名称与快捷键 | H | done | | CORE-22 | artplayer
核心阶段完整验收 | CORE-21, CORE-23, PILOT-01, ENG-08, ENG-10, ENG-11 | 核心与旧插件的可自动化完整回归、资源/性能及明确外部验证缺口 | 核心自动化和公开差异处置通过;真实环境缺口链接包集成/REL 门槛,阶段完成不代表可公开发布 | H | done | +| CORE-24 | artplayer
修复连续切源的播放意图继承 | CORE-22, PKG-AUDIO-04 | 连续切源保留原播放意图,同时尊重显式暂停与最新来源,回归旧/新 audio | 真实暂停状态的受控测试、重入/取消/失败/销毁、三引擎和 main/legacy 产物验证通过;不恢复过期来源的公开副作用 | H | todo | ## 5 包迁移:artplayer-plugin-chapter @@ -159,7 +160,7 @@ | PKG-AUDIO-02 | artplayer-plugin-audio-track
建立特有行为与错误测试 | PKG-AUDIO-01, ENG-03, ENG-05 | 偏移、倍率、seek、waiting/playing、加载错误和 autoplay 拒绝 | 旧版本行为可重跑,成功/失败/切源/销毁有必要断言 | H | done | | PKG-AUDIO-03 | artplayer-plugin-audio-track
整理内部职责与资源 | PKG-AUDIO-02, CORE-10 | 外部 audio 的同步策略、监听与源更新生命周期 | 结构变化和缺陷修复分开记录;原 API/事件/资源生命周期通过 | H | done | | PKG-AUDIO-04 | artplayer-plugin-audio-track
迁移自有源码和公开类型 | PKG-AUDIO-03, ENG-04, ENG-06, CORE-07 | Option/Result/audio、update 输入和事件类型 | 严格类型检查、旧消费样例通过;声明路径/导出和同步异步兼容 | H | done | -| PKG-AUDIO-05 | artplayer-plugin-audio-track
验证新旧核心和组合 | PKG-AUDIO-04, CORE-22 | 主视频切源和缓冲恢复,多实例独立音频、旧核心 | 最终核心与原支持范围核心分别通过;设备/SDK 缺证据不能标完成 | H | todo | +| PKG-AUDIO-05 | artplayer-plugin-audio-track
验证新旧核心和组合 | PKG-AUDIO-04, CORE-22, CORE-24 | 主视频切源和缓冲恢复,多实例独立音频、旧核心 | 最终核心与原支持范围核心分别通过;设备/SDK 缺证据不能标完成 | H | todo | | PKG-AUDIO-06 | artplayer-plugin-audio-track
验证分发并同步文档 | PKG-AUDIO-05, ENG-07 | audio.track.js 示例与运行返回值一致的声明 | tarball 入口/资源、类型、8082 demo 和 README 一致,有回退记录 | H | todo | ## 5 包迁移:artplayer-plugin-auto-thumbnail @@ -462,6 +463,7 @@ - CORE-21: [记录](changes/2026-09-11-CORE-21-public-declarations.md) [记录](baselines/core-declarations-validation.json) [记录](core-public-types.md) [记录](typechecking.md) - CORE-23: [记录](changes/2026-09-11-CORE-23-keyboard-focus.md) [记录](baselines/keyboard-validation.json) - CORE-22: [记录](changes/2026-09-11-CORE-22-core-acceptance.md) [记录](baselines/core-setting-navigation-partial.json) [记录](core-acceptance.md) [记录](baselines/core-acceptance-validation.json) +- CORE-24: [记录](baselines/audio-combinations-first.json) - PKG-CHAPTER-01: [记录](changes/2026-09-10-PKG-CHAPTER-01-contract.md) [记录](baselines/chapter-contract.md) - PKG-CHAPTER-02: [记录](changes/2026-09-10-PKG-CHAPTER-02-tests.md) [记录](baselines/chapter-validation.json) - PKG-CHAPTER-03: [记录](changes/2026-09-10-PKG-CHAPTER-03-typescript-modules.md) [记录](baselines/chapter-migration-validation.json) @@ -470,6 +472,7 @@ - PKG-AUDIO-02: [记录](changes/2026-09-12-PKG-AUDIO-02-tests.md) [记录](audio-validation.md) [记录](baselines/audio-validation.json) - PKG-AUDIO-03: [记录](changes/2026-09-12-PKG-AUDIO-03-lifecycle.md) [记录](baselines/audio-lifecycle-validation.json) - PKG-AUDIO-04: [记录](changes/2026-09-12-PKG-AUDIO-04-types.md) [记录](baselines/audio-types-validation.json) +- PKG-AUDIO-05: [记录](changes/2026-09-12-PKG-AUDIO-05-combinations.md) [记录](baselines/audio-combinations-first.json) - PKG-HLS-01: [记录](baselines/hls-control-contract.md) [记录](baselines/hls-control-release.json) [记录](changes/2026-09-11-PKG-HLS-01-contract.md) - PKG-HLS-02: [记录](hls-validation.md) [记录](baselines/hls-sdk.json) [记录](baselines/hls-validation.json) [记录](changes/2026-09-11-PKG-HLS-02-tests.md) - PKG-HLS-03: [记录](changes/2026-09-12-PKG-HLS-03-modules.md) [记录](baselines/hls-modules-validation.json) [记录](hls-validation.md) diff --git a/refactor/progress.md b/refactor/progress.md index ec7dddb13..a5c01295d 100644 --- a/refactor/progress.md +++ b/refactor/progress.md @@ -1,5 +1,18 @@ # 进度与证据 +## 当前实施:Audio-05 发现连续切源回归,拆分 CORE-24 + +Audio-04 已独立提交 13c898c1。新组合测试覆盖旧/新核心、旧/新 audio 的连续切源、 +双实例和偏移边界,首轮 28 通过、8 失败,原始报告/trace 和输入已保存。 +六项候选核心切源失败确认原播放意图被前一次内部暂停覆盖;新增 CORE-24 独立修复, +Audio-05 暂回 todo 等待前置。另有 WebKit 旧核心/新音频恢复问题待精确诊断,以及 +旧版边界 16.01 与精确 16 断言差异需要原生对照。没有修改测试使它们假通过。 + +任务现为 217 项、69 done、1 doing、147 todo。下一步 CORE-24 的播放意图与取消测试, +完成后继续 Audio-05 的恢复、真实缓冲和其余边界。HLS 仍 doing,全局目标不变。 +见 [进行中记录](changes/2026-09-12-PKG-AUDIO-05-combinations.md) 和 +[首轮证据](baselines/audio-combinations-first.json)。本次为测试发现检查点,不是完成提交。 + ## 最新完成:PKG-AUDIO-04 严格 TS 与兼容类型入口 Audio 两个职责模块已迁移 TS,累计 256 个生产 TS。默认/legacy 保留原 update 类型 diff --git a/refactor/risk-table.md b/refactor/risk-table.md index 08e668a0f..aa20f5875 100644 --- a/refactor/risk-table.md +++ b/refactor/risk-table.md @@ -130,3 +130,5 @@ | AUDIO-SYNC-01 | open / 已复现 | Audio Track 未同步原生暂停/结束,偏移边界与切源/缓冲仍待完整验证 | PKG-AUDIO-02, PKG-AUDIO-03, PKG-AUDIO-05 | | AUDIO-TYPE-01 | accepted-with-scope / 源码/产物事实 | Audio Track update 部分配置与公开/编辑器声明不一致 | PKG-AUDIO-04 | | AUDIO-DEMO-01 | open / 源码/产物事实 | Audio Track README 示例链接名称不匹配且缺维护说明 | PKG-AUDIO-06 | +| CORE-SOURCE-01 | open / 已复现 | 候选核心连续切源丢失原播放意图 | CORE-24 | +| AUDIO-RESUME-01 | open / 已复现 | WebKit 旧核心切源后候选音频保持暂停 | PKG-AUDIO-05 | diff --git a/refactor/risks.json b/refactor/risks.json index ea789fe80..13ec175a5 100644 --- a/refactor/risks.json +++ b/refactor/risks.json @@ -2726,6 +2726,35 @@ ], "compatibleResolution": "修正 audio.track 示例路径,补真实模块地图及 update/生命周期说明。", "closureCriteria": "README、示例、公开声明一致,8082 正式 demo 和包分发验证通过。" + }, + { + "id": "CORE-SOURCE-01", + "title": "候选核心连续切源丢失原播放意图", + "confirmation": "reproduced", + "status": "open", + "owners": [ + "CORE-24" + ], + "evidence": [ + "refactor/baselines/audio-combinations-first.json", + "packages/artplayer/src/source/switch.ts" + ], + "compatibleResolution": "继承被替代切源操作的播放意图;显式暂停可以取消恢复,过期操作继续只结算不发布副作用。", + "closureCriteria": "新旧对照的连续切源、手动暂停、重入/取消/错误/销毁和正式产物三引擎验证通过。" + }, + { + "id": "AUDIO-RESUME-01", + "title": "WebKit 旧核心切源后候选音频保持暂停", + "confirmation": "reproduced", + "status": "open", + "owners": [ + "PKG-AUDIO-05" + ], + "evidence": [ + "refactor/baselines/audio-combinations-first.json" + ], + "compatibleResolution": "先核实 seeked/canplay 和宿主 playing 的事件顺序;修复真实可播放后音频缺少恢复入口,保持旧核心支持。", + "closureCriteria": "保留原始失败,精确事件复现并有旧核心/新核心三引擎回归;不可仅重复到绿灯。" } ] } diff --git a/refactor/tasks.json b/refactor/tasks.json index ebbfecd24..009068467 100644 --- a/refactor/tasks.json +++ b/refactor/tasks.json @@ -1238,6 +1238,25 @@ "baselines/core-acceptance-validation.json" ] }, + { + "id": "CORE-24", + "phase": "3-4 核心迁移", + "title": "修复连续切源的播放意图继承", + "scope": [ + "artplayer" + ], + "dependsOn": [ + "CORE-22", + "PKG-AUDIO-04" + ], + "status": "todo", + "risk": "H", + "deliverable": "连续切源保留原播放意图,同时尊重显式暂停与最新来源,回归旧/新 audio", + "acceptance": "真实暂停状态的受控测试、重入/取消/失败/销毁、三引擎和 main/legacy 产物验证通过;不恢复过期来源的公开副作用", + "evidence": [ + "baselines/audio-combinations-first.json" + ] + }, { "id": "PKG-CHAPTER-01", "phase": "5 包迁移:artplayer-plugin-chapter", @@ -1551,13 +1570,17 @@ ], "dependsOn": [ "PKG-AUDIO-04", - "CORE-22" + "CORE-22", + "CORE-24" ], "status": "todo", "risk": "H", "deliverable": "主视频切源和缓冲恢复,多实例独立音频、旧核心", "acceptance": "最终核心与原支持范围核心分别通过;设备/SDK 缺证据不能标完成", - "evidence": [] + "evidence": [ + "changes/2026-09-12-PKG-AUDIO-05-combinations.md", + "baselines/audio-combinations-first.json" + ] }, { "id": "PKG-AUDIO-06", diff --git a/test/browser/audio-combinations.spec.js b/test/browser/audio-combinations.spec.js new file mode 100644 index 000000000..c1b04cd2c --- /dev/null +++ b/test/browser/audio-combinations.spec.js @@ -0,0 +1,112 @@ +import { useAudioFixture } from './audio-fixture.js' +import { expect, test } from './fixtures.js' + +const { openAudio } = useAudioFixture() + +for (const core of ['published', 'candidate']) { + for (const plugin of ['published', 'source']) { + test(`${core} core + ${plugin} audio: rapid main/audio switches settle on the last pair`, async ({ page }, testInfo) => { + await openAudio(page, core, plugin, testInfo) + await page.locator('#play').click() + await expect.poll(() => page.evaluate(() => window.audioPlugin.audio.currentTime)).toBeGreaterThan(0.3) + await page.evaluate(async () => { + const { art, audioPlugin } = window + window.originalAudio = audioPlugin.audio + const pending = [] + for (const source of ['first', 'second', 'last']) { + pending.push(art.switchUrl(`/test/pattern.mp4?pair=${source}`)) + audioPlugin.update({ url: `/test/audio-tone.m4a?pair=${source}` }) + } + await Promise.all(pending) + }) + await expect.poll(() => page.evaluate(() => window.art.video.currentSrc)).toContain('pair=last') + await expect.poll(() => page.evaluate(() => window.audioPlugin.audio.currentSrc)).toContain('pair=last') + await expect.poll(() => page.evaluate(() => !window.art.video.paused && !window.audioPlugin.audio.paused && window.art.currentTime > 0.3)).toBe(true) + await expect.poll(() => page.evaluate(() => Math.abs(window.art.currentTime - window.audioPlugin.audio.currentTime))).toBeLessThan(0.5) + expect(await page.evaluate(() => window.originalAudio === window.audioPlugin.audio)).toBe(true) + await page.evaluate(async () => { + window.art.pause() + await window.art.switchUrl('/test/pattern.mp4?pair=paused') + window.audioPlugin.update({ url: '/test/audio-tone.m4a?pair=paused' }) + }) + await expect.poll(() => page.evaluate(() => window.audioPlugin.audio.readyState)).toBeGreaterThanOrEqual(2) + expect(await page.evaluate(() => window.art.video.paused && window.audioPlugin.audio.paused)).toBe(true) + await page.locator('#play').click() + await expect.poll(() => page.evaluate(() => window.audioPlugin.audio.currentTime)).toBeGreaterThan(0.3) + expect(await page.evaluate(() => [window.art.video.error, window.audioPlugin.audio.error])).toEqual([null, null]) + await page.evaluate(() => window.art.destroy()) + }) + + test(`${core} core + ${plugin} audio: two active players keep clocks and ownership independent`, async ({ page }, testInfo) => { + await openAudio(page, core, plugin, testInfo) + await page.evaluate(() => { + window.art.option.mutex = false + const container = document.createElement('div') + container.style.cssText = 'width:320px;height:180px' + document.body.append(container) + window.otherArt = new window.Artplayer({ container, url: '/test/pattern.mp4?instance=other', mutex: false, muted: true, plugins: [window.artplayerPluginAudioTrack({ url: '/test/audio-tone.m4a?instance=other', offset: 0.5, sync: 0.1 })] }) + window.otherAudio = window.otherArt.plugins.artplayerPluginAudioTrack.audio + const play = document.querySelector('#play') + play.onclick = () => Promise.all([window.art.play(), window.otherArt.play()]) + }) + await expect.poll(() => page.evaluate(() => window.otherArt.isReady && window.otherAudio.readyState >= 2)).toBe(true) + await page.locator('#play').click() + await expect.poll(() => page.evaluate(() => !window.audioPlugin.audio.paused && !window.otherAudio.paused && window.art.currentTime > 0.2 && window.otherArt.currentTime > 0.2)).toBe(true) + await page.evaluate(() => { + window.art.pause() + window.art.seek = 3 + window.art.volume = 0.2 + window.art.playbackRate = 1.5 + window.otherArt.volume = 0.7 + }) + await expect.poll(() => page.evaluate(() => window.audioPlugin.audio.currentTime)).toBeCloseTo(3, 1) + await expect.poll(() => page.evaluate(() => window.audioPlugin.audio.playbackRate)).toBe(1.5) + await expect.poll(() => page.evaluate(() => window.otherAudio.volume)).toBeCloseTo(0.7) + expect(await page.evaluate(() => window.otherAudio.playbackRate)).toBe(1) + expect(await page.evaluate(() => window.otherAudio !== window.audioPlugin.audio)).toBe(true) + await expect.poll(() => page.evaluate(() => Math.abs(window.otherAudio.currentTime - window.otherArt.currentTime - 0.5))).toBeLessThan(0.5) + const before = await page.evaluate(() => { + window.art.destroy() + return window.otherAudio.currentTime + }) + await expect.poll(() => page.evaluate(() => window.otherAudio.currentTime)).toBeGreaterThan(before + 0.3) + expect(await page.evaluate(() => window.audioPlugin.audio.paused && !window.otherAudio.paused)).toBe(true) + expect(await page.evaluate(() => window.otherAudio.currentSrc)).toContain('instance=other') + expect(await page.evaluate(() => window.otherAudio.error)).toBeNull() + await testInfo.attach('independent-audio', { contentType: 'application/json', body: JSON.stringify(await page.evaluate(() => ({ left: { time: window.audioPlugin.audio.currentTime, paused: window.audioPlugin.audio.paused, rate: window.audioPlugin.audio.playbackRate }, right: { time: window.otherAudio.currentTime, videoTime: window.otherArt.currentTime, rate: window.otherAudio.playbackRate, paused: window.otherAudio.paused } }))) }) + await page.evaluate(() => window.otherArt.destroy()) + expect(await page.evaluate(() => window.otherAudio.paused)).toBe(true) + }) + + test(`${core} core + ${plugin} audio: native offset bounds recover to an in-range seek`, async ({ page }, testInfo) => { + await openAudio(page, core, plugin, testInfo) + await page.locator('#play').click() + await expect.poll(() => page.evaluate(() => window.audioPlugin.audio.currentTime)).toBeGreaterThan(0.2) + await page.evaluate(() => { + window.art.pause() + window.audioPlugin.update({ offset: -2 }) + window.art.seek = 0.5 + }) + await expect.poll(() => page.evaluate(() => !window.art.video.seeking && !window.audioPlugin.audio.seeking)).toBe(true) + const negative = await page.evaluate(() => ({ time: window.audioPlugin.audio.currentTime, error: window.audioPlugin.audio.error?.code || null })) + expect(negative).toEqual({ time: 0, error: null }) + await page.evaluate(() => { + window.audioPlugin.update({ offset: 20 }) + window.art.seek = 1 + }) + await expect.poll(() => page.evaluate(() => !window.art.video.seeking && !window.audioPlugin.audio.seeking)).toBe(true) + await expect.poll(() => page.evaluate(() => window.audioPlugin.audio.currentTime)).toBe(16) + expect(await page.evaluate(() => window.audioPlugin.audio.paused)).toBe(true) + await page.evaluate(() => { + window.audioPlugin.update({ offset: -0.5 }) + window.art.seek = 3 + }) + await expect.poll(() => page.evaluate(() => window.audioPlugin.audio.currentTime)).toBeCloseTo(2.5, 1) + await page.locator('#play').click() + await expect.poll(() => page.evaluate(() => window.audioPlugin.audio.currentTime)).toBeGreaterThan(2.8) + await expect.poll(() => page.evaluate(() => Math.abs(window.audioPlugin.audio.currentTime - window.art.currentTime + 0.5))).toBeLessThan(0.5) + await testInfo.attach('offset-boundary', { contentType: 'application/json', body: JSON.stringify({ negative, overflow: 16, recovered: true }) }) + await page.evaluate(() => window.art.destroy()) + }) + } +} diff --git a/test/browser/audio-fixture.js b/test/browser/audio-fixture.js new file mode 100644 index 000000000..197a4b20a --- /dev/null +++ b/test/browser/audio-fixture.js @@ -0,0 +1,87 @@ +import assert from 'node:assert/strict' +import { Buffer } from 'node:buffer' +import fs from 'node:fs' +import process from 'node:process' +import { ensureArchive, hash, readMember } from '../../refactor/scripts/releases.mjs' +import { compilePackage } from '../helpers/load.js' +import { expect, test } from './fixtures.js' + +export function useAudioFixture() { + let publishedCode + let sourceCode + let evidence + const samples = 16000 * 16 + const tone = fs.readFileSync(new URL('./media/audio-tone.m4a', import.meta.url)) + const toneManifest = JSON.parse(fs.readFileSync(new URL('./media/audio-tone.json', import.meta.url))) + const wav = Buffer.alloc(44 + samples * 2) + wav.write('RIFF', 0) + wav.writeUInt32LE(wav.length - 8, 4) + wav.write('WAVEfmt ', 8) + wav.writeUInt32LE(16, 16) + wav.writeUInt16LE(1, 20) + wav.writeUInt16LE(1, 22) + wav.writeUInt32LE(16000, 24) + wav.writeUInt32LE(32000, 28) + wav.writeUInt16LE(2, 32) + wav.writeUInt16LE(16, 34) + wav.write('data', 36) + wav.writeUInt32LE(samples * 2, 40) + for (let index = 0; index < samples; index++) + wav.writeInt16LE(index % 80 < 40 ? 2000 : -2000, 44 + index * 2) + + test.beforeAll(async () => { + assert.equal(hash(tone), toneManifest.sha256) + assert.equal(tone.length, toneManifest.bytes) + assert(!process.env.ARTPLAYER_BROWSER_ARTIFACTS, 'Audio source tests cannot represent installed artifacts') + const { release } = JSON.parse(fs.readFileSync(new URL('../../refactor/baselines/audio-track-release.json', import.meta.url))) + const member = 'package/dist/artplayer-plugin-audio-track.js' + const bytes = readMember(await ensureArchive(release), member) + assert.equal(hash(bytes), release.files[member]) + publishedCode = bytes.toString() + sourceCode = process.env.ARTPLAYER_AUDIO_ARTIFACT ? fs.readFileSync(process.env.ARTPLAYER_AUDIO_ARTIFACT, 'utf8') : await compilePackage(release.name, 'umd') + evidence = { release, sourceSHA256: hash(sourceCode), candidate: process.env.ARTPLAYER_AUDIO_ARTIFACT || 'workspace source build', audio: { sha256: hash(tone), bytes: tone.length, format: 'AAC mono 48000 Hz, 16 seconds, 440 Hz tone in MP4' }, wav: { sha256: hash(wav), bytes: wav.length, format: 'PCM16LE mono 16000 Hz, 16 seconds, integer square wave 200 Hz' }, scope: 'Source or explicit artifact browser checks; no physical device or installed package acceptance' } + }) + + test.afterEach(async ({ page }, testInfo) => { + const state = await page.evaluate(() => { + const audio = window.audioPlugin?.audio + const video = window.art?.video + const media = element => element && ({ src: element.currentSrc, attribute: element.getAttribute('src'), time: element.currentTime, paused: element.paused, readyState: element.readyState, networkState: element.networkState, error: element.error?.code, rate: element.playbackRate, seekable: Array.from({ length: element.seekable.length }, (_, index) => [element.seekable.start(index), element.seekable.end(index)]) }) + return { audio: media(audio), video: media(video), events: window.audioEvents, hostEvents: window.audioHostEvents, warnings: window.audioWarnings } + }).catch(error => ({ error: error.message })) + await testInfo.attach('audio-state', { contentType: 'application/json', body: JSON.stringify(state) }) + }) + + async function openAudio(page, core, plugin, testInfo, url = '/test/audio-tone.m4a?source=first') { + await testInfo.attach('audio-inputs', { contentType: 'application/json', body: JSON.stringify(evidence) }) + await page.goto(`/test/player.html?core=${core}`) + await page.addScriptTag({ content: plugin === 'published' ? publishedCode : sourceCode }) + await page.evaluate((url) => { + window.audioEvents = [] + window.audioHostEvents = [] + window.audioWarnings = [] + const warn = console.warn.bind(console) + console.warn = (...args) => { + window.audioWarnings.push(args.map(String)) + warn(...args) + } + window.art = new window.Artplayer({ + container: '.player', + url: '/test/pattern.mp4', + muted: true, + plugins: [window.artplayerPluginAudioTrack({ url, sync: 0.1 })], + }) + window.audioPlugin = window.art.plugins.artplayerPluginAudioTrack + for (const event of ['play', 'pause', 'seek', 'video:waiting', 'video:playing', 'video:seeking', 'video:seeked', 'video:pause', 'video:ended']) + window.art.on(event, () => window.audioHostEvents.push({ event, videoTime: window.art.currentTime, audioTime: window.audioPlugin.audio.currentTime, audioPaused: window.audioPlugin.audio.paused })) + for (const event of ['loadedmetadata', 'playing', 'pause', 'seeked', 'error', 'emptied']) + window.audioPlugin.audio.addEventListener(event, () => window.audioEvents.push({ event, time: window.audioPlugin.audio.currentTime, src: window.audioPlugin.audio.currentSrc })) + document.querySelector('#play').onclick = () => window.art.play() + }, url) + await expect.poll(() => page.evaluate(() => window.art.isReady)).toBe(true) + if (url) + await expect.poll(() => page.evaluate(() => window.audioPlugin.audio.readyState)).toBeGreaterThanOrEqual(2) + } + + return { openAudio, wav } +} diff --git a/test/browser/audio-track.spec.js b/test/browser/audio-track.spec.js index 9c3eb5e4f..56fdea5ed 100644 --- a/test/browser/audio-track.spec.js +++ b/test/browser/audio-track.spec.js @@ -1,86 +1,7 @@ -import assert from 'node:assert/strict' -import { Buffer } from 'node:buffer' -import fs from 'node:fs' -import process from 'node:process' -import { ensureArchive, hash, readMember } from '../../refactor/scripts/releases.mjs' -import { compilePackage } from '../helpers/load.js' +import { useAudioFixture } from './audio-fixture.js' import { expect, test } from './fixtures.js' -let publishedCode -let sourceCode -let evidence -const samples = 16000 * 16 -const tone = fs.readFileSync(new URL('./media/audio-tone.m4a', import.meta.url)) -const toneManifest = JSON.parse(fs.readFileSync(new URL('./media/audio-tone.json', import.meta.url))) -const wav = Buffer.alloc(44 + samples * 2) -wav.write('RIFF', 0) -wav.writeUInt32LE(wav.length - 8, 4) -wav.write('WAVEfmt ', 8) -wav.writeUInt32LE(16, 16) -wav.writeUInt16LE(1, 20) -wav.writeUInt16LE(1, 22) -wav.writeUInt32LE(16000, 24) -wav.writeUInt32LE(32000, 28) -wav.writeUInt16LE(2, 32) -wav.writeUInt16LE(16, 34) -wav.write('data', 36) -wav.writeUInt32LE(samples * 2, 40) -for (let index = 0; index < samples; index++) - wav.writeInt16LE(index % 80 < 40 ? 2000 : -2000, 44 + index * 2) - -test.beforeAll(async () => { - assert.equal(hash(tone), toneManifest.sha256) - assert.equal(tone.length, toneManifest.bytes) - assert(!process.env.ARTPLAYER_BROWSER_ARTIFACTS, 'Audio source tests cannot represent installed artifacts') - const { release } = JSON.parse(fs.readFileSync(new URL('../../refactor/baselines/audio-track-release.json', import.meta.url))) - const member = 'package/dist/artplayer-plugin-audio-track.js' - const bytes = readMember(await ensureArchive(release), member) - assert.equal(hash(bytes), release.files[member]) - publishedCode = bytes.toString() - sourceCode = process.env.ARTPLAYER_AUDIO_ARTIFACT ? fs.readFileSync(process.env.ARTPLAYER_AUDIO_ARTIFACT, 'utf8') : await compilePackage(release.name, 'umd') - evidence = { release, sourceSHA256: hash(sourceCode), candidate: process.env.ARTPLAYER_AUDIO_ARTIFACT || 'workspace source build', audio: { sha256: hash(tone), bytes: tone.length, format: 'AAC mono 48000 Hz, 16 seconds, 440 Hz tone in MP4' }, wav: { sha256: hash(wav), bytes: wav.length, format: 'PCM16LE mono 16000 Hz, 16 seconds, integer square wave 200 Hz' }, scope: 'Source or explicit artifact browser checks; no physical device or installed package acceptance' } -}) - -test.afterEach(async ({ page }, testInfo) => { - const state = await page.evaluate(() => { - const audio = window.audioPlugin?.audio - const video = window.art?.video - const media = element => element && ({ src: element.currentSrc, attribute: element.getAttribute('src'), time: element.currentTime, paused: element.paused, readyState: element.readyState, networkState: element.networkState, error: element.error?.code, rate: element.playbackRate, seekable: Array.from({ length: element.seekable.length }, (_, index) => [element.seekable.start(index), element.seekable.end(index)]) }) - return { audio: media(audio), video: media(video), events: window.audioEvents, hostEvents: window.audioHostEvents, warnings: window.audioWarnings } - }).catch(error => ({ error: error.message })) - await testInfo.attach('audio-state', { contentType: 'application/json', body: JSON.stringify(state) }) -}) - -async function openAudio(page, core, plugin, testInfo, url = '/test/audio-tone.m4a?source=first') { - await testInfo.attach('audio-inputs', { contentType: 'application/json', body: JSON.stringify(evidence) }) - await page.goto(`/test/player.html?core=${core}`) - await page.addScriptTag({ content: plugin === 'published' ? publishedCode : sourceCode }) - await page.evaluate((url) => { - window.audioEvents = [] - window.audioHostEvents = [] - window.audioWarnings = [] - const warn = console.warn.bind(console) - console.warn = (...args) => { - window.audioWarnings.push(args.map(String)) - warn(...args) - } - window.art = new window.Artplayer({ - container: '.player', - url: '/test/pattern.mp4', - muted: true, - plugins: [window.artplayerPluginAudioTrack({ url, sync: 0.1 })], - }) - window.audioPlugin = window.art.plugins.artplayerPluginAudioTrack - for (const event of ['play', 'pause', 'seek', 'video:waiting', 'video:playing', 'video:seeking', 'video:seeked', 'video:pause', 'video:ended']) - window.art.on(event, () => window.audioHostEvents.push({ event, videoTime: window.art.currentTime, audioTime: window.audioPlugin.audio.currentTime, audioPaused: window.audioPlugin.audio.paused })) - for (const event of ['loadedmetadata', 'playing', 'pause', 'seeked', 'error', 'emptied']) - window.audioPlugin.audio.addEventListener(event, () => window.audioEvents.push({ event, time: window.audioPlugin.audio.currentTime, src: window.audioPlugin.audio.currentSrc })) - document.querySelector('#play').onclick = () => window.art.play() - }, url) - await expect.poll(() => page.evaluate(() => window.art.isReady)).toBe(true) - if (url) - await expect.poll(() => page.evaluate(() => window.audioPlugin.audio.readyState)).toBeGreaterThanOrEqual(2) -} +const { openAudio, wav } = useAudioFixture() async function playToEnd(page) { await page.evaluate(() => {