Files
ArtPlayer/refactor/baselines/asr-explicit-capture-validation.json
T

12228 lines
424 KiB
JSON

{
"schemaVersion": 1,
"task": "PKG-ASR-09",
"capturedAt": "2026-09-13T08:19:08.736Z",
"baseCommit": "5ab7da6e1f891c5f674033cea38845bae8acb0e8",
"addition": "Optional audioInput: { type: capture } uses native stream capture without any direct media binding or audible ASR route. Runtime types only; historical option and factory declarations unchanged.",
"correction": "An epoch captured after stopping invalidates delayed source restart when later pause/stop/restart/destroy supersedes it.",
"versionChanged": false,
"dependenciesAdded": [],
"red": {
"initialStrategy": {
"passed": 2,
"failed": 9
},
"delayedRestart": {
"passed": 11,
"failed": 2
}
},
"browsers": [
{
"mode": "source",
"file": "refactor/.cache/asr09-browser-source/report.json",
"sha256": "c5d966d8c6b56ed5ea0d13240dba33431a3a50eec55f831c268c133b2602ed0a",
"passed": 10,
"skipped": 5,
"rows": [
{
"title": "ASR explicit capture + published: opaque media keeps native routing and same-origin capture recovers",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"core": "published",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"plugin": "workspace source",
"pluginSha256": "f5fcf901c7e8c197f72d44ed6d7e4445cbad0c6ce2258d9127a765712d75b010",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"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
},
"opaque": {
"opaque": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": {
"name": "SecurityError",
"message": "Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data"
}
}
],
"directBindings": 0,
"contexts": [
"closed"
],
"streams": [],
"retainedTracks": [],
"chunks": []
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
},
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
}
],
"consoleErrors": [
"[artplayerPluginAsr] Initialization failed: SecurityError: Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data\n at prototype.<computed> [as captureStream] (eval at evaluate (:311:30), <anonymous>:29:40)\n at AudioGraph.initialize (<anonymous>:69:33)\n at async <anonymous>:270:9"
],
"properties": {
"src": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"crossOrigin": null,
"crossOriginAttribute": null,
"muted": false,
"defaultMuted": false,
"volume": 0.6,
"playbackRate": 1,
"autoplay": false,
"controls": false,
"loop": false,
"preload": "metadata",
"playsInline": true
},
"clockAdvanced": true
},
"explicitFinal": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": {
"name": "SecurityError",
"message": "Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data"
}
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
}
],
"directBindings": 0,
"contexts": [
"closed",
"closed",
"closed"
],
"streams": [
{
"active": false,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
]
},
{
"active": false,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
]
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
],
"chunks": [
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4215,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4237,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4251,
"pcmBytes": 3200,
"wavBytes": 3244
}
]
},
"annotations": []
},
{
"title": "ASR explicit capture + candidate: opaque media keeps native routing and same-origin capture recovers",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"core": "candidate",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"plugin": "workspace source",
"pluginSha256": "f5fcf901c7e8c197f72d44ed6d7e4445cbad0c6ce2258d9127a765712d75b010",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"opaque": {
"opaque": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": {
"name": "SecurityError",
"message": "Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data"
}
}
],
"directBindings": 0,
"contexts": [
"closed"
],
"streams": [],
"retainedTracks": [],
"chunks": []
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
},
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
}
],
"consoleErrors": [
"[artplayerPluginAsr] Initialization failed: SecurityError: Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data\n at prototype.<computed> [as captureStream] (eval at evaluate (:311:30), <anonymous>:29:40)\n at AudioGraph.initialize (<anonymous>:69:33)\n at async <anonymous>:270:9"
],
"properties": {
"src": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"crossOrigin": null,
"crossOriginAttribute": null,
"muted": false,
"defaultMuted": false,
"volume": 0.6,
"playbackRate": 1,
"autoplay": false,
"controls": false,
"loop": false,
"preload": "metadata",
"playsInline": true
},
"clockAdvanced": true
},
"explicitFinal": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": {
"name": "SecurityError",
"message": "Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data"
}
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
}
],
"directBindings": 0,
"contexts": [
"closed",
"closed",
"closed"
],
"streams": [
{
"active": false,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
]
},
{
"active": false,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
]
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
],
"chunks": [
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4168,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4237,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4251,
"pcmBytes": 3200,
"wavBytes": 3244
}
]
},
"annotations": []
},
{
"title": "ASR explicit capture + published: opaque media keeps native routing and same-origin capture recovers",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"core": "published",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"plugin": "workspace source",
"pluginSha256": "f5fcf901c7e8c197f72d44ed6d7e4445cbad0c6ce2258d9127a765712d75b010",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"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
},
"opaque": {
"opaque": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": null
}
],
"directBindings": 0,
"contexts": [
"running"
],
"streams": [
{
"active": true,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "live"
}
]
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "live"
}
],
"chunks": []
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
}
],
"consoleErrors": [],
"properties": {
"src": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"crossOrigin": null,
"crossOriginAttribute": null,
"muted": false,
"defaultMuted": false,
"volume": 0.6,
"playbackRate": 1,
"autoplay": false,
"controls": false,
"loop": false,
"preload": "metadata",
"playsInline": true
},
"clockAdvanced": true
},
"explicitFinal": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
}
],
"directBindings": 0,
"contexts": [
"closed",
"closed",
"closed"
],
"streams": [
{
"active": false,
"tracks": []
},
{
"active": false,
"tracks": []
},
{
"active": false,
"tracks": []
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": true,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
],
"chunks": [
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4251,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4219,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4248,
"pcmBytes": 3200,
"wavBytes": 3244
}
]
},
"annotations": []
},
{
"title": "ASR explicit capture + candidate: opaque media keeps native routing and same-origin capture recovers",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"core": "candidate",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"plugin": "workspace source",
"pluginSha256": "f5fcf901c7e8c197f72d44ed6d7e4445cbad0c6ce2258d9127a765712d75b010",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"opaque": {
"opaque": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": null
}
],
"directBindings": 0,
"contexts": [
"running"
],
"streams": [
{
"active": true,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "live"
}
]
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "live"
}
],
"chunks": []
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
}
],
"consoleErrors": [],
"properties": {
"src": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"crossOrigin": null,
"crossOriginAttribute": null,
"muted": false,
"defaultMuted": false,
"volume": 0.6,
"playbackRate": 1,
"autoplay": false,
"controls": false,
"loop": false,
"preload": "metadata",
"playsInline": true
},
"clockAdvanced": true
},
"explicitFinal": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
}
],
"directBindings": 0,
"contexts": [
"closed",
"closed",
"closed"
],
"streams": [
{
"active": false,
"tracks": []
},
{
"active": false,
"tracks": []
},
{
"active": false,
"tracks": []
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": true,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
],
"chunks": [
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4213,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4245,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4190,
"pcmBytes": 3200,
"wavBytes": 3244
}
]
},
"annotations": []
},
{
"title": "ASR explicit capture + published: opaque media keeps native routing and same-origin capture recovers",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"core": "published",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"plugin": "workspace source",
"pluginSha256": "f5fcf901c7e8c197f72d44ed6d7e4445cbad0c6ce2258d9127a765712d75b010",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"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
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks AudioContext/AudioWorklet; this is not Safari/device CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-capture-cors.spec.js",
"line": 41,
"column": 12
}
}
]
},
{
"title": "ASR explicit capture + candidate: opaque media keeps native routing and same-origin capture recovers",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"core": "candidate",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"plugin": "workspace source",
"pluginSha256": "f5fcf901c7e8c197f72d44ed6d7e4445cbad0c6ce2258d9127a765712d75b010",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks AudioContext/AudioWorklet; this is not Safari/device CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-capture-cors.spec.js",
"line": 41,
"column": 12
}
}
]
},
{
"title": "ASR candidate capture + published-5.3.0: native capture fallback does not create a second audible route",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"captureOnly": true,
"pluginSha256": "f5fcf901c7e8c197f72d44ed6d7e4445cbad0c6ce2258d9127a765712d75b010",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"fallback": {
"playing": {
"external": 0.08772112125105311,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4264,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.0889365128761472,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4247,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate capture + published: native capture fallback does not create a second audible route",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published",
"captureOnly": true,
"pluginSha256": "f5fcf901c7e8c197f72d44ed6d7e4445cbad0c6ce2258d9127a765712d75b010",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"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
},
"fallback": {
"playing": {
"external": 0.08762481388661633,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4264,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.08862216379888067,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4247,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate capture + candidate: native capture fallback does not create a second audible route",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "candidate",
"captureOnly": true,
"pluginSha256": "f5fcf901c7e8c197f72d44ed6d7e4445cbad0c6ce2258d9127a765712d75b010",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"fallback": {
"playing": {
"external": 0.08779609911638686,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4238,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.0889365128761472,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4247,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate capture + published-5.3.0: native capture fallback does not create a second audible route",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"captureOnly": true,
"pluginSha256": "f5fcf901c7e8c197f72d44ed6d7e4445cbad0c6ce2258d9127a765712d75b010",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"fallback": {
"playing": {
"external": 0.0880712446666184,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4264,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.08866202715264984,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate capture + published: native capture fallback does not create a second audible route",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published",
"captureOnly": true,
"pluginSha256": "f5fcf901c7e8c197f72d44ed6d7e4445cbad0c6ce2258d9127a765712d75b010",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"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
},
"fallback": {
"playing": {
"external": 0.0880712446666184,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4264,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.08774571319741767,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4248,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate capture + candidate: native capture fallback does not create a second audible route",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "candidate",
"captureOnly": true,
"pluginSha256": "f5fcf901c7e8c197f72d44ed6d7e4445cbad0c6ce2258d9127a765712d75b010",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"fallback": {
"playing": {
"external": 0.08789785569817585,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4264,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.08789785569817585,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate capture + published-5.3.0: native capture fallback does not create a second audible route",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"captureOnly": true,
"pluginSha256": "f5fcf901c7e8c197f72d44ed6d7e4445cbad0c6ce2258d9127a765712d75b010",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit has no native WebAudio",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js",
"line": 26,
"column": 14
}
}
]
},
{
"title": "ASR candidate capture + published: native capture fallback does not create a second audible route",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "published",
"captureOnly": true,
"pluginSha256": "f5fcf901c7e8c197f72d44ed6d7e4445cbad0c6ce2258d9127a765712d75b010",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"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
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit has no native WebAudio",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js",
"line": 26,
"column": 14
}
}
]
},
{
"title": "ASR candidate capture + candidate: native capture fallback does not create a second audible route",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "candidate",
"captureOnly": true,
"pluginSha256": "f5fcf901c7e8c197f72d44ed6d7e4445cbad0c6ce2258d9127a765712d75b010",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit has no native WebAudio",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js",
"line": 26,
"column": 14
}
}
]
}
]
},
{
"mode": "main",
"file": "refactor/.cache/asr09-browser-main/report.json",
"sha256": "c40bb98d35186aa807e8e8a652f5d583d86c339a3cec00005ec342ba80f13938",
"passed": 48,
"skipped": 24,
"rows": [
{
"title": "published core + ASR/audio-track: pause, update, ASR stop and destroy preserve separate ownership",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"sha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "published",
"audioFirst": true
},
"core": {
"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
},
"annotations": []
},
{
"title": "published core + ASR/audio-track: capture follows main media, not the independent audible track",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"sha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "published",
"audioFirst": false
},
"core": {
"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
},
"annotations": []
},
{
"title": "candidate core + ASR/audio-track: pause, update, ASR stop and destroy preserve separate ownership",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"sha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "candidate",
"audioFirst": true
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": []
},
{
"title": "candidate core + ASR/audio-track: capture follows main media, not the independent audible track",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"sha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "candidate",
"audioFirst": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": []
},
{
"title": "published core + ASR/audio-track: pause, update, ASR stop and destroy preserve separate ownership",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"sha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "published",
"audioFirst": true
},
"core": {
"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
},
"annotations": []
},
{
"title": "published core + ASR/audio-track: capture follows main media, not the independent audible track",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"sha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "published",
"audioFirst": false
},
"core": {
"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
},
"annotations": []
},
{
"title": "candidate core + ASR/audio-track: pause, update, ASR stop and destroy preserve separate ownership",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"sha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "candidate",
"audioFirst": true
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": []
},
{
"title": "candidate core + ASR/audio-track: capture follows main media, not the independent audible track",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"sha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "candidate",
"audioFirst": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": []
},
{
"title": "published core + ASR/audio-track: pause, update, ASR stop and destroy preserve separate ownership",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"sha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "published",
"audioFirst": true
},
"core": {
"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
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native AudioContext/AudioWorklet; Safari and physical-device composition remain unverified",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio-track.spec.js",
"line": 35,
"column": 10
}
}
]
},
{
"title": "published core + ASR/audio-track: capture follows main media, not the independent audible track",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"sha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "published",
"audioFirst": false
},
"core": {
"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
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native AudioContext/AudioWorklet; Safari and physical-device composition remain unverified",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio-track.spec.js",
"line": 35,
"column": 10
}
}
]
},
{
"title": "candidate core + ASR/audio-track: pause, update, ASR stop and destroy preserve separate ownership",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"sha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "candidate",
"audioFirst": true
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native AudioContext/AudioWorklet; Safari and physical-device composition remain unverified",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio-track.spec.js",
"line": 35,
"column": 10
}
}
]
},
{
"title": "candidate core + ASR/audio-track: capture follows main media, not the independent audible track",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"sha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "candidate",
"audioFirst": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native AudioContext/AudioWorklet; Safari and physical-device composition remain unverified",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio-track.spec.js",
"line": 35,
"column": 10
}
}
]
},
{
"title": "ASR candidate + published-5.3.0: native Worklet supplies local PCM with owned stop and destroy",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"annotations": []
},
{
"title": "ASR candidate + published: native Worklet supplies local PCM with owned stop and destroy",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"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
},
"annotations": []
},
{
"title": "ASR candidate + candidate: native Worklet supplies local PCM with owned stop and destroy",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "candidate",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": []
},
{
"title": "ASR candidate + published-5.3.0: native Worklet supplies local PCM with owned stop and destroy",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"annotations": []
},
{
"title": "ASR candidate + published: native Worklet supplies local PCM with owned stop and destroy",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"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
},
"annotations": []
},
{
"title": "ASR candidate + candidate: native Worklet supplies local PCM with owned stop and destroy",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "candidate",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": []
},
{
"title": "ASR candidate + published-5.3.0: native Worklet supplies local PCM with owned stop and destroy",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit 26.6 has no AudioContext/AudioWorkletNode; native ASR acceptance remains open",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio.spec.js",
"line": 30,
"column": 14
}
}
]
},
{
"title": "ASR candidate + published: native Worklet supplies local PCM with owned stop and destroy",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "published",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"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
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit 26.6 has no AudioContext/AudioWorkletNode; native ASR acceptance remains open",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio.spec.js",
"line": 30,
"column": 14
}
}
]
},
{
"title": "ASR candidate + candidate: native Worklet supplies local PCM with owned stop and destroy",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "candidate",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit 26.6 has no AudioContext/AudioWorkletNode; native ASR acceptance remains open",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio.spec.js",
"line": 30,
"column": 14
}
}
]
},
{
"title": "ASR explicit capture + published: opaque media keeps native routing and same-origin capture recovers",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"core": "published",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"plugin": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"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
},
"opaque": {
"opaque": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": {
"name": "SecurityError",
"message": "Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data"
}
}
],
"directBindings": 0,
"contexts": [
"closed"
],
"streams": [],
"retainedTracks": [],
"chunks": []
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
},
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
}
],
"consoleErrors": [
"[artplayerPluginAsr] Initialization failed: SecurityError: Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data\n at prototype.<computed> [as captureStream] (eval at evaluate (:311:30), <anonymous>:29:40)\n at t.initialize (<anonymous>:7:1749)\n at async <anonymous>:7:4905"
],
"properties": {
"src": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"crossOrigin": null,
"crossOriginAttribute": null,
"muted": false,
"defaultMuted": false,
"volume": 0.6,
"playbackRate": 1,
"autoplay": false,
"controls": false,
"loop": false,
"preload": "metadata",
"playsInline": true
},
"clockAdvanced": true
},
"explicitFinal": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": {
"name": "SecurityError",
"message": "Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data"
}
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
}
],
"directBindings": 0,
"contexts": [
"closed",
"closed",
"closed"
],
"streams": [
{
"active": false,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
]
},
{
"active": false,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
]
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
],
"chunks": [
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4168,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4237,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4251,
"pcmBytes": 3200,
"wavBytes": 3244
}
]
},
"annotations": []
},
{
"title": "ASR explicit capture + candidate: opaque media keeps native routing and same-origin capture recovers",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"core": "candidate",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"plugin": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"opaque": {
"opaque": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": {
"name": "SecurityError",
"message": "Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data"
}
}
],
"directBindings": 0,
"contexts": [
"closed"
],
"streams": [],
"retainedTracks": [],
"chunks": []
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
},
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
}
],
"consoleErrors": [
"[artplayerPluginAsr] Initialization failed: SecurityError: Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data\n at prototype.<computed> [as captureStream] (eval at evaluate (:311:30), <anonymous>:29:40)\n at t.initialize (<anonymous>:7:1749)\n at async <anonymous>:7:4905"
],
"properties": {
"src": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"crossOrigin": null,
"crossOriginAttribute": null,
"muted": false,
"defaultMuted": false,
"volume": 0.6,
"playbackRate": 1,
"autoplay": false,
"controls": false,
"loop": false,
"preload": "metadata",
"playsInline": true
},
"clockAdvanced": true
},
"explicitFinal": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": {
"name": "SecurityError",
"message": "Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data"
}
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
}
],
"directBindings": 0,
"contexts": [
"closed",
"closed",
"closed"
],
"streams": [
{
"active": false,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
]
},
{
"active": false,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
]
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
],
"chunks": [
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4249,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4224,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4179,
"pcmBytes": 3200,
"wavBytes": 3244
}
]
},
"annotations": []
},
{
"title": "ASR explicit capture + published: opaque media keeps native routing and same-origin capture recovers",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"core": "published",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"plugin": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"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
},
"opaque": {
"opaque": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": null
}
],
"directBindings": 0,
"contexts": [
"running"
],
"streams": [
{
"active": true,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "live"
}
]
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "live"
}
],
"chunks": []
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
}
],
"consoleErrors": [],
"properties": {
"src": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"crossOrigin": null,
"crossOriginAttribute": null,
"muted": false,
"defaultMuted": false,
"volume": 0.6,
"playbackRate": 1,
"autoplay": false,
"controls": false,
"loop": false,
"preload": "metadata",
"playsInline": true
},
"clockAdvanced": true
},
"explicitFinal": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
}
],
"directBindings": 0,
"contexts": [
"closed",
"closed",
"closed"
],
"streams": [
{
"active": false,
"tracks": []
},
{
"active": false,
"tracks": []
},
{
"active": false,
"tracks": []
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": true,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
],
"chunks": [
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4242,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4184,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4247,
"pcmBytes": 3200,
"wavBytes": 3244
}
]
},
"annotations": []
},
{
"title": "ASR explicit capture + candidate: opaque media keeps native routing and same-origin capture recovers",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"core": "candidate",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"plugin": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"opaque": {
"opaque": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": null
}
],
"directBindings": 0,
"contexts": [
"running"
],
"streams": [
{
"active": true,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "live"
}
]
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "live"
}
],
"chunks": []
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
}
],
"consoleErrors": [],
"properties": {
"src": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"crossOrigin": null,
"crossOriginAttribute": null,
"muted": false,
"defaultMuted": false,
"volume": 0.6,
"playbackRate": 1,
"autoplay": false,
"controls": false,
"loop": false,
"preload": "metadata",
"playsInline": true
},
"clockAdvanced": true
},
"explicitFinal": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
}
],
"directBindings": 0,
"contexts": [
"closed",
"closed",
"closed"
],
"streams": [
{
"active": false,
"tracks": []
},
{
"active": false,
"tracks": []
},
{
"active": false,
"tracks": []
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": true,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
],
"chunks": [
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4219,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4248,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4183,
"pcmBytes": 3200,
"wavBytes": 3244
}
]
},
"annotations": []
},
{
"title": "ASR explicit capture + published: opaque media keeps native routing and same-origin capture recovers",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"core": "published",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"plugin": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"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
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks AudioContext/AudioWorklet; this is not Safari/device CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-capture-cors.spec.js",
"line": 41,
"column": 12
}
}
]
},
{
"title": "ASR explicit capture + candidate: opaque media keeps native routing and same-origin capture recovers",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"core": "candidate",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"plugin": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks AudioContext/AudioWorklet; this is not Safari/device CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-capture-cors.spec.js",
"line": 41,
"column": 12
}
}
]
},
{
"title": "ASR candidate + published: anonymous-cors native audio access and source recovery",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published",
"scenario": "anonymous-cors",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"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
},
"cors": {
"initial": {
"outputMax": 0.12774023413658142,
"chunks": [
{
"max": 4255,
"source": "http://localhost:8084/test/asr-cors.m4a"
},
{
"max": 4250,
"source": "http://localhost:8084/test/asr-cors.m4a"
},
{
"max": 4248,
"source": "http://localhost:8084/test/asr-cors.m4a"
}
],
"time": 0.913627,
"paused": false,
"error": null,
"crossOrigin": "anonymous"
},
"recovery": {
"outputMax": 0.12964209914207458,
"chunks": [
{
"max": 4290,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.392,
"paused": false,
"error": null,
"crossOrigin": "anonymous"
},
"responses": [
{
"url": "http://localhost:8084/test/asr-cors.m4a",
"status": 206,
"allowOrigin": "*"
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + published: opaque native audio access and source recovery",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published",
"scenario": "opaque",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"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
},
"cors": {
"initial": {
"outputMax": 0,
"chunks": [
{
"max": 0,
"source": "http://localhost:8084/test/audio-tone.m4a"
},
{
"max": 0,
"source": "http://localhost:8084/test/audio-tone.m4a"
},
{
"max": 0,
"source": "http://localhost:8084/test/audio-tone.m4a"
}
],
"time": 0.906667,
"paused": false,
"error": null,
"crossOrigin": null
},
"recovery": {
"outputMax": 0.12964209914207458,
"chunks": [
{
"max": 4290,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.384,
"paused": false,
"error": null,
"crossOrigin": null
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a",
"status": 206,
"allowOrigin": null
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + published: opaque-redirect native audio access and source recovery",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published",
"scenario": "opaque-redirect",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"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
},
"cors": {
"initial": {
"outputMax": 0,
"chunks": [
{
"max": 0,
"source": "http://127.0.0.1:8084/test/asr-opaque-redirect"
},
{
"max": 0,
"source": "http://127.0.0.1:8084/test/asr-opaque-redirect"
},
{
"max": 0,
"source": "http://127.0.0.1:8084/test/asr-opaque-redirect"
}
],
"time": 0.886667,
"paused": false,
"error": null,
"crossOrigin": null
},
"recovery": {
"outputMax": 0.12964209914207458,
"chunks": [
{
"max": 4290,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.392,
"paused": false,
"error": null,
"crossOrigin": null
},
"responses": [
{
"url": "http://127.0.0.1:8084/test/asr-opaque-redirect",
"status": 302,
"allowOrigin": null
},
{
"url": "http://localhost:8084/test/audio-tone.m4a",
"status": 206,
"allowOrigin": null
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + candidate: anonymous-cors native audio access and source recovery",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "candidate",
"scenario": "anonymous-cors",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"cors": {
"initial": {
"outputMax": 0.1273600161075592,
"chunks": [
{
"max": 4260,
"source": "http://localhost:8084/test/asr-cors.m4a"
},
{
"max": 4190,
"source": "http://localhost:8084/test/asr-cors.m4a"
},
{
"max": 4255,
"source": "http://localhost:8084/test/asr-cors.m4a"
}
],
"time": 0.892382,
"paused": false,
"error": null,
"crossOrigin": "anonymous"
},
"recovery": {
"outputMax": 0.12964209914207458,
"chunks": [
{
"max": 4290,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.384,
"paused": false,
"error": null,
"crossOrigin": "anonymous"
},
"responses": [
{
"url": "http://localhost:8084/test/asr-cors.m4a",
"status": 206,
"allowOrigin": "*"
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + candidate: opaque native audio access and source recovery",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "candidate",
"scenario": "opaque",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"cors": {
"initial": {
"outputMax": 0,
"chunks": [
{
"max": 0,
"source": "http://localhost:8084/test/audio-tone.m4a"
},
{
"max": 0,
"source": "http://localhost:8084/test/audio-tone.m4a"
},
{
"max": 0,
"source": "http://localhost:8084/test/audio-tone.m4a"
}
],
"time": 0.886667,
"paused": false,
"error": null,
"crossOrigin": null
},
"recovery": {
"outputMax": 0.12970227003097534,
"chunks": [
{
"max": 4290,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.376,
"paused": false,
"error": null,
"crossOrigin": null
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a",
"status": 206,
"allowOrigin": null
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + candidate: opaque-redirect native audio access and source recovery",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "candidate",
"scenario": "opaque-redirect",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"cors": {
"initial": {
"outputMax": 0,
"chunks": [
{
"max": 0,
"source": "http://127.0.0.1:8084/test/asr-opaque-redirect"
},
{
"max": 0,
"source": "http://127.0.0.1:8084/test/asr-opaque-redirect"
},
{
"max": 0,
"source": "http://127.0.0.1:8084/test/asr-opaque-redirect"
}
],
"time": 0.874667,
"paused": false,
"error": null,
"crossOrigin": null
},
"recovery": {
"outputMax": 0.12970227003097534,
"chunks": [
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4247,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.373421,
"paused": false,
"error": null,
"crossOrigin": null
},
"responses": [
{
"url": "http://127.0.0.1:8084/test/asr-opaque-redirect",
"status": 302,
"allowOrigin": null
},
{
"url": "http://localhost:8084/test/audio-tone.m4a",
"status": 206,
"allowOrigin": null
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + published: anonymous-cors native audio access and source recovery",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published",
"scenario": "anonymous-cors",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"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
},
"cors": {
"initial": {
"outputMax": 0.12736152112483978,
"chunks": [
{
"max": 4190,
"source": "http://localhost:8084/test/asr-cors.m4a"
},
{
"max": 4255,
"source": "http://localhost:8084/test/asr-cors.m4a"
},
{
"max": 4248,
"source": "http://localhost:8084/test/asr-cors.m4a"
}
],
"time": 0.868833,
"paused": false,
"error": null,
"crossOrigin": "anonymous"
},
"recovery": {
"outputMax": 0.12957505881786346,
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.368,
"paused": false,
"error": null,
"crossOrigin": "anonymous"
},
"responses": [
{
"url": "http://localhost:8084/test/asr-cors.m4a",
"status": 206,
"allowOrigin": "*"
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + published: opaque native audio access and source recovery",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published",
"scenario": "opaque",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"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
},
"cors": {
"initial": {
"outputMax": 0,
"chunks": [],
"time": 1.968,
"paused": false,
"error": null,
"crossOrigin": null
},
"recovery": {
"outputMax": 0.12957505881786346,
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.368,
"paused": false,
"error": null,
"crossOrigin": null
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a",
"status": 206,
"allowOrigin": null
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + published: opaque-redirect native audio access and source recovery",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published",
"scenario": "opaque-redirect",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"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
},
"cors": {
"initial": {
"outputMax": 0,
"chunks": [],
"time": 1.984,
"paused": false,
"error": null,
"crossOrigin": null
},
"recovery": {
"outputMax": 0.12957505881786346,
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.368,
"paused": false,
"error": null,
"crossOrigin": null
},
"responses": [
{
"url": "http://127.0.0.1:8084/test/asr-opaque-redirect",
"status": 302,
"allowOrigin": null
},
{
"url": "http://localhost:8084/test/audio-tone.m4a",
"status": 206,
"allowOrigin": null
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + candidate: anonymous-cors native audio access and source recovery",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "candidate",
"scenario": "anonymous-cors",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"cors": {
"initial": {
"outputMax": 0.12966568768024445,
"chunks": [
{
"max": 4190,
"source": "http://localhost:8084/test/asr-cors.m4a"
},
{
"max": 4255,
"source": "http://localhost:8084/test/asr-cors.m4a"
},
{
"max": 4248,
"source": "http://localhost:8084/test/asr-cors.m4a"
}
],
"time": 0.82902,
"paused": false,
"error": null,
"crossOrigin": "anonymous"
},
"recovery": {
"outputMax": 0.12957505881786346,
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.4,
"paused": false,
"error": null,
"crossOrigin": "anonymous"
},
"responses": [
{
"url": "http://localhost:8084/test/asr-cors.m4a",
"status": 206,
"allowOrigin": "*"
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + candidate: opaque native audio access and source recovery",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "candidate",
"scenario": "opaque",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"cors": {
"initial": {
"outputMax": 0,
"chunks": [],
"time": 2.011666,
"paused": false,
"error": null,
"crossOrigin": null
},
"recovery": {
"outputMax": 0.12976472079753876,
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.36,
"paused": false,
"error": null,
"crossOrigin": null
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a",
"status": 206,
"allowOrigin": null
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + candidate: opaque-redirect native audio access and source recovery",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "candidate",
"scenario": "opaque-redirect",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"cors": {
"initial": {
"outputMax": 0,
"chunks": [],
"time": 1.984,
"paused": false,
"error": null,
"crossOrigin": null
},
"recovery": {
"outputMax": 0.12957505881786346,
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.368,
"paused": false,
"error": null,
"crossOrigin": null
},
"responses": [
{
"url": "http://127.0.0.1:8084/test/asr-opaque-redirect",
"status": 302,
"allowOrigin": null
},
{
"url": "http://localhost:8084/test/audio-tone.m4a",
"status": 206,
"allowOrigin": null
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + published: anonymous-cors native audio access and source recovery",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js",
"line": 26,
"column": 16
}
}
]
},
{
"title": "ASR candidate + published: opaque native audio access and source recovery",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js",
"line": 26,
"column": 16
}
}
]
},
{
"title": "ASR candidate + published: opaque-redirect native audio access and source recovery",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js",
"line": 26,
"column": 16
}
}
]
},
{
"title": "ASR candidate + candidate: anonymous-cors native audio access and source recovery",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js",
"line": 26,
"column": 16
}
}
]
},
{
"title": "ASR candidate + candidate: opaque native audio access and source recovery",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js",
"line": 26,
"column": 16
}
}
]
},
{
"title": "ASR candidate + candidate: opaque-redirect native audio access and source recovery",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js",
"line": 26,
"column": 16
}
}
]
},
{
"title": "ASR candidate + published-5.3.0: native capture fallback does not create a second audible route",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"captureOnly": false,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Native duplicate binding rejection",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"fallback": {
"playing": {
"external": 0.08779609911638686,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 1
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4264,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 1
}
},
"restart": {
"external": 0.0889365128761472,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4158,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4250,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
},
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
},
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 3
},
"annotations": []
},
{
"title": "ASR candidate + published: native capture fallback does not create a second audible route",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published",
"captureOnly": false,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Native duplicate binding rejection",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"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
},
"fallback": {
"playing": {
"external": 0.08779609911638686,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 1
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4305,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 1
}
},
"restart": {
"external": 0.08862216379888067,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4299,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
},
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
},
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 3
},
"annotations": []
},
{
"title": "ASR candidate + candidate: native capture fallback does not create a second audible route",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "candidate",
"captureOnly": false,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Native duplicate binding rejection",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"fallback": {
"playing": {
"external": 0.08772112125105311,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 1
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4264,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 1
}
},
"restart": {
"external": 0.08862216379888067,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4290,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
},
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
},
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 3
},
"annotations": []
},
{
"title": "ASR candidate capture + published-5.3.0: native capture fallback does not create a second audible route",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"captureOnly": true,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"fallback": {
"playing": {
"external": 0.08759580548385439,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4264,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.0889365128761472,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4290,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate capture + published: native capture fallback does not create a second audible route",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published",
"captureOnly": true,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"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
},
"fallback": {
"playing": {
"external": 0.08759580548385439,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4264,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.08869046588295236,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4211,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4247,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate capture + candidate: native capture fallback does not create a second audible route",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "candidate",
"captureOnly": true,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"fallback": {
"playing": {
"external": 0.08762481388661633,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4264,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.08869046588295236,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4247,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate + published-5.3.0: native capture fallback does not create a second audible route",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"captureOnly": false,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"forcedException": true,
"reason": "Firefox permits a second native media source; force only binding rejection to reach real captureStream/Worklet",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"fallback": {
"playing": {
"external": 0.08791119445452536,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 1
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4264,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 1
}
},
"restart": {
"external": 0.08789785569817585,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4248,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
},
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
},
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 3
},
"annotations": []
},
{
"title": "ASR candidate + published: native capture fallback does not create a second audible route",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published",
"captureOnly": false,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"forcedException": true,
"reason": "Firefox permits a second native media source; force only binding rejection to reach real captureStream/Worklet",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"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
},
"fallback": {
"playing": {
"external": 0.08778351516353888,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 1
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4264,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 1
}
},
"restart": {
"external": 0.08791736763772941,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
},
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
},
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 3
},
"annotations": []
},
{
"title": "ASR candidate + candidate: native capture fallback does not create a second audible route",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "candidate",
"captureOnly": false,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"forcedException": true,
"reason": "Firefox permits a second native media source; force only binding rejection to reach real captureStream/Worklet",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"fallback": {
"playing": {
"external": 0.08906111312585639,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4252,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 1
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4248,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 1
}
},
"restart": {
"external": 0.08895963860169126,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
},
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
},
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 3
},
"annotations": []
},
{
"title": "ASR candidate capture + published-5.3.0: native capture fallback does not create a second audible route",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"captureOnly": true,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"fallback": {
"playing": {
"external": 0.08895963860169126,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4252,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4248,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.08866202715264984,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate capture + published: native capture fallback does not create a second audible route",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published",
"captureOnly": true,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"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
},
"fallback": {
"playing": {
"external": 0.08808024336011813,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4252,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4248,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.08789785569817585,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate capture + candidate: native capture fallback does not create a second audible route",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "candidate",
"captureOnly": true,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"fallback": {
"playing": {
"external": 0.08830393306342403,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4252,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4248,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.08778351516353888,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4248,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate + published-5.3.0: native capture fallback does not create a second audible route",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"captureOnly": false,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Native duplicate binding rejection",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit has no native WebAudio",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js",
"line": 26,
"column": 14
}
}
]
},
{
"title": "ASR candidate + published: native capture fallback does not create a second audible route",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "published",
"captureOnly": false,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Native duplicate binding rejection",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"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
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit has no native WebAudio",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js",
"line": 26,
"column": 14
}
}
]
},
{
"title": "ASR candidate + candidate: native capture fallback does not create a second audible route",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "candidate",
"captureOnly": false,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Native duplicate binding rejection",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit has no native WebAudio",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js",
"line": 26,
"column": 14
}
}
]
},
{
"title": "ASR candidate capture + published-5.3.0: native capture fallback does not create a second audible route",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"captureOnly": true,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit has no native WebAudio",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js",
"line": 26,
"column": 14
}
}
]
},
{
"title": "ASR candidate capture + published: native capture fallback does not create a second audible route",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "published",
"captureOnly": true,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"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
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit has no native WebAudio",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js",
"line": 26,
"column": 14
}
}
]
},
{
"title": "ASR candidate capture + candidate: native capture fallback does not create a second audible route",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "candidate",
"captureOnly": true,
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit has no native WebAudio",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js",
"line": 26,
"column": 14
}
}
]
},
{
"title": "ASR candidate + published-5.3.0: native playback volume and mute",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"meter": "Native unity analyser inserted between plugin gain and destination",
"physicalAudioOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"annotations": []
},
{
"title": "ASR candidate + published: native playback volume and mute",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"meter": "Native unity analyser inserted between plugin gain and destination",
"physicalAudioOutput": false
},
"core": {
"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
},
"annotations": []
},
{
"title": "ASR candidate + candidate: native playback volume and mute",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "candidate",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"meter": "Native unity analyser inserted between plugin gain and destination",
"physicalAudioOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": []
},
{
"title": "ASR candidate + published-5.3.0: native playback volume and mute",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"meter": "Native unity analyser inserted between plugin gain and destination",
"physicalAudioOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"annotations": []
},
{
"title": "ASR candidate + published: native playback volume and mute",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"meter": "Native unity analyser inserted between plugin gain and destination",
"physicalAudioOutput": false
},
"core": {
"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
},
"annotations": []
},
{
"title": "ASR candidate + candidate: native playback volume and mute",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "candidate",
"pluginSha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"meter": "Native unity analyser inserted between plugin gain and destination",
"physicalAudioOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": []
},
{
"title": "ASR candidate + published-5.3.0: native playback volume and mute",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native AudioContext/AudioWorkletNode",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-playback.spec.js",
"line": 24,
"column": 14
}
}
]
},
{
"title": "ASR candidate + published: native playback volume and mute",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native AudioContext/AudioWorkletNode",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-playback.spec.js",
"line": 24,
"column": 14
}
}
]
},
{
"title": "ASR candidate + candidate: native playback volume and mute",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native AudioContext/AudioWorkletNode",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-playback.spec.js",
"line": 24,
"column": 14
}
}
]
}
]
},
{
"mode": "legacy",
"file": "refactor/.cache/asr09-browser-legacy/report.json",
"sha256": "78282539f961f4364be29145d9c7fb3178bfdf310c7e892da47c9a6d1ac91c38",
"passed": 48,
"skipped": 24,
"rows": [
{
"title": "published core + ASR/audio-track: pause, update, ASR stop and destroy preserve separate ownership",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"sha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "published",
"audioFirst": true
},
"core": {
"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
},
"annotations": []
},
{
"title": "published core + ASR/audio-track: capture follows main media, not the independent audible track",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"sha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "published",
"audioFirst": false
},
"core": {
"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
},
"annotations": []
},
{
"title": "candidate core + ASR/audio-track: pause, update, ASR stop and destroy preserve separate ownership",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"sha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "candidate",
"audioFirst": true
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": []
},
{
"title": "candidate core + ASR/audio-track: capture follows main media, not the independent audible track",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"sha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "candidate",
"audioFirst": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": []
},
{
"title": "published core + ASR/audio-track: pause, update, ASR stop and destroy preserve separate ownership",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"sha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "published",
"audioFirst": true
},
"core": {
"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
},
"annotations": []
},
{
"title": "published core + ASR/audio-track: capture follows main media, not the independent audible track",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"sha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "published",
"audioFirst": false
},
"core": {
"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
},
"annotations": []
},
{
"title": "candidate core + ASR/audio-track: pause, update, ASR stop and destroy preserve separate ownership",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"sha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "candidate",
"audioFirst": true
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": []
},
{
"title": "candidate core + ASR/audio-track: capture follows main media, not the independent audible track",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"sha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "candidate",
"audioFirst": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": []
},
{
"title": "published core + ASR/audio-track: pause, update, ASR stop and destroy preserve separate ownership",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"sha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "published",
"audioFirst": true
},
"core": {
"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
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native AudioContext/AudioWorklet; Safari and physical-device composition remain unverified",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio-track.spec.js",
"line": 35,
"column": 10
}
}
]
},
{
"title": "published core + ASR/audio-track: capture follows main media, not the independent audible track",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"sha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "published",
"audioFirst": false
},
"core": {
"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
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native AudioContext/AudioWorklet; Safari and physical-device composition remain unverified",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio-track.spec.js",
"line": 35,
"column": 10
}
}
]
},
{
"title": "candidate core + ASR/audio-track: pause, update, ASR stop and destroy preserve separate ownership",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"sha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "candidate",
"audioFirst": true
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native AudioContext/AudioWorklet; Safari and physical-device composition remain unverified",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio-track.spec.js",
"line": 35,
"column": 10
}
}
]
},
{
"title": "candidate core + ASR/audio-track: capture follows main media, not the independent audible track",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"asr": {
"input": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"sha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697"
},
"audioTrack": {
"input": "workspace source",
"sha256": "c4b37388ecf38c4c33dc172895d2d76d1ffca2587628c01b11b38cfe1852c713"
},
"media": {
"file": "test/browser/media/audio-tone.m4a",
"sha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"bytes": 132436
},
"recognitionService": false,
"scope": "Native media/WebAudio composition; not physical speaker, device, or isolated package acceptance",
"core": "candidate",
"audioFirst": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native AudioContext/AudioWorklet; Safari and physical-device composition remain unverified",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio-track.spec.js",
"line": 35,
"column": 10
}
}
]
},
{
"title": "ASR candidate + published-5.3.0: native Worklet supplies local PCM with owned stop and destroy",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"annotations": []
},
{
"title": "ASR candidate + published: native Worklet supplies local PCM with owned stop and destroy",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"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
},
"annotations": []
},
{
"title": "ASR candidate + candidate: native Worklet supplies local PCM with owned stop and destroy",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "candidate",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": []
},
{
"title": "ASR candidate + published-5.3.0: native Worklet supplies local PCM with owned stop and destroy",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"annotations": []
},
{
"title": "ASR candidate + published: native Worklet supplies local PCM with owned stop and destroy",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"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
},
"annotations": []
},
{
"title": "ASR candidate + candidate: native Worklet supplies local PCM with owned stop and destroy",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "candidate",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": []
},
{
"title": "ASR candidate + published-5.3.0: native Worklet supplies local PCM with owned stop and destroy",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit 26.6 has no AudioContext/AudioWorkletNode; native ASR acceptance remains open",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio.spec.js",
"line": 30,
"column": 14
}
}
]
},
{
"title": "ASR candidate + published: native Worklet supplies local PCM with owned stop and destroy",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "published",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"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
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit 26.6 has no AudioContext/AudioWorkletNode; native ASR acceptance remains open",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio.spec.js",
"line": 30,
"column": 14
}
}
]
},
{
"title": "ASR candidate + candidate: native Worklet supplies local PCM with owned stop and destroy",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "candidate",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"integrity": null,
"candidate": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"media": "local mono AAC 440 Hz tone",
"networkService": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit 26.6 has no AudioContext/AudioWorkletNode; native ASR acceptance remains open",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-audio.spec.js",
"line": 30,
"column": 14
}
}
]
},
{
"title": "ASR explicit capture + published: opaque media keeps native routing and same-origin capture recovers",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"core": "published",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"plugin": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"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
},
"opaque": {
"opaque": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": {
"name": "SecurityError",
"message": "Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data"
}
}
],
"directBindings": 0,
"contexts": [
"closed"
],
"streams": [],
"retainedTracks": [],
"chunks": []
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
},
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
}
],
"consoleErrors": [
"[artplayerPluginAsr] Initialization failed: SecurityError: Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data\n at prototype.<computed> [as captureStream] (eval at evaluate (:311:30), <anonymous>:29:40)\n at e.<anonymous> (<anonymous>:7:1996)\n at Generator.next (<anonymous>)\n at r (<anonymous>:7:364)"
],
"properties": {
"src": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"crossOrigin": null,
"crossOriginAttribute": null,
"muted": false,
"defaultMuted": false,
"volume": 0.6,
"playbackRate": 1,
"autoplay": false,
"controls": false,
"loop": false,
"preload": "metadata",
"playsInline": true
},
"clockAdvanced": true
},
"explicitFinal": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": {
"name": "SecurityError",
"message": "Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data"
}
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
}
],
"directBindings": 0,
"contexts": [
"closed",
"closed",
"closed"
],
"streams": [
{
"active": false,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
]
},
{
"active": false,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
]
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
],
"chunks": [
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4241,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4215,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4237,
"pcmBytes": 3200,
"wavBytes": 3244
}
]
},
"annotations": []
},
{
"title": "ASR explicit capture + candidate: opaque media keeps native routing and same-origin capture recovers",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"core": "candidate",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"plugin": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"opaque": {
"opaque": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": {
"name": "SecurityError",
"message": "Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data"
}
}
],
"directBindings": 0,
"contexts": [
"closed"
],
"streams": [],
"retainedTracks": [],
"chunks": []
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
},
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
}
],
"consoleErrors": [
"[artplayerPluginAsr] Initialization failed: SecurityError: Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data\n at prototype.<computed> [as captureStream] (eval at evaluate (:311:30), <anonymous>:29:40)\n at e.<anonymous> (<anonymous>:7:1996)\n at Generator.next (<anonymous>)\n at r (<anonymous>:7:364)"
],
"properties": {
"src": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"crossOrigin": null,
"crossOriginAttribute": null,
"muted": false,
"defaultMuted": false,
"volume": 0.6,
"playbackRate": 1,
"autoplay": false,
"controls": false,
"loop": false,
"preload": "metadata",
"playsInline": true
},
"clockAdvanced": true
},
"explicitFinal": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": {
"name": "SecurityError",
"message": "Failed to execute 'captureStream' on 'HTMLMediaElement': Cannot capture from element with cross-origin data"
}
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
}
],
"directBindings": 0,
"contexts": [
"closed",
"closed",
"closed"
],
"streams": [
{
"active": false,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
]
},
{
"active": false,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
]
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
],
"chunks": [
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4154,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4202,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4251,
"pcmBytes": 3200,
"wavBytes": 3244
}
]
},
"annotations": []
},
{
"title": "ASR explicit capture + published: opaque media keeps native routing and same-origin capture recovers",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"core": "published",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"plugin": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"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
},
"opaque": {
"opaque": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": null
}
],
"directBindings": 0,
"contexts": [
"running"
],
"streams": [
{
"active": true,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "live"
}
]
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "live"
}
],
"chunks": []
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
}
],
"consoleErrors": [],
"properties": {
"src": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"crossOrigin": null,
"crossOriginAttribute": null,
"muted": false,
"defaultMuted": false,
"volume": 0.6,
"playbackRate": 1,
"autoplay": false,
"controls": false,
"loop": false,
"preload": "metadata",
"playsInline": true
},
"clockAdvanced": true
},
"explicitFinal": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
}
],
"directBindings": 0,
"contexts": [
"closed",
"closed",
"closed"
],
"streams": [
{
"active": false,
"tracks": []
},
{
"active": false,
"tracks": []
},
{
"active": false,
"tracks": []
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": true,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
],
"chunks": [
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4256,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4221,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4213,
"pcmBytes": 3200,
"wavBytes": 3244
}
]
},
"annotations": []
},
{
"title": "ASR explicit capture + candidate: opaque media keeps native routing and same-origin capture recovers",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"core": "candidate",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"plugin": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"opaque": {
"opaque": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": null
}
],
"directBindings": 0,
"contexts": [
"running"
],
"streams": [
{
"active": true,
"tracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "live"
}
]
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "live"
}
],
"chunks": []
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"status": 206,
"allowOrigin": null
}
],
"consoleErrors": [],
"properties": {
"src": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"crossOrigin": null,
"crossOriginAttribute": null,
"muted": false,
"defaultMuted": false,
"volume": 0.6,
"playbackRate": 1,
"autoplay": false,
"controls": false,
"loop": false,
"preload": "metadata",
"playsInline": true
},
"clockAdvanced": true
},
"explicitFinal": {
"attempts": [
{
"source": "http://localhost:8084/test/audio-tone.m4a?capture-cors=opaque",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"error": null
}
],
"directBindings": 0,
"contexts": [
"closed",
"closed",
"closed"
],
"streams": [
{
"active": false,
"tracks": []
},
{
"active": false,
"tracks": []
},
{
"active": false,
"tracks": []
}
],
"retainedTracks": [
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": true,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
},
{
"kind": "audio",
"muted": false,
"enabled": true,
"readyState": "ended"
}
],
"chunks": [
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4304,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4204,
"pcmBytes": 3200,
"wavBytes": 3244
},
{
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?capture-cors=recovery",
"peak": 4238,
"pcmBytes": 3200,
"wavBytes": 3244
}
]
},
"annotations": []
},
{
"title": "ASR explicit capture + published: opaque media keeps native routing and same-origin capture recovers",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"core": "published",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"plugin": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"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
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks AudioContext/AudioWorklet; this is not Safari/device CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-capture-cors.spec.js",
"line": 41,
"column": 12
}
}
]
},
{
"title": "ASR explicit capture + candidate: opaque media keeps native routing and same-origin capture recovers",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"core": "candidate",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"plugin": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"nativeCapture": true,
"forcedException": false,
"analyserBinding": false,
"physicalAudioOutput": false,
"scope": "Zero direct bindings and native media clock progression preserve routing; no claim about physical speaker output"
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks AudioContext/AudioWorklet; this is not Safari/device CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-capture-cors.spec.js",
"line": 41,
"column": 12
}
}
]
},
{
"title": "ASR candidate + published: anonymous-cors native audio access and source recovery",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published",
"scenario": "anonymous-cors",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"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
},
"cors": {
"initial": {
"outputMax": 0.1273600161075592,
"chunks": [
{
"max": 4255,
"source": "http://localhost:8084/test/asr-cors.m4a"
},
{
"max": 4250,
"source": "http://localhost:8084/test/asr-cors.m4a"
},
{
"max": 4248,
"source": "http://localhost:8084/test/asr-cors.m4a"
}
],
"time": 0.904151,
"paused": false,
"error": null,
"crossOrigin": "anonymous"
},
"recovery": {
"outputMax": 0.12970227003097534,
"chunks": [
{
"max": 4290,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.376,
"paused": false,
"error": null,
"crossOrigin": "anonymous"
},
"responses": [
{
"url": "http://localhost:8084/test/asr-cors.m4a",
"status": 206,
"allowOrigin": "*"
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + published: opaque native audio access and source recovery",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published",
"scenario": "opaque",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"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
},
"cors": {
"initial": {
"outputMax": 0,
"chunks": [
{
"max": 0,
"source": "http://localhost:8084/test/audio-tone.m4a"
},
{
"max": 0,
"source": "http://localhost:8084/test/audio-tone.m4a"
},
{
"max": 0,
"source": "http://localhost:8084/test/audio-tone.m4a"
}
],
"time": 0.914667,
"paused": false,
"error": null,
"crossOrigin": null
},
"recovery": {
"outputMax": 0.12964209914207458,
"chunks": [
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4247,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.384,
"paused": false,
"error": null,
"crossOrigin": null
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a",
"status": 206,
"allowOrigin": null
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + published: opaque-redirect native audio access and source recovery",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published",
"scenario": "opaque-redirect",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"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
},
"cors": {
"initial": {
"outputMax": 0,
"chunks": [
{
"max": 0,
"source": "http://127.0.0.1:8084/test/asr-opaque-redirect"
},
{
"max": 0,
"source": "http://127.0.0.1:8084/test/asr-opaque-redirect"
},
{
"max": 0,
"source": "http://127.0.0.1:8084/test/asr-opaque-redirect"
}
],
"time": 0.902278,
"paused": false,
"error": null,
"crossOrigin": null
},
"recovery": {
"outputMax": 0.12970227003097534,
"chunks": [
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4247,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.374666,
"paused": false,
"error": null,
"crossOrigin": null
},
"responses": [
{
"url": "http://127.0.0.1:8084/test/asr-opaque-redirect",
"status": 302,
"allowOrigin": null
},
{
"url": "http://localhost:8084/test/audio-tone.m4a",
"status": 206,
"allowOrigin": null
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + candidate: anonymous-cors native audio access and source recovery",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "candidate",
"scenario": "anonymous-cors",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"cors": {
"initial": {
"outputMax": 0.1273600161075592,
"chunks": [
{
"max": 4260,
"source": "http://localhost:8084/test/asr-cors.m4a"
},
{
"max": 4190,
"source": "http://localhost:8084/test/asr-cors.m4a"
},
{
"max": 4255,
"source": "http://localhost:8084/test/asr-cors.m4a"
}
],
"time": 0.89359,
"paused": false,
"error": null,
"crossOrigin": "anonymous"
},
"recovery": {
"outputMax": 0.12964209914207458,
"chunks": [
{
"max": 4290,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.390899,
"paused": false,
"error": null,
"crossOrigin": "anonymous"
},
"responses": [
{
"url": "http://localhost:8084/test/asr-cors.m4a",
"status": 206,
"allowOrigin": "*"
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + candidate: opaque native audio access and source recovery",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "candidate",
"scenario": "opaque",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"cors": {
"initial": {
"outputMax": 0,
"chunks": [
{
"max": 0,
"source": "http://localhost:8084/test/audio-tone.m4a"
},
{
"max": 0,
"source": "http://localhost:8084/test/audio-tone.m4a"
},
{
"max": 0,
"source": "http://localhost:8084/test/audio-tone.m4a"
}
],
"time": 0.866667,
"paused": false,
"error": null,
"crossOrigin": null
},
"recovery": {
"outputMax": 0.12970227003097534,
"chunks": [
{
"max": 4290,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.376,
"paused": false,
"error": null,
"crossOrigin": null
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a",
"status": 206,
"allowOrigin": null
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + candidate: opaque-redirect native audio access and source recovery",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "candidate",
"scenario": "opaque-redirect",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"cors": {
"initial": {
"outputMax": 0,
"chunks": [
{
"max": 0,
"source": "http://127.0.0.1:8084/test/asr-opaque-redirect"
},
{
"max": 0,
"source": "http://127.0.0.1:8084/test/asr-opaque-redirect"
},
{
"max": 0,
"source": "http://127.0.0.1:8084/test/asr-opaque-redirect"
}
],
"time": 0.913871,
"paused": false,
"error": null,
"crossOrigin": null
},
"recovery": {
"outputMax": 0.12964209914207458,
"chunks": [
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4247,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.392,
"paused": false,
"error": null,
"crossOrigin": null
},
"responses": [
{
"url": "http://127.0.0.1:8084/test/asr-opaque-redirect",
"status": 302,
"allowOrigin": null
},
{
"url": "http://localhost:8084/test/audio-tone.m4a",
"status": 206,
"allowOrigin": null
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + published: anonymous-cors native audio access and source recovery",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published",
"scenario": "anonymous-cors",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"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
},
"cors": {
"initial": {
"outputMax": 0.12966568768024445,
"chunks": [
{
"max": 4190,
"source": "http://localhost:8084/test/asr-cors.m4a"
},
{
"max": 4255,
"source": "http://localhost:8084/test/asr-cors.m4a"
},
{
"max": 4248,
"source": "http://localhost:8084/test/asr-cors.m4a"
}
],
"time": 0.848,
"paused": false,
"error": null,
"crossOrigin": "anonymous"
},
"recovery": {
"outputMax": 0.12957505881786346,
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.368,
"paused": false,
"error": null,
"crossOrigin": "anonymous"
},
"responses": [
{
"url": "http://localhost:8084/test/asr-cors.m4a",
"status": 206,
"allowOrigin": "*"
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + published: opaque native audio access and source recovery",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published",
"scenario": "opaque",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"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
},
"cors": {
"initial": {
"outputMax": 0,
"chunks": [],
"time": 1.006958,
"paused": false,
"error": null,
"crossOrigin": null
},
"recovery": {
"outputMax": 0.12957505881786346,
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.376,
"paused": false,
"error": null,
"crossOrigin": null
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a",
"status": 206,
"allowOrigin": null
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + published: opaque-redirect native audio access and source recovery",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published",
"scenario": "opaque-redirect",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"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
},
"cors": {
"initial": {
"outputMax": 0,
"chunks": [],
"time": 1.976,
"paused": false,
"error": null,
"crossOrigin": null
},
"recovery": {
"outputMax": 0.12957505881786346,
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.376,
"paused": false,
"error": null,
"crossOrigin": null
},
"responses": [
{
"url": "http://127.0.0.1:8084/test/asr-opaque-redirect",
"status": 302,
"allowOrigin": null
},
{
"url": "http://localhost:8084/test/audio-tone.m4a",
"status": 206,
"allowOrigin": null
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + candidate: anonymous-cors native audio access and source recovery",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "candidate",
"scenario": "anonymous-cors",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"cors": {
"initial": {
"outputMax": 0.12966568768024445,
"chunks": [
{
"max": 4190,
"source": "http://localhost:8084/test/asr-cors.m4a"
},
{
"max": 4255,
"source": "http://localhost:8084/test/asr-cors.m4a"
},
{
"max": 4248,
"source": "http://localhost:8084/test/asr-cors.m4a"
}
],
"time": 0.808,
"paused": false,
"error": null,
"crossOrigin": "anonymous"
},
"recovery": {
"outputMax": 0.12957505881786346,
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.36,
"paused": false,
"error": null,
"crossOrigin": "anonymous"
},
"responses": [
{
"url": "http://localhost:8084/test/asr-cors.m4a",
"status": 206,
"allowOrigin": "*"
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + candidate: opaque native audio access and source recovery",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "candidate",
"scenario": "opaque",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"cors": {
"initial": {
"outputMax": 0,
"chunks": [],
"time": 1.972333,
"paused": false,
"error": null,
"crossOrigin": null
},
"recovery": {
"outputMax": 0.12957505881786346,
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.368,
"paused": false,
"error": null,
"crossOrigin": null
},
"responses": [
{
"url": "http://localhost:8084/test/audio-tone.m4a",
"status": 206,
"allowOrigin": null
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + candidate: opaque-redirect native audio access and source recovery",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "candidate",
"scenario": "opaque-redirect",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"physicalAudioOutput": false,
"securityBypass": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"cors": {
"initial": {
"outputMax": 0,
"chunks": [],
"time": 2.001979,
"paused": false,
"error": null,
"crossOrigin": null
},
"recovery": {
"outputMax": 0.12957505881786346,
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery"
}
],
"time": 0.376,
"paused": false,
"error": null,
"crossOrigin": null
},
"responses": [
{
"url": "http://127.0.0.1:8084/test/asr-opaque-redirect",
"status": 302,
"allowOrigin": null
},
{
"url": "http://localhost:8084/test/audio-tone.m4a",
"status": 206,
"allowOrigin": null
},
{
"url": "http://127.0.0.1:8084/test/audio-tone.m4a?asr-cors=recovery",
"status": 206,
"allowOrigin": null
}
]
},
"annotations": []
},
{
"title": "ASR candidate + published: anonymous-cors native audio access and source recovery",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js",
"line": 26,
"column": 16
}
}
]
},
{
"title": "ASR candidate + published: opaque native audio access and source recovery",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js",
"line": 26,
"column": 16
}
}
]
},
{
"title": "ASR candidate + published: opaque-redirect native audio access and source recovery",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js",
"line": 26,
"column": 16
}
}
]
},
{
"title": "ASR candidate + candidate: anonymous-cors native audio access and source recovery",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js",
"line": 26,
"column": 16
}
}
]
},
{
"title": "ASR candidate + candidate: opaque native audio access and source recovery",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js",
"line": 26,
"column": 16
}
}
]
},
{
"title": "ASR candidate + candidate: opaque-redirect native audio access and source recovery",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native WebAudio; this is not Safari CORS acceptance",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-cors.spec.js",
"line": 26,
"column": 16
}
}
]
},
{
"title": "ASR candidate + published-5.3.0: native capture fallback does not create a second audible route",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"captureOnly": false,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Native duplicate binding rejection",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"fallback": {
"playing": {
"external": 0.08916705692979744,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4233,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4393,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 1
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4248,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 1
}
},
"restart": {
"external": 0.08869046588295236,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4312,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4247,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
},
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
},
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 3
},
"annotations": []
},
{
"title": "ASR candidate + published: native capture fallback does not create a second audible route",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published",
"captureOnly": false,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Native duplicate binding rejection",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"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
},
"fallback": {
"playing": {
"external": 0.08864518732424151,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4310,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 1
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 1
}
},
"restart": {
"external": 0.08869046588295236,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4247,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
},
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
},
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 3
},
"annotations": []
},
{
"title": "ASR candidate + candidate: native capture fallback does not create a second audible route",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "candidate",
"captureOnly": false,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Native duplicate binding rejection",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"fallback": {
"playing": {
"external": 0.08759580548385439,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 1
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4264,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 1
}
},
"restart": {
"external": 0.08862216379888067,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4245,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
},
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
},
{
"name": "InvalidStateError",
"message": "Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode."
}
],
"directCalls": 3
},
"annotations": []
},
{
"title": "ASR candidate capture + published-5.3.0: native capture fallback does not create a second audible route",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"captureOnly": true,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"fallback": {
"playing": {
"external": 0.08916705692979744,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4233,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4248,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.08896275868833134,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4250,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate capture + published: native capture fallback does not create a second audible route",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published",
"captureOnly": true,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"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
},
"fallback": {
"playing": {
"external": 0.08759580548385439,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4264,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.08869046588295236,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4251,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate capture + candidate: native capture fallback does not create a second audible route",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "candidate",
"captureOnly": true,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"fallback": {
"playing": {
"external": 0.08876977731692302,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4157,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.08862216379888067,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4192,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4263,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4250,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate + published-5.3.0: native capture fallback does not create a second audible route",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"captureOnly": false,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"forcedException": true,
"reason": "Firefox permits a second native media source; force only binding rejection to reach real captureStream/Worklet",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"fallback": {
"playing": {
"external": 0.0880712446666184,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 1
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4264,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 1
}
},
"restart": {
"external": 0.08866202715264984,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
},
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
},
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 3
},
"annotations": []
},
{
"title": "ASR candidate + published: native capture fallback does not create a second audible route",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published",
"captureOnly": false,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"forcedException": true,
"reason": "Firefox permits a second native media source; force only binding rejection to reach real captureStream/Worklet",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"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
},
"fallback": {
"playing": {
"external": 0.08830393306342403,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4252,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 1
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4248,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 1
}
},
"restart": {
"external": 0.08866202715264984,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
},
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
},
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 3
},
"annotations": []
},
{
"title": "ASR candidate + candidate: native capture fallback does not create a second audible route",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "candidate",
"captureOnly": false,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"forcedException": true,
"reason": "Firefox permits a second native media source; force only binding rejection to reach real captureStream/Worklet",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"fallback": {
"playing": {
"external": 0.08791119445452536,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 1
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4272,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4280,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4264,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 1
}
},
"restart": {
"external": 0.08895963860169126,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
},
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
},
{
"name": "InvalidStateError",
"message": "Controlled duplicate binding rejection for native capture test"
}
],
"directCalls": 3
},
"annotations": []
},
{
"title": "ASR candidate capture + published-5.3.0: native capture fallback does not create a second audible route",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"captureOnly": true,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"fallback": {
"playing": {
"external": 0.0883604767030335,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4252,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4215,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4248,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4253,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.08895963860169126,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4187,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate capture + published: native capture fallback does not create a second audible route",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published",
"captureOnly": true,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"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
},
"fallback": {
"playing": {
"external": 0.08866202715264984,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4183,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4252,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4248,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.08789785569817585,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4260,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate capture + candidate: native capture fallback does not create a second audible route",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "candidate",
"captureOnly": true,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "function",
"worklet": "function",
"capture": "function",
"mozCapture": "function"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"fallback": {
"playing": {
"external": 0.08866202715264984,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4303,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4252,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"muted": {
"external": 0,
"asr": [
0
],
"contexts": [
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
},
{
"max": 4248,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
}
},
"restart": {
"external": 0.08774571319741767,
"asr": [
0,
0,
0
],
"contexts": [
"closed",
"closed",
"running"
],
"owner": "running",
"streams": [
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "ended"
}
],
[
{
"kind": "audio",
"state": "live"
}
]
],
"chunks": [
{
"max": 4190,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4255,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
},
{
"max": 4248,
"source": "http://127.0.0.1:8084/test/audio-tone.m4a?asr=fallback-second",
"samples": 1600
}
],
"failures": [],
"directCalls": 0
},
"annotations": []
},
{
"title": "ASR candidate + published-5.3.0: native capture fallback does not create a second audible route",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"captureOnly": false,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Native duplicate binding rejection",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit has no native WebAudio",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js",
"line": 26,
"column": 14
}
}
]
},
{
"title": "ASR candidate + published: native capture fallback does not create a second audible route",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "published",
"captureOnly": false,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Native duplicate binding rejection",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"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
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit has no native WebAudio",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js",
"line": 26,
"column": 14
}
}
]
},
{
"title": "ASR candidate + candidate: native capture fallback does not create a second audible route",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "candidate",
"captureOnly": false,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Native duplicate binding rejection",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit has no native WebAudio",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js",
"line": 26,
"column": 14
}
}
]
},
{
"title": "ASR candidate capture + published-5.3.0: native capture fallback does not create a second audible route",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"captureOnly": true,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit has no native WebAudio",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js",
"line": 26,
"column": 14
}
}
]
},
{
"title": "ASR candidate capture + published: native capture fallback does not create a second audible route",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "published",
"captureOnly": true,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"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
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit has no native WebAudio",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js",
"line": 26,
"column": 14
}
}
]
},
{
"title": "ASR candidate capture + candidate: native capture fallback does not create a second audible route",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"inputs": {
"version": "candidate",
"core": "candidate",
"captureOnly": true,
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"capabilities": {
"context": "undefined",
"worklet": "undefined",
"capture": "undefined",
"mozCapture": "undefined"
},
"forcedException": false,
"reason": "Explicit capture mode never binds the element; no forced exceptions",
"externalContext": "Native media-element source remains owned and running",
"physicalOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": [
{
"type": "skip",
"description": "Windows WebKit has no native WebAudio",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-fallback.spec.js",
"line": 26,
"column": 14
}
}
]
},
{
"title": "ASR candidate + published-5.3.0: native playback volume and mute",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"meter": "Native unity analyser inserted between plugin gain and destination",
"physicalAudioOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"annotations": []
},
{
"title": "ASR candidate + published: native playback volume and mute",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "published",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"meter": "Native unity analyser inserted between plugin gain and destination",
"physicalAudioOutput": false
},
"core": {
"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
},
"annotations": []
},
{
"title": "ASR candidate + candidate: native playback volume and mute",
"project": "chromium",
"status": "passed",
"browser": "153.0.8010.12",
"inputs": {
"version": "candidate",
"core": "candidate",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"meter": "Native unity analyser inserted between plugin gain and destination",
"physicalAudioOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": []
},
{
"title": "ASR candidate + published-5.3.0: native playback volume and mute",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published-5.3.0",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"meter": "Native unity analyser inserted between plugin gain and destination",
"physicalAudioOutput": false
},
"core": {
"source": {
"kind": "npm-release",
"version": "5.3.0",
"integrity": "sha512-yExO39MpEg4P+bxgChxx1eJfiUPE4q1QQRLCmqGhlsj+ANuaoEkR8hF93LdI5ZyrAcIbJkuEndxEiUoKobifDw==",
"member": "package/dist/artplayer.js"
},
"sha256": "54ffaf7598b910d5a88d2d2eec1aa6faa806583915b99b892dd32129c53e421a",
"bytes": 159238
},
"annotations": []
},
{
"title": "ASR candidate + published: native playback volume and mute",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "published",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"meter": "Native unity analyser inserted between plugin gain and destination",
"physicalAudioOutput": false
},
"core": {
"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
},
"annotations": []
},
{
"title": "ASR candidate + candidate: native playback volume and mute",
"project": "firefox",
"status": "passed",
"browser": "155.0",
"inputs": {
"version": "candidate",
"core": "candidate",
"pluginSha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"mediaSha256": "83e6672b880b5d1c97093b1e26bdc40221c0b279615f40e99dbf9d2ade7b4d56",
"meter": "Native unity analyser inserted between plugin gain and destination",
"physicalAudioOutput": false
},
"core": {
"source": {
"kind": "workspace-build",
"entry": "packages\\artplayer\\src\\index.ts"
},
"sha256": "d9aeee649395b78eb30b38dcaefb3c19c731c21b08e356485bac7cda08ead242",
"bytes": 378117
},
"annotations": []
},
{
"title": "ASR candidate + published-5.3.0: native playback volume and mute",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native AudioContext/AudioWorkletNode",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-playback.spec.js",
"line": 24,
"column": 14
}
}
]
},
{
"title": "ASR candidate + published: native playback volume and mute",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native AudioContext/AudioWorkletNode",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-playback.spec.js",
"line": 24,
"column": 14
}
}
]
},
{
"title": "ASR candidate + candidate: native playback volume and mute",
"project": "webkit",
"status": "skipped",
"browser": "26.6",
"annotations": [
{
"type": "skip",
"description": "Windows WebKit lacks native AudioContext/AudioWorkletNode",
"location": {
"file": "D:\\github\\ArtPlayer\\test\\browser\\asr-playback.spec.js",
"line": 24,
"column": 14
}
}
]
}
]
}
],
"totals": {
"passed": 106,
"capabilitySkipped": 53,
"failed": 0,
"flaky": 0
},
"unit": {
"focused": 229,
"newExplicitCapture": 13,
"main": 43,
"legacy": 43
},
"artifacts": [
{
"file": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.js",
"sha256": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"bytes": 9034,
"docsCopyIdentical": true
},
{
"file": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.legacy.js",
"sha256": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"bytes": 9527,
"docsCopyIdentical": true
},
{
"file": "packages/artplayer-plugin-asr/dist/artplayer-plugin-asr.mjs",
"sha256": "1b7bac676d2c4976046b08fd7c1ec25724ff24952f5d93fc546e219466d975d8",
"bytes": 13595,
"docsCopyIdentical": true
}
],
"installed": {
"file": "refactor/.cache/asr-package-types-swwh0u/report.json",
"sha256": "a2736bfb24fa469e2944d0dc1abf761fb4cb26ab6d37f45c1dcaea165f1964b9",
"cases": 17,
"candidateConfigurations": 7,
"invalidPerCandidate": 18,
"packages": [
{
"name": "artplayer",
"archive": "D:\\github\\ArtPlayer\\refactor\\.cache\\asr-package-types-swwh0u\\artplayer.tgz",
"sha256": "0c0ea52d41575261b836aefac68280733b119c75834ecad6d4bc78edb073f4c1",
"files": {
"package/ARCHITECTURE.md": "bee98fc9d93a3911d58e98ef15f2dbe07e12f2274c444d989094248a22079e46",
"package/README.md": "1e185e65f67fc2081b4182bbc6c4558ea05b6e3fa3acc5dd0c3ac7df1d542b09",
"package/THIRD_PARTY_NOTICES": "b77b5b46b79fa0cda850b0781f78c3b1112c4ed9672fa291956fe8eff53098e7",
"package/dist/artplayer.js": "6dc8ca6d6eb34aa8a056cbc31328efd634530b3c5c60f0014cb7ce719fabc335",
"package/dist/artplayer.legacy.js": "80f74a8a39df4baf64cc00c65d21cd57c011bfcdead0da38eea077fbc67c5c04",
"package/dist/artplayer.mjs": "432e2b0ad92009a09743e020bf7c928c8b8f18a52496622b16259ec9ab20059f",
"package/dist/i18n/ar.js": "bd0bef65f4f7dc3f8ed562904cc6fa9071ff4537fb64c1e0fc3d554141bcd3cb",
"package/dist/i18n/ar.mjs": "59310b7bbeea83bbb7d73aadc5ca82a6ec269c3530d19aa741c94d5c64fc5da8",
"package/dist/i18n/cs.js": "6e2c93daba24c2e48dfa206bcf4f2f2a8a02713b856e404d2e4e4ecd8309ca2f",
"package/dist/i18n/cs.mjs": "c73fba18797d62d7b2581e67fe7340c35fe84510b2250ff1ecaad253d9cabbac",
"package/dist/i18n/es.js": "f4133ac6ea06b69a474b33c4a1809a4066e2376bb9464a3f3aa8330f01f1944a",
"package/dist/i18n/es.mjs": "1390bca3def2be115e811de337df0a0c3f63998e51359f283023246245c552a7",
"package/dist/i18n/fa.js": "8d3ef2e0f0cc0ea480c2167b6fcb87cdf444e90759c3519e8daa139fec576da4",
"package/dist/i18n/fa.mjs": "ab441e8a2d79043b29ceca87c783bf06874bb9d3a149c1604bc167eb481be2a9",
"package/dist/i18n/fr.js": "89dc4194a6c0a962b9ce756b52c90401c1acf3b159f265f3bc0d7d6d7d987f03",
"package/dist/i18n/fr.mjs": "99491878430fb7b6f2b7bf93da0588a831704b412e01116f23ba1d9d45863816",
"package/dist/i18n/id.js": "4c6dc86db741bcc2857df55a9d037e82e91d375fa6fd22e0562809ff621b92db",
"package/dist/i18n/id.mjs": "383e5803a6b6686c6de4e867770241de75b6f517dcca2bdedc6f2004bf6e1fb3",
"package/dist/i18n/pl.js": "3a38828b1c3d719c0aca9906cf6a46c23555a8411f8d57645f0e0ce8147dc664",
"package/dist/i18n/pl.mjs": "079ed96732979035297af387c64a7b99519b5a43107fb86735a654ea4fe8e9b5",
"package/dist/i18n/ru.js": "62fac9dddb302eb16382e6e9301fc4b2c66f5f69d4a358a26b67026a5fa4e787",
"package/dist/i18n/ru.mjs": "a893aeaee1d79409db72e324fbff200e3864f33ed168f04d91d25f7cf2efa765",
"package/dist/i18n/tr.js": "1492c36b069a7d73db4f3913bd18085faff7afd8b3c158138fe264e31600e38c",
"package/dist/i18n/tr.mjs": "a90478cac078836b76c2a98261907610fee07f3e4b28671b8e7dbf533778f918",
"package/dist/i18n/vi.js": "c7216ef7e608a79b7e2c479a07bf310d4ab79577947ac4a62d676faaced0e9cf",
"package/dist/i18n/vi.mjs": "66270fdfa0b5da396322d1769169b7df37a030ba15ac18eb30bd87b3af8074ec",
"package/dist/i18n/zh-tw.js": "11c49857d6d40a5ffd224ffa59c9026e71621b345f63c5a086326db80a22371a",
"package/dist/i18n/zh-tw.mjs": "a38e630cb96de96c15d824686aec750e25cf6c8ada01285a292442a81566314f",
"package/package.json": "82e92699e7c29847f32ac6767ece0401290e7d7a12854722bdbcfd09b90b7954",
"package/types/COMPATIBILITY.md": "a7da9e102a116104b513df4f7451247b7759bc502d3375f30bd5b14a541826e0",
"package/types/README.md": "1bd9868e773610e6312fd48a1c5aa20772d29df0af40c3db66e75b7ab4a1aee0",
"package/types/artplayer.d.cts": "3685065e4263abcfd9d953176e461d5b3eb990b0363b54689a7f55deba770fef",
"package/types/artplayer.d.mts": "b664fec51ee5c5381f2ceab25d99d52aee56feab04a2ee7b4ea5b2145ea5fa0e",
"package/types/artplayer.d.ts": "5d0162adf7ac6d0f2bb9b5cfe361f28657c4d9c540cadbf36eba3cc954ce50f8",
"package/types/component.d.ts": "ae5bc1ddeaa1ee1ebbc62573e32423993727079205c64751a5a314170e588a32",
"package/types/config.d.ts": "36f9a84cd436f17701a0d11d3417fc1fe0414e0c52c80083b94a85dfc329e37e",
"package/types/cssVar.d.ts": "93217860fff2ebf750f606d95ddd22220a58837119e63bdf2f5f78fd7488458b",
"package/types/emitter.d.ts": "7e1f9a2a8ce65feb95734f1ed52d1334e57aa388bbef2a43d8bc53a9b6f6623c",
"package/types/events.d.ts": "f83624c9268a284477e8bd793fe3562a2363b72f2a44d5c64fe8c6a6cede8830",
"package/types/i18n.d.ts": "f4f2f05bdfda73c74fef34767cb18ee8e11b743120b1c4598e9714d7846018e5",
"package/types/icons.d.ts": "326a67ba7bdcf52862c5b2a269e540140aff98d05c7b96196485a77f84fe5960",
"package/types/language.d.cts": "f7928e108cf7b7814c2d75cb0a525333e95873fca6cd6d89a740450656b9c1cd",
"package/types/language.d.mts": "6619a26d604b7cccbe2f596243d87ae37cfaae33b8b52874ec071d9787446f9e",
"package/types/legacy/language.d.ts": "c7abda4d506fd933c350e9030290bf9e64347a921d683a66115da1995ebe0a81",
"package/types/option.d.ts": "ccf2c8ddc537dc65c9682d39f044726e23bff18f476b622512d7e6a4b949b5f6",
"package/types/playback.d.ts": "58705c273df6e76a77a6575e769a9ec6c013785c25080f2551aa22415788d870",
"package/types/player.d.ts": "92b00211b70ac71336e495899df972a0519dd138111846044fe4e0f967966177",
"package/types/plugin.d.ts": "fc3594a41c51d8248713e33c486fb1f6a518ac5c7ce31be6988a6cd8d052c5f3",
"package/types/quality.d.ts": "1ac1a48b4f74ff9ba1ce60443e1463d50d1c6a2e5d87d63dc7d2a8eb7f4c2c34",
"package/types/runtime.d.cts": "7ee988dfea9a0ac71a34a656f96f7b74e78aa92547cfdfab7ff7e1139a77d4a3",
"package/types/runtime.d.mts": "dcb85f59a8b7714918ced0c1d18c2bb24e8b80b56d8c594e019dcbdb5ad88b08",
"package/types/runtime.d.ts": "9c6ccd39a1be293f17ae46dae8ea077053e12635ee79d73a5e3b3a559230fcff",
"package/types/runtime/component.d.ts": "1b4c0cee44568649e80140fe778febfcae88af0ac85515f1cbeff78ab0c6d14f",
"package/types/runtime/construction.d.ts": "7a87bedf6f7ffff0c46078aa5f1551e0077d35574e286516121f5f935e2d9ce4",
"package/types/runtime/events.d.ts": "a1e2f9d387475453eaf95c2a5ee79e228636c0bb859bda3fcc46da46574a0c31",
"package/types/runtime/media.d.ts": "8fc89401be7fe25542c169d07dd5675f10916ed20be8493e19695966cf3864a8",
"package/types/runtime/option.d.ts": "6e334e1a76fdcc40b4665c02523bd31c3994d96078fadeb40e23422aa54c1a1d",
"package/types/runtime/player.d.ts": "8ac6383502e4872e83659838844856903031a81a0adc8e8535feb78453aa042c",
"package/types/runtime/plugin.d.ts": "8528f2b17843149f42f9cc16d6fd70baa238c9dc2c329b67d2c38096799c69bd",
"package/types/runtime/services.d.ts": "604c9f8e4b6c0da818f96576bf9f4b0e96085a9003927b2f7ba30027b1ba237e",
"package/types/runtime/setting.d.ts": "349c1fcb205ad312916bd3ee55e6bf241ea8a569fb2ab6c80822e69fc518f7d7",
"package/types/runtime/subtitle.d.ts": "269ff84678d327b3a9dc2f5bc6cc0d731d1e081b85422e474621d5d792efb153",
"package/types/runtime/template.d.ts": "7a62f968a38b4bf9109a4439557c02074eb1d62ba1f6e21a8eb194e91f0badfe",
"package/types/runtime/utils.d.ts": "6bf731705d86853e066dbaf3b8d4003b6548423fe615b7412b722bd0d3a6e48b",
"package/types/setting.d.ts": "08305a75dff96f06490430e099338b463df471b550c1d0dac3abc8995b39eb09",
"package/types/subtitle.d.ts": "b18314e2d64efdb6045830b6e12f615ae2ed585416130e562329ad3ea337f6ce",
"package/types/template.d.ts": "4792bc0c2cbcb7966e4375118bd34b326166e0831862e94ace4cf6b1bbe6a8c8",
"package/types/utils.d.ts": "fca0d3d814df94a25f9eb067c86fa0cf272e2791bac793b91229d57680797712"
}
},
{
"name": "artplayer-plugin-asr",
"archive": "D:\\github\\ArtPlayer\\refactor\\.cache\\asr-package-types-swwh0u\\artplayer-plugin-asr.tgz",
"sha256": "a5fbf0b82dcaf1cbbcd490dcba742056982ac5aba6ef972d6a891dd1c5416819",
"files": {
"package/ARCHITECTURE.md": "39d6ab8acc9145467b160973aae93d4067e62b0f353bf2fe8652903c778366f1",
"package/README.md": "0b8f79c5632bb35e68863e2a7b5feb0422401cc875cdbc4f20ee023c64e7fa15",
"package/dist/artplayer-plugin-asr.js": "06b386f6a4744801f4153944ed6e2bd37822a85e177aa2a0d800c30002ef87bf",
"package/dist/artplayer-plugin-asr.legacy.js": "639ae9bdede0e26c8af0251b9c1ed12e7fba9e0b6b79cb0556290741040f9697",
"package/dist/artplayer-plugin-asr.mjs": "1b7bac676d2c4976046b08fd7c1ec25724ff24952f5d93fc546e219466d975d8",
"package/package.json": "781b1eebefdff5fdc234b793ff9d6d8263275115ccff4c4d90c55eca942f2444",
"package/types/artplayer-plugin-asr.d.ts": "afa3a72330cdfe7858d6aa3f95c4a77d6f19fd5c34da5adc084c0f83f5e3b99a",
"package/types/runtime.d.cts": "2965dccc49a3a75c3b16c0c13501077b8ac199e78bac2d19d57be3d811583606",
"package/types/runtime.d.mts": "ff0769d3e408d66c7d38574171ff2621456afccc50ee8191ca4ee394dc57666e",
"package/types/runtime.d.ts": "2965dccc49a3a75c3b16c0c13501077b8ac199e78bac2d19d57be3d811583606"
}
}
]
},
"logs": [
{
"file": "refactor/.cache/asr09-explicit-unit-red.log",
"sha256": "fedd60eb3b78c7ea4e29487f2516b68b1c4e888d674a26c77271ef8188c1aca4"
},
{
"file": "refactor/.cache/asr09-restart-race-red.log",
"sha256": "34b95af7c0896d378a340de1fb254f386a733be6522ac9f8f4d652bd833d6317"
},
{
"file": "refactor/.cache/asr09-unit.log",
"sha256": "42d2e800d1673a8e9e692601ce4c8cf3391600676beb2eb7d800cc5b7a3f63f6"
},
{
"file": "refactor/.cache/asr09-unit-main.log",
"sha256": "096c02dd596746fb1793e1b47dc45abc364150ccbd14fd8421d5828866c02451"
},
{
"file": "refactor/.cache/asr09-unit-legacy.log",
"sha256": "c4b6ef2de522e33681663326c8080d9e43641f3e597f8ae78e55f5fd6d572cc6"
},
{
"file": "refactor/.cache/asr09-build.log",
"sha256": "106356a4b62d95bc6b04fee01d138f7ba264e2ddd4a8c88a3d3f90c026bbdcc0"
},
{
"file": "refactor/.cache/asr09-types.log",
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"file": "refactor/.cache/asr09-strict.log",
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"file": "refactor/.cache/asr09-lint.log",
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"file": "refactor/.cache/asr09-installed.log",
"sha256": "da134c81ec2fae10f5a4d5a95af755ddf968f9680ee7455fb79b774b61593a8a"
},
{
"file": "refactor/.cache/asr09-installed-final.log",
"sha256": "95c207aa0f09a5c4cbfe60b84cad667d7a1d18428ee714bd988f58c159135f5b"
}
],
"inputLfSha256": {
"packages/artplayer-plugin-asr/src/audio-graph.ts": "abe87a81af7c3864d7b3255b7d8033fdc8c204b26025939f58338439a858ece4",
"packages/artplayer-plugin-asr/src/capture.ts": "9cec5de6d09e6ce859b166ae4f41f2c4be7754b437a8e228bf4b02ef7bab212a",
"packages/artplayer-plugin-asr/src/index.ts": "283513b118d9f7395d9f8e2423b2192e8fd95e003cb22f27b838a05a22473d0e",
"packages/artplayer-plugin-asr/src/types.ts": "101e1177faf96c4445c7c93712babbc4a1697df3f69c83b6e5c1055bfcf9669b",
"packages/artplayer-plugin-asr/types/artplayer-plugin-asr.d.ts": "6a66680b74e0c4fa3ba8395ecf7abd608f13bfed4e0f6c5cf76f1563f0bae0ec",
"test/asr-explicit-capture.test.js": "eb4bcb7122c8a3e1a79bc5394e262d1e343932cff504c3979b74f78ecaecbde2",
"test/types/asr-public.ts": "8fad3971088bb17795176e2f2a9595b7a033cb6654049fe6f09984510ea50ae7",
"test/browser/asr-fallback.spec.js": "b855563daeb055d7818c8f40e914c8a743c68eeac1a20e2418d888ea89876905",
"test/browser/asr-capture-cors.spec.js": "abbb54d2244c9299568571846932819b82f564541b991338110e740ff1dbbacb"
},
"limitations": [
"No automatic external ownership detection; explicit capture must be selected.",
"Default CORS silence remains ASR-CORS-01; explicit capture cannot bypass native restrictions.",
"Captured PCM ignores media mute/volume and does not include external graph effects or independent audio-track media.",
"No physical audio/Safari/device/recognition-service acceptance; ASR-05 and ASR-06 remain unfinished."
],
"releaseReady": false
}