From e0c5cf27de9a9666c9bddfa7c6590bce22c53aaf Mon Sep 17 00:00:00 2001 From: Harvey Zhao Date: Tue, 15 Sep 2026 17:15:28 +0800 Subject: [PATCH] test(hls): [PKG-HLS-SDK-01] retain controller evidence across page crashes --- .../baselines/hls-controller-validation.json | 16863 ++++++++++++++++ ...6-09-15-PKG-HLS-SDK-01-controller-state.md | 96 + refactor/hls-validation.md | 10 + refactor/plan.md | 2 +- refactor/progress.md | 17 + refactor/risks.json | 13 +- .../scripts/hls-controller-state.test.mjs | 59 + refactor/scripts/hls-sdk-diagnostic.mjs | 37 +- refactor/tasks.json | 4 +- test/browser/README.md | 10 + test/helpers/hls-controller-state.js | 35 + 11 files changed, 17131 insertions(+), 15 deletions(-) create mode 100644 refactor/baselines/hls-controller-validation.json create mode 100644 refactor/changes/2026-09-15-PKG-HLS-SDK-01-controller-state.md create mode 100644 refactor/scripts/hls-controller-state.test.mjs create mode 100644 test/helpers/hls-controller-state.js diff --git a/refactor/baselines/hls-controller-validation.json b/refactor/baselines/hls-controller-validation.json new file mode 100644 index 000000000..81fce2d9d --- /dev/null +++ b/refactor/baselines/hls-controller-validation.json @@ -0,0 +1,16863 @@ +{ + "schemaVersion": 1, + "task": "PKG-HLS-SDK-01", + "status": "doing", + "sourceHead": "ea3174daa28e698af3db2ff36aecf4ef2da54470", + "environment": { + "node": "v24.21.0", + "platform": "win32", + "yarn": "1.22.22", + "playwright": "1.63.0" + }, + "scope": "Read-only diagnostic instrumentation and fixed SDK observations. HLS-PLAYBACK-01 and HLS-CRASH-01 remain unresolved; no native crash stack or release acceptance.", + "sources": [ + { + "file": "refactor/scripts/hls-sdk-diagnostic.mjs", + "sha256Lf": "292bd241a740c574d9993f5be6682abe8cf406c341ae7fd30c5c977f2f138ed3" + }, + { + "file": "test/helpers/hls-controller-state.js", + "sha256Lf": "442ea1b2c18ea4396394cd49b88e16132b7d2711601c7dd3925b659edc5d1cfc" + }, + { + "file": "refactor/scripts/hls-controller-state.test.mjs", + "sha256Lf": "76c6538fd00539a818b42a8f77d75e1ecb85fc630f6267136c42909ae4bdfa8f" + }, + { + "file": "test/browser/hls-sdk.spec.js", + "sha256Lf": "f09dff837be5b926c27a7db73723503b3a2d92a548c30a2e7a40f0dac034ae36" + } + ], + "repeatedIntegration": { + "file": "refactor/.cache/hls-controller-repeat.json", + "sha256": "7d8ef34b3decfb4b76498e31f49101cea14e9ce713081fd4db99a64f95ca873d", + "stats": { + "startTime": "2026-09-15T08:47:11.163Z", + "duration": 144415.966, + "expected": 20, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "command": "yarn test:browser hls-sdk.spec.js --project=firefox --grep \"1.7.2.*published core: group changes\" --repeat-each=20 --workers=1", + "note": "Before observer edits; no failure reproduced, does not close old failure." + }, + "final": [ + { + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\hls-direct-bZahmy\\report.json", + "sha256": "3e9ab079916b83e2e21e2afac908382e08884438ac46f144ca703cbcdf4bc881", + "sequence": [ + "1.5.17", + "1.7.2" + ], + "host": "direct", + "plugin": false, + "transport": "http", + "worker": true, + "controllerState": true, + "switchBoundary": "immediate", + "captureBeforeDestroy": true, + "runnerSHA256": "292bd241a740c574d9993f5be6682abe8cf406c341ae7fd30c5c977f2f138ed3", + "controllerObserverSHA256": "442ea1b2c18ea4396394cd49b88e16132b7d2711601c7dd3925b659edc5d1cfc", + "browser": "155.0", + "inputs": { + "/english-00.mpegts": "cc599f7c270385e85c28f710a34c5bd90b09d4d27adb3b1e6af3de65584b8207", + "/english-01.mpegts": "01b17c28defc8a8ebf4978c5236eb759d80521a1cb840898095c35dac420cec5", + "/english-02.mpegts": "90751b8b5abedd6b2f2e4eb83ccd609098ec7f2901163aaebf977cb9a11c46eb", + "/english-03.mpegts": "9b1d86b7b261df66dbdace4ef1e846796cd710ffb72b22fc69532c1fe7d1c55e", + "/english-04.mpegts": "dbfddd4f997942dd0b912f4c8bdbc5c11ee2a3fc51ac67df48d3aed2756715b9", + "/english-05.mpegts": "9b53790d4f50f172852b7d4ff51bdd4bedd39e4c7a1efbfe734edf7b9a68a533", + "/english-06.mpegts": "50baaa5e9fe7ca49b22c4d0817c44103b3edc763aee7f1b17d22f796d4189d4a", + "/english.m3u8": "5aae9d117d458f65f7febae68555ea4e48b2055b4cfb123fb919e385a1edda21", + "/french-00.mpegts": "7278acd094bc7caeeeea424a2c11ac4285fc45a8becb6c8ec55068f295ae35cd", + "/french-01.mpegts": "e9464d109e36a53d7f151442b544d47ce79324bbaa805e0a98f171621c9c7a13", + "/french-02.mpegts": "3ac48cab6aac942950b59f79ac6bd950dcae425f14821b83b1b5bb72d6815eb0", + "/french-03.mpegts": "906f2d8b1f29bb7d57240b145563bab975d8f7dfff78cebd1505b6d2a3feb43b", + "/french-04.mpegts": "cbf82876118d41af254bdef51f6cd08d842e8c6edf53250667fad2b8088e3601", + "/french-05.mpegts": "a91e564ec54d845837217c45b8e25b08fe208f2b5f97562f513baabd515427d9", + "/french-06.mpegts": "2c8edc11b06bacf1e62c4db67594ce187aa93e0241012011ebcf587b64ccff46", + "/french.m3u8": "6f7fb3eacb944597fa3105cb6d708eac3a8dc413e1706a11b6fb0e631214634e", + "/high-00.mpegts": "c5a8faac85b0594818255117696dce43fda6b363df40e2f3ffc453bd236cc833", + "/high-01.mpegts": "5714640c3f17d86c56036453dc17d45f871af63b461318c43527af3482f8661c", + "/high-02.mpegts": "fea1cbfb199bc867a322c7a646d43594a1d0d1d23fa0bcb6e770f2669b489440", + "/high-03.mpegts": "4a74a28e7ad6bc626358e32365a0b07df1da82c92753e28032983e22404958b5", + "/high-04.mpegts": "d04889b3b996d3e79c12bc297f9577690d3ae4f4172cdc0484b584954dab789c", + "/high-05.mpegts": "36ee0c64b8c3637d0e2282c611e9250650ac493440095fc2efbe9de1c54add15", + "/high.m3u8": "672c0e8b99242be05b16fc747a00715b2c25579b1ecc1623c0579fa34f0cb11d", + "/low-00.mpegts": "cbd62f5f4641cbe188a15640139bea393b5927fce600ff7513ef9ade9b33fb62", + "/low-01.mpegts": "f7821fba38c63f5d80daef21cdd3430880bdc9fd5f5adfa939ed6481106c2507", + "/low-02.mpegts": "3dc93f9f0fd065678b01fc6c568c12350e9ab0b324d1e0fa0e9f77787da7e7d2", + "/low-03.mpegts": "d94c8913f7fde98161550041287529b90a58d537d6083d4382540c5fce0b430b", + "/low-04.mpegts": "11596c59b547c2ff23bbba1f70e15f061a3e87bbdc1f4f59daa9b5279a6003af", + "/low-05.mpegts": "5c6ec25a69fdad73a23cfbc34f0f3c6d8abe44592650c92fa9110a38d6bd9e45", + "/low.m3u8": "404a8d868ed2af3598269aee89caba0563c2805dac223fe4c00c9a9eda73554f", + "/master.m3u8": "f226bd38f3c76714ada2b5a6866ad1cb39b041023e4a18d971d175f26f917e38", + "/video-only.m3u8": "3d7bb9069f6218191dc65745389bf1ab0ba6d5ed66cbd14e2cf30211913da3fc", + "/grouped.m3u8": "02c7482a012645a60014d429873f785e94c9a54f13f94f0b82597c7627173bfc", + "/hls-1.5.17.js": "484054e8cd03d3f6d1781fb7f402bdc318d8a4c527f933a95c624e27cc9a9470", + "/hls-1.7.2.js": "afcde07437ec84b072fe8782e772ceb5046eac751b2719f73ae0d83d763bc3f5", + "/": "7abea2bb98110fb12f13773621338e2dd70804ecb5ac896febb5ef57db2bc386" + }, + "rows": [ + { + "iteration": 0, + "version": "1.5.17", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.348262, + "readyState": 3, + "height": 180, + "paused": false, + "frames": 31, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.752184, + "readyState": 3, + "height": 180, + "paused": false, + "frames": 40, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.810374, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 65, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.222348, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 74, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 231, + "inPageEvents": 231, + "hostEvents": 231, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 222, + "trackerSamples": 221, + "audioSamples": 230, + "endListSamples": 93, + "emptyMediaWithVideo": { + "receivedDuring": "low-group", + "at": 916, + "event": "AUDIO_TRACK_SWITCHING", + "data": { + "id": 1, + "type": "AUDIO" + }, + "media": { + "time": 0.415467, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 10, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 0, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "WAITING_TRACK", + "nextLoadPosition": 12.031998333333334, + "mediaBuffer": "other", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_5", + "buffered": true, + "loaded": false + } + ] + } + } + } + }, + { + "iteration": 1, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.45588, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 32, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.860575, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.958944, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 67, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.330665, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 76, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 292, + "inPageEvents": 292, + "hostEvents": 292, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 292, + "trackerSamples": 278, + "audioSamples": 292, + "endListSamples": 123, + "emptyMediaWithVideo": { + "receivedDuring": "low-group", + "at": 770, + "event": "AUDIO_TRACK_SWITCHING", + "data": { + "id": 1, + "type": "AUDIO" + }, + "media": { + "time": 0.501856, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 12, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 0, + "nextLoadPosition": 12, + "altAudio": 1, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "WAITING_TRACK", + "nextLoadPosition": 12.010666666666667, + "mediaBuffer": "other", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_5", + "buffered": true, + "loaded": false + } + ] + } + } + } + } + ] + }, + { + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\hls-direct-OZ6ZTj\\report.json", + "sha256": "78ca5a5361e36cffdbd93c27bcdf7ff2496812afb819cc90533385c642e8c881", + "sequence": [ + "1.5.17", + "1.7.2" + ], + "host": "published", + "plugin": true, + "transport": "http", + "worker": true, + "controllerState": true, + "switchBoundary": "selected", + "captureBeforeDestroy": true, + "runnerSHA256": "292bd241a740c574d9993f5be6682abe8cf406c341ae7fd30c5c977f2f138ed3", + "controllerObserverSHA256": "442ea1b2c18ea4396394cd49b88e16132b7d2711601c7dd3925b659edc5d1cfc", + "browser": "155.0", + "inputs": { + "/english-00.mpegts": "cc599f7c270385e85c28f710a34c5bd90b09d4d27adb3b1e6af3de65584b8207", + "/english-01.mpegts": "01b17c28defc8a8ebf4978c5236eb759d80521a1cb840898095c35dac420cec5", + "/english-02.mpegts": "90751b8b5abedd6b2f2e4eb83ccd609098ec7f2901163aaebf977cb9a11c46eb", + "/english-03.mpegts": "9b1d86b7b261df66dbdace4ef1e846796cd710ffb72b22fc69532c1fe7d1c55e", + "/english-04.mpegts": "dbfddd4f997942dd0b912f4c8bdbc5c11ee2a3fc51ac67df48d3aed2756715b9", + "/english-05.mpegts": "9b53790d4f50f172852b7d4ff51bdd4bedd39e4c7a1efbfe734edf7b9a68a533", + "/english-06.mpegts": "50baaa5e9fe7ca49b22c4d0817c44103b3edc763aee7f1b17d22f796d4189d4a", + "/english.m3u8": "5aae9d117d458f65f7febae68555ea4e48b2055b4cfb123fb919e385a1edda21", + "/french-00.mpegts": "7278acd094bc7caeeeea424a2c11ac4285fc45a8becb6c8ec55068f295ae35cd", + "/french-01.mpegts": "e9464d109e36a53d7f151442b544d47ce79324bbaa805e0a98f171621c9c7a13", + "/french-02.mpegts": "3ac48cab6aac942950b59f79ac6bd950dcae425f14821b83b1b5bb72d6815eb0", + "/french-03.mpegts": "906f2d8b1f29bb7d57240b145563bab975d8f7dfff78cebd1505b6d2a3feb43b", + "/french-04.mpegts": "cbf82876118d41af254bdef51f6cd08d842e8c6edf53250667fad2b8088e3601", + "/french-05.mpegts": "a91e564ec54d845837217c45b8e25b08fe208f2b5f97562f513baabd515427d9", + "/french-06.mpegts": "2c8edc11b06bacf1e62c4db67594ce187aa93e0241012011ebcf587b64ccff46", + "/french.m3u8": "6f7fb3eacb944597fa3105cb6d708eac3a8dc413e1706a11b6fb0e631214634e", + "/high-00.mpegts": "c5a8faac85b0594818255117696dce43fda6b363df40e2f3ffc453bd236cc833", + "/high-01.mpegts": "5714640c3f17d86c56036453dc17d45f871af63b461318c43527af3482f8661c", + "/high-02.mpegts": "fea1cbfb199bc867a322c7a646d43594a1d0d1d23fa0bcb6e770f2669b489440", + "/high-03.mpegts": "4a74a28e7ad6bc626358e32365a0b07df1da82c92753e28032983e22404958b5", + "/high-04.mpegts": "d04889b3b996d3e79c12bc297f9577690d3ae4f4172cdc0484b584954dab789c", + "/high-05.mpegts": "36ee0c64b8c3637d0e2282c611e9250650ac493440095fc2efbe9de1c54add15", + "/high.m3u8": "672c0e8b99242be05b16fc747a00715b2c25579b1ecc1623c0579fa34f0cb11d", + "/low-00.mpegts": "cbd62f5f4641cbe188a15640139bea393b5927fce600ff7513ef9ade9b33fb62", + "/low-01.mpegts": "f7821fba38c63f5d80daef21cdd3430880bdc9fd5f5adfa939ed6481106c2507", + "/low-02.mpegts": "3dc93f9f0fd065678b01fc6c568c12350e9ab0b324d1e0fa0e9f77787da7e7d2", + "/low-03.mpegts": "d94c8913f7fde98161550041287529b90a58d537d6083d4382540c5fce0b430b", + "/low-04.mpegts": "11596c59b547c2ff23bbba1f70e15f061a3e87bbdc1f4f59daa9b5279a6003af", + "/low-05.mpegts": "5c6ec25a69fdad73a23cfbc34f0f3c6d8abe44592650c92fa9110a38d6bd9e45", + "/low.m3u8": "404a8d868ed2af3598269aee89caba0563c2805dac223fe4c00c9a9eda73554f", + "/master.m3u8": "f226bd38f3c76714ada2b5a6866ad1cb39b041023e4a18d971d175f26f917e38", + "/video-only.m3u8": "3d7bb9069f6218191dc65745389bf1ab0ba6d5ed66cbd14e2cf30211913da3fc", + "/grouped.m3u8": "02c7482a012645a60014d429873f785e94c9a54f13f94f0b82597c7627173bfc", + "/hls-1.5.17.js": "484054e8cd03d3f6d1781fb7f402bdc318d8a4c527f933a95c624e27cc9a9470", + "/hls-1.7.2.js": "afcde07437ec84b072fe8782e772ceb5046eac751b2719f73ae0d83d763bc3f5", + "/artplayer.js": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "/plugin.js": "8e163d4ab6734cbc45e7f539de7db644c7faf36d0318469a86d300bf6365cca6", + "/": "7abea2bb98110fb12f13773621338e2dd70804ecb5ac896febb5ef57db2bc386" + }, + "rows": [ + { + "iteration": 0, + "version": "1.5.17", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.429056, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 33, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.793655, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 42, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.741828, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 64, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.148603, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 73, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 249, + "inPageEvents": 249, + "hostEvents": 249, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "ENDED", + "PARSING" + ], + "controllerErrors": [], + "bufferSamples": 240, + "trackerSamples": 241, + "audioSamples": 248, + "endListSamples": 116, + "emptyMediaWithVideo": { + "receivedDuring": "low-group", + "at": 1059, + "event": "FRAG_BUFFERED", + "data": { + "id": "main", + "frag": { + "type": "main", + "sn": 5, + "level": 0 + } + }, + "media": { + "time": 0.415374, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 10, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 0, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "FRAG_LOADING", + "nextLoadPosition": 2.005333, + "mediaBuffer": "other", + "buffered": [], + "current": { + "sn": 0, + "level": 1, + "type": "audio", + "start": 0, + "duration": 2.005333 + }, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_5", + "buffered": true, + "loaded": false + } + ] + } + } + } + }, + { + "iteration": 1, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.500376, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 33, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.91724, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 43, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.499123, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 57, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 2.864928, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 66, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 307, + "inPageEvents": 307, + "hostEvents": 307, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 307, + "trackerSamples": 297, + "audioSamples": 307, + "endListSamples": 138, + "emptyMediaWithVideo": { + "receivedDuring": "low-group", + "at": 836, + "event": "AUDIO_TRACK_SWITCHING", + "data": { + "id": 1, + "type": "AUDIO" + }, + "media": { + "time": 0.541774, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 12, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 0, + "nextLoadPosition": 12, + "altAudio": 1, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "WAITING_TRACK", + "nextLoadPosition": 12.010666666666667, + "mediaBuffer": "other", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_5", + "buffered": true, + "loaded": false + } + ] + } + } + } + } + ] + }, + { + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\hls-direct-34aJRO\\report.json", + "sha256": "2d8ea688de2c4581d5fedfc9ed916e138f5969805f0554af26e433ea0d7c4dff", + "version": "1.7.2", + "sequence": [ + "1.7.2" + ], + "host": "direct", + "plugin": false, + "transport": "http", + "worker": true, + "controllerState": false, + "switchBoundary": "switched", + "captureBeforeDestroy": false, + "runnerSHA256": "292bd241a740c574d9993f5be6682abe8cf406c341ae7fd30c5c977f2f138ed3", + "controllerObserverSHA256": "442ea1b2c18ea4396394cd49b88e16132b7d2711601c7dd3925b659edc5d1cfc", + "browser": "155.0", + "inputs": { + "/english-00.mpegts": "cc599f7c270385e85c28f710a34c5bd90b09d4d27adb3b1e6af3de65584b8207", + "/english-01.mpegts": "01b17c28defc8a8ebf4978c5236eb759d80521a1cb840898095c35dac420cec5", + "/english-02.mpegts": "90751b8b5abedd6b2f2e4eb83ccd609098ec7f2901163aaebf977cb9a11c46eb", + "/english-03.mpegts": "9b1d86b7b261df66dbdace4ef1e846796cd710ffb72b22fc69532c1fe7d1c55e", + "/english-04.mpegts": "dbfddd4f997942dd0b912f4c8bdbc5c11ee2a3fc51ac67df48d3aed2756715b9", + "/english-05.mpegts": "9b53790d4f50f172852b7d4ff51bdd4bedd39e4c7a1efbfe734edf7b9a68a533", + "/english-06.mpegts": "50baaa5e9fe7ca49b22c4d0817c44103b3edc763aee7f1b17d22f796d4189d4a", + "/english.m3u8": "5aae9d117d458f65f7febae68555ea4e48b2055b4cfb123fb919e385a1edda21", + "/french-00.mpegts": "7278acd094bc7caeeeea424a2c11ac4285fc45a8becb6c8ec55068f295ae35cd", + "/french-01.mpegts": "e9464d109e36a53d7f151442b544d47ce79324bbaa805e0a98f171621c9c7a13", + "/french-02.mpegts": "3ac48cab6aac942950b59f79ac6bd950dcae425f14821b83b1b5bb72d6815eb0", + "/french-03.mpegts": "906f2d8b1f29bb7d57240b145563bab975d8f7dfff78cebd1505b6d2a3feb43b", + "/french-04.mpegts": "cbf82876118d41af254bdef51f6cd08d842e8c6edf53250667fad2b8088e3601", + "/french-05.mpegts": "a91e564ec54d845837217c45b8e25b08fe208f2b5f97562f513baabd515427d9", + "/french-06.mpegts": "2c8edc11b06bacf1e62c4db67594ce187aa93e0241012011ebcf587b64ccff46", + "/french.m3u8": "6f7fb3eacb944597fa3105cb6d708eac3a8dc413e1706a11b6fb0e631214634e", + "/high-00.mpegts": "c5a8faac85b0594818255117696dce43fda6b363df40e2f3ffc453bd236cc833", + "/high-01.mpegts": "5714640c3f17d86c56036453dc17d45f871af63b461318c43527af3482f8661c", + "/high-02.mpegts": "fea1cbfb199bc867a322c7a646d43594a1d0d1d23fa0bcb6e770f2669b489440", + "/high-03.mpegts": "4a74a28e7ad6bc626358e32365a0b07df1da82c92753e28032983e22404958b5", + "/high-04.mpegts": "d04889b3b996d3e79c12bc297f9577690d3ae4f4172cdc0484b584954dab789c", + "/high-05.mpegts": "36ee0c64b8c3637d0e2282c611e9250650ac493440095fc2efbe9de1c54add15", + "/high.m3u8": "672c0e8b99242be05b16fc747a00715b2c25579b1ecc1623c0579fa34f0cb11d", + "/low-00.mpegts": "cbd62f5f4641cbe188a15640139bea393b5927fce600ff7513ef9ade9b33fb62", + "/low-01.mpegts": "f7821fba38c63f5d80daef21cdd3430880bdc9fd5f5adfa939ed6481106c2507", + "/low-02.mpegts": "3dc93f9f0fd065678b01fc6c568c12350e9ab0b324d1e0fa0e9f77787da7e7d2", + "/low-03.mpegts": "d94c8913f7fde98161550041287529b90a58d537d6083d4382540c5fce0b430b", + "/low-04.mpegts": "11596c59b547c2ff23bbba1f70e15f061a3e87bbdc1f4f59daa9b5279a6003af", + "/low-05.mpegts": "5c6ec25a69fdad73a23cfbc34f0f3c6d8abe44592650c92fa9110a38d6bd9e45", + "/low.m3u8": "404a8d868ed2af3598269aee89caba0563c2805dac223fe4c00c9a9eda73554f", + "/master.m3u8": "f226bd38f3c76714ada2b5a6866ad1cb39b041023e4a18d971d175f26f917e38", + "/video-only.m3u8": "3d7bb9069f6218191dc65745389bf1ab0ba6d5ed66cbd14e2cf30211913da3fc", + "/grouped.m3u8": "02c7482a012645a60014d429873f785e94c9a54f13f94f0b82597c7627173bfc", + "/hls-1.7.2.js": "afcde07437ec84b072fe8782e772ceb5046eac751b2719f73ae0d83d763bc3f5", + "/": "7abea2bb98110fb12f13773621338e2dd70804ecb5ac896febb5ef57db2bc386" + }, + "rows": [ + { + "iteration": 0, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.39192, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 33, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.800246, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 42, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.821198, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 67, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.184441, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 76, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 102, + "inPageEvents": 102, + "states": [], + "controllerErrors": [], + "bufferSamples": 0, + "trackerSamples": 0, + "audioSamples": 0, + "endListSamples": 0 + } + } + ] + } + ], + "partialObservations": [ + { + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\hls-direct-zmfeoH\\report.json", + "sha256": "698b758a89aacb89f7f209a13329c0aa1f346804e301d6d38fc0ff6791785d1a", + "version": "1.7.2", + "sequence": [ + "1.7.2", + "1.7.2", + "1.7.2", + "1.7.2", + "1.7.2" + ], + "host": "direct", + "plugin": false, + "transport": "http", + "worker": true, + "controllerState": true, + "switchBoundary": "immediate", + "captureBeforeDestroy": true, + "runnerSHA256": "45e0872c1d8bd1adcba1af3153c6b61a9e7186be5569e783b7555bfcb4c0f265", + "controllerObserverSHA256": "542ded6982cdfc4a53c0b612f9b2ec137617e42eb5f8338f55628263f75c104e", + "browser": "155.0", + "inputs": { + "/english-00.mpegts": "cc599f7c270385e85c28f710a34c5bd90b09d4d27adb3b1e6af3de65584b8207", + "/english-01.mpegts": "01b17c28defc8a8ebf4978c5236eb759d80521a1cb840898095c35dac420cec5", + "/english-02.mpegts": "90751b8b5abedd6b2f2e4eb83ccd609098ec7f2901163aaebf977cb9a11c46eb", + "/english-03.mpegts": "9b1d86b7b261df66dbdace4ef1e846796cd710ffb72b22fc69532c1fe7d1c55e", + "/english-04.mpegts": "dbfddd4f997942dd0b912f4c8bdbc5c11ee2a3fc51ac67df48d3aed2756715b9", + "/english-05.mpegts": "9b53790d4f50f172852b7d4ff51bdd4bedd39e4c7a1efbfe734edf7b9a68a533", + "/english-06.mpegts": "50baaa5e9fe7ca49b22c4d0817c44103b3edc763aee7f1b17d22f796d4189d4a", + "/english.m3u8": "5aae9d117d458f65f7febae68555ea4e48b2055b4cfb123fb919e385a1edda21", + "/french-00.mpegts": "7278acd094bc7caeeeea424a2c11ac4285fc45a8becb6c8ec55068f295ae35cd", + "/french-01.mpegts": "e9464d109e36a53d7f151442b544d47ce79324bbaa805e0a98f171621c9c7a13", + "/french-02.mpegts": "3ac48cab6aac942950b59f79ac6bd950dcae425f14821b83b1b5bb72d6815eb0", + "/french-03.mpegts": "906f2d8b1f29bb7d57240b145563bab975d8f7dfff78cebd1505b6d2a3feb43b", + "/french-04.mpegts": "cbf82876118d41af254bdef51f6cd08d842e8c6edf53250667fad2b8088e3601", + "/french-05.mpegts": "a91e564ec54d845837217c45b8e25b08fe208f2b5f97562f513baabd515427d9", + "/french-06.mpegts": "2c8edc11b06bacf1e62c4db67594ce187aa93e0241012011ebcf587b64ccff46", + "/french.m3u8": "6f7fb3eacb944597fa3105cb6d708eac3a8dc413e1706a11b6fb0e631214634e", + "/high-00.mpegts": "c5a8faac85b0594818255117696dce43fda6b363df40e2f3ffc453bd236cc833", + "/high-01.mpegts": "5714640c3f17d86c56036453dc17d45f871af63b461318c43527af3482f8661c", + "/high-02.mpegts": "fea1cbfb199bc867a322c7a646d43594a1d0d1d23fa0bcb6e770f2669b489440", + "/high-03.mpegts": "4a74a28e7ad6bc626358e32365a0b07df1da82c92753e28032983e22404958b5", + "/high-04.mpegts": "d04889b3b996d3e79c12bc297f9577690d3ae4f4172cdc0484b584954dab789c", + "/high-05.mpegts": "36ee0c64b8c3637d0e2282c611e9250650ac493440095fc2efbe9de1c54add15", + "/high.m3u8": "672c0e8b99242be05b16fc747a00715b2c25579b1ecc1623c0579fa34f0cb11d", + "/low-00.mpegts": "cbd62f5f4641cbe188a15640139bea393b5927fce600ff7513ef9ade9b33fb62", + "/low-01.mpegts": "f7821fba38c63f5d80daef21cdd3430880bdc9fd5f5adfa939ed6481106c2507", + "/low-02.mpegts": "3dc93f9f0fd065678b01fc6c568c12350e9ab0b324d1e0fa0e9f77787da7e7d2", + "/low-03.mpegts": "d94c8913f7fde98161550041287529b90a58d537d6083d4382540c5fce0b430b", + "/low-04.mpegts": "11596c59b547c2ff23bbba1f70e15f061a3e87bbdc1f4f59daa9b5279a6003af", + "/low-05.mpegts": "5c6ec25a69fdad73a23cfbc34f0f3c6d8abe44592650c92fa9110a38d6bd9e45", + "/low.m3u8": "404a8d868ed2af3598269aee89caba0563c2805dac223fe4c00c9a9eda73554f", + "/master.m3u8": "f226bd38f3c76714ada2b5a6866ad1cb39b041023e4a18d971d175f26f917e38", + "/video-only.m3u8": "3d7bb9069f6218191dc65745389bf1ab0ba6d5ed66cbd14e2cf30211913da3fc", + "/grouped.m3u8": "02c7482a012645a60014d429873f785e94c9a54f13f94f0b82597c7627173bfc", + "/hls-1.7.2.js": "afcde07437ec84b072fe8782e772ceb5046eac751b2719f73ae0d83d763bc3f5", + "/": "7abea2bb98110fb12f13773621338e2dd70804ecb5ac896febb5ef57db2bc386" + }, + "rows": [ + { + "iteration": 0, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.314934, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 31, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.719058, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 40, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.774622, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 65, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.180457, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 75, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 262, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 262, + "trackerSamples": 0, + "endListSamples": 0, + "emptyMediaWithVideo": { + "at": 2266, + "event": "BUFFER_FLUSHED", + "data": { + "type": "audio" + }, + "media": { + "time": 1.719058, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 40, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": 1, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "WAITING_TRACK", + "nextLoadPosition": 12.031999666666668, + "mediaBuffer": "other", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [] + } + ] + } + } + } + }, + { + "iteration": 1, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.349901, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 32, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.753761, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.815104, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 66, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.184494, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 76, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 261, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 261, + "trackerSamples": 0, + "endListSamples": 0, + "emptyMediaWithVideo": { + "at": 2004, + "event": "BUFFER_FLUSHED", + "data": { + "type": "audio" + }, + "media": { + "time": 1.753761, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": 1, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "WAITING_TRACK", + "nextLoadPosition": 12.031999666666668, + "mediaBuffer": "other", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [] + } + ] + } + } + } + }, + { + "iteration": 2, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.305424, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 30, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.668739, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 39, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.69427, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 63, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.098678, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 72, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 249, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 249, + "trackerSamples": 0, + "endListSamples": 0, + "emptyMediaWithVideo": { + "at": 1982, + "event": "BUFFER_FLUSHED", + "data": { + "type": "audio" + }, + "media": { + "time": 1.709117, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 40, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": 1, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "WAITING_TRACK", + "nextLoadPosition": 12.031999666666668, + "mediaBuffer": "other", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [] + } + ] + } + } + } + }, + { + "iteration": 3, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 0.869212, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 20, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.273243, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 29, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.334014, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 55, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 2.708621, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 64, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 267, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 267, + "trackerSamples": 0, + "endListSamples": 0, + "emptyMediaWithVideo": { + "at": 1509, + "event": "BUFFER_FLUSHED", + "data": { + "type": "audio" + }, + "media": { + "time": 1.273243, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 29, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": 1, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "WAITING_TRACK", + "nextLoadPosition": 12.031999666666668, + "mediaBuffer": "other", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [] + } + ] + } + } + } + }, + { + "iteration": 4, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.366668, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 31, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.73088, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 40, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.753661, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 64, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.167253, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 74, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 260, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 260, + "trackerSamples": 0, + "endListSamples": 0, + "emptyMediaWithVideo": { + "at": 1981, + "event": "BUFFER_FLUSHED", + "data": { + "type": "audio" + }, + "media": { + "time": 1.73088, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": 1, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "WAITING_TRACK", + "nextLoadPosition": 12.031999666666668, + "mediaBuffer": "other", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [] + } + ] + } + } + } + } + ] + }, + { + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\hls-direct-F6o07k\\report.json", + "sha256": "4ac7e5c269245e33694de12235fe561fe5f464cb2414604d2e38e127a4d26091", + "sequence": [ + "1.5.17", + "1.7.2" + ], + "host": "published", + "plugin": true, + "transport": "http", + "worker": true, + "controllerState": true, + "switchBoundary": "selected", + "captureBeforeDestroy": true, + "runnerSHA256": "45e0872c1d8bd1adcba1af3153c6b61a9e7186be5569e783b7555bfcb4c0f265", + "controllerObserverSHA256": "542ded6982cdfc4a53c0b612f9b2ec137617e42eb5f8338f55628263f75c104e", + "browser": "155.0", + "inputs": { + "/english-00.mpegts": "cc599f7c270385e85c28f710a34c5bd90b09d4d27adb3b1e6af3de65584b8207", + "/english-01.mpegts": "01b17c28defc8a8ebf4978c5236eb759d80521a1cb840898095c35dac420cec5", + "/english-02.mpegts": "90751b8b5abedd6b2f2e4eb83ccd609098ec7f2901163aaebf977cb9a11c46eb", + "/english-03.mpegts": "9b1d86b7b261df66dbdace4ef1e846796cd710ffb72b22fc69532c1fe7d1c55e", + "/english-04.mpegts": "dbfddd4f997942dd0b912f4c8bdbc5c11ee2a3fc51ac67df48d3aed2756715b9", + "/english-05.mpegts": "9b53790d4f50f172852b7d4ff51bdd4bedd39e4c7a1efbfe734edf7b9a68a533", + "/english-06.mpegts": "50baaa5e9fe7ca49b22c4d0817c44103b3edc763aee7f1b17d22f796d4189d4a", + "/english.m3u8": "5aae9d117d458f65f7febae68555ea4e48b2055b4cfb123fb919e385a1edda21", + "/french-00.mpegts": "7278acd094bc7caeeeea424a2c11ac4285fc45a8becb6c8ec55068f295ae35cd", + "/french-01.mpegts": "e9464d109e36a53d7f151442b544d47ce79324bbaa805e0a98f171621c9c7a13", + "/french-02.mpegts": "3ac48cab6aac942950b59f79ac6bd950dcae425f14821b83b1b5bb72d6815eb0", + "/french-03.mpegts": "906f2d8b1f29bb7d57240b145563bab975d8f7dfff78cebd1505b6d2a3feb43b", + "/french-04.mpegts": "cbf82876118d41af254bdef51f6cd08d842e8c6edf53250667fad2b8088e3601", + "/french-05.mpegts": "a91e564ec54d845837217c45b8e25b08fe208f2b5f97562f513baabd515427d9", + "/french-06.mpegts": "2c8edc11b06bacf1e62c4db67594ce187aa93e0241012011ebcf587b64ccff46", + "/french.m3u8": "6f7fb3eacb944597fa3105cb6d708eac3a8dc413e1706a11b6fb0e631214634e", + "/high-00.mpegts": "c5a8faac85b0594818255117696dce43fda6b363df40e2f3ffc453bd236cc833", + "/high-01.mpegts": "5714640c3f17d86c56036453dc17d45f871af63b461318c43527af3482f8661c", + "/high-02.mpegts": "fea1cbfb199bc867a322c7a646d43594a1d0d1d23fa0bcb6e770f2669b489440", + "/high-03.mpegts": "4a74a28e7ad6bc626358e32365a0b07df1da82c92753e28032983e22404958b5", + "/high-04.mpegts": "d04889b3b996d3e79c12bc297f9577690d3ae4f4172cdc0484b584954dab789c", + "/high-05.mpegts": "36ee0c64b8c3637d0e2282c611e9250650ac493440095fc2efbe9de1c54add15", + "/high.m3u8": "672c0e8b99242be05b16fc747a00715b2c25579b1ecc1623c0579fa34f0cb11d", + "/low-00.mpegts": "cbd62f5f4641cbe188a15640139bea393b5927fce600ff7513ef9ade9b33fb62", + "/low-01.mpegts": "f7821fba38c63f5d80daef21cdd3430880bdc9fd5f5adfa939ed6481106c2507", + "/low-02.mpegts": "3dc93f9f0fd065678b01fc6c568c12350e9ab0b324d1e0fa0e9f77787da7e7d2", + "/low-03.mpegts": "d94c8913f7fde98161550041287529b90a58d537d6083d4382540c5fce0b430b", + "/low-04.mpegts": "11596c59b547c2ff23bbba1f70e15f061a3e87bbdc1f4f59daa9b5279a6003af", + "/low-05.mpegts": "5c6ec25a69fdad73a23cfbc34f0f3c6d8abe44592650c92fa9110a38d6bd9e45", + "/low.m3u8": "404a8d868ed2af3598269aee89caba0563c2805dac223fe4c00c9a9eda73554f", + "/master.m3u8": "f226bd38f3c76714ada2b5a6866ad1cb39b041023e4a18d971d175f26f917e38", + "/video-only.m3u8": "3d7bb9069f6218191dc65745389bf1ab0ba6d5ed66cbd14e2cf30211913da3fc", + "/grouped.m3u8": "02c7482a012645a60014d429873f785e94c9a54f13f94f0b82597c7627173bfc", + "/hls-1.5.17.js": "484054e8cd03d3f6d1781fb7f402bdc318d8a4c527f933a95c624e27cc9a9470", + "/hls-1.7.2.js": "afcde07437ec84b072fe8782e772ceb5046eac751b2719f73ae0d83d763bc3f5", + "/artplayer.js": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "/plugin.js": "8e163d4ab6734cbc45e7f539de7db644c7faf36d0318469a86d300bf6365cca6", + "/": "7abea2bb98110fb12f13773621338e2dd70804ecb5ac896febb5ef57db2bc386" + }, + "rows": [ + { + "iteration": 0, + "version": "1.5.17", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.332469, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 30, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.749267, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 40, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.790723, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 65, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.20644, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 75, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 263, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 0, + "trackerSamples": 0, + "endListSamples": 0 + } + }, + { + "iteration": 1, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.375585, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 31, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.782676, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.836587, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 66, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.245378, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 76, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 287, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 287, + "trackerSamples": 0, + "endListSamples": 0, + "emptyMediaWithVideo": { + "at": 2106, + "event": "BUFFER_FLUSHED", + "data": { + "type": "audio" + }, + "media": { + "time": 1.782676, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": 1, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "WAITING_TRACK", + "nextLoadPosition": 12.031999666666668, + "mediaBuffer": "other", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [] + } + ] + } + } + } + } + ] + }, + { + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\hls-direct-ZnzQbA\\report.json", + "sha256": "a7ba66215e4fd47a94d3231814bb16ecb74f693027b70d556ba53cee330894c7", + "sequence": [ + "1.5.17", + "1.7.2" + ], + "host": "direct", + "plugin": false, + "transport": "http", + "worker": true, + "controllerState": true, + "switchBoundary": "immediate", + "captureBeforeDestroy": true, + "runnerSHA256": "45e0872c1d8bd1adcba1af3153c6b61a9e7186be5569e783b7555bfcb4c0f265", + "controllerObserverSHA256": "fff4b326f4c796cd7113edf1e44f15e262115415d835085a5147edabf09a8c40", + "browser": "155.0", + "inputs": { + "/english-00.mpegts": "cc599f7c270385e85c28f710a34c5bd90b09d4d27adb3b1e6af3de65584b8207", + "/english-01.mpegts": "01b17c28defc8a8ebf4978c5236eb759d80521a1cb840898095c35dac420cec5", + "/english-02.mpegts": "90751b8b5abedd6b2f2e4eb83ccd609098ec7f2901163aaebf977cb9a11c46eb", + "/english-03.mpegts": "9b1d86b7b261df66dbdace4ef1e846796cd710ffb72b22fc69532c1fe7d1c55e", + "/english-04.mpegts": "dbfddd4f997942dd0b912f4c8bdbc5c11ee2a3fc51ac67df48d3aed2756715b9", + "/english-05.mpegts": "9b53790d4f50f172852b7d4ff51bdd4bedd39e4c7a1efbfe734edf7b9a68a533", + "/english-06.mpegts": "50baaa5e9fe7ca49b22c4d0817c44103b3edc763aee7f1b17d22f796d4189d4a", + "/english.m3u8": "5aae9d117d458f65f7febae68555ea4e48b2055b4cfb123fb919e385a1edda21", + "/french-00.mpegts": "7278acd094bc7caeeeea424a2c11ac4285fc45a8becb6c8ec55068f295ae35cd", + "/french-01.mpegts": "e9464d109e36a53d7f151442b544d47ce79324bbaa805e0a98f171621c9c7a13", + "/french-02.mpegts": "3ac48cab6aac942950b59f79ac6bd950dcae425f14821b83b1b5bb72d6815eb0", + "/french-03.mpegts": "906f2d8b1f29bb7d57240b145563bab975d8f7dfff78cebd1505b6d2a3feb43b", + "/french-04.mpegts": "cbf82876118d41af254bdef51f6cd08d842e8c6edf53250667fad2b8088e3601", + "/french-05.mpegts": "a91e564ec54d845837217c45b8e25b08fe208f2b5f97562f513baabd515427d9", + "/french-06.mpegts": "2c8edc11b06bacf1e62c4db67594ce187aa93e0241012011ebcf587b64ccff46", + "/french.m3u8": "6f7fb3eacb944597fa3105cb6d708eac3a8dc413e1706a11b6fb0e631214634e", + "/high-00.mpegts": "c5a8faac85b0594818255117696dce43fda6b363df40e2f3ffc453bd236cc833", + "/high-01.mpegts": "5714640c3f17d86c56036453dc17d45f871af63b461318c43527af3482f8661c", + "/high-02.mpegts": "fea1cbfb199bc867a322c7a646d43594a1d0d1d23fa0bcb6e770f2669b489440", + "/high-03.mpegts": "4a74a28e7ad6bc626358e32365a0b07df1da82c92753e28032983e22404958b5", + "/high-04.mpegts": "d04889b3b996d3e79c12bc297f9577690d3ae4f4172cdc0484b584954dab789c", + "/high-05.mpegts": "36ee0c64b8c3637d0e2282c611e9250650ac493440095fc2efbe9de1c54add15", + "/high.m3u8": "672c0e8b99242be05b16fc747a00715b2c25579b1ecc1623c0579fa34f0cb11d", + "/low-00.mpegts": "cbd62f5f4641cbe188a15640139bea393b5927fce600ff7513ef9ade9b33fb62", + "/low-01.mpegts": "f7821fba38c63f5d80daef21cdd3430880bdc9fd5f5adfa939ed6481106c2507", + "/low-02.mpegts": "3dc93f9f0fd065678b01fc6c568c12350e9ab0b324d1e0fa0e9f77787da7e7d2", + "/low-03.mpegts": "d94c8913f7fde98161550041287529b90a58d537d6083d4382540c5fce0b430b", + "/low-04.mpegts": "11596c59b547c2ff23bbba1f70e15f061a3e87bbdc1f4f59daa9b5279a6003af", + "/low-05.mpegts": "5c6ec25a69fdad73a23cfbc34f0f3c6d8abe44592650c92fa9110a38d6bd9e45", + "/low.m3u8": "404a8d868ed2af3598269aee89caba0563c2805dac223fe4c00c9a9eda73554f", + "/master.m3u8": "f226bd38f3c76714ada2b5a6866ad1cb39b041023e4a18d971d175f26f917e38", + "/video-only.m3u8": "3d7bb9069f6218191dc65745389bf1ab0ba6d5ed66cbd14e2cf30211913da3fc", + "/grouped.m3u8": "02c7482a012645a60014d429873f785e94c9a54f13f94f0b82597c7627173bfc", + "/hls-1.5.17.js": "484054e8cd03d3f6d1781fb7f402bdc318d8a4c527f933a95c624e27cc9a9470", + "/hls-1.7.2.js": "afcde07437ec84b072fe8782e772ceb5046eac751b2719f73ae0d83d763bc3f5", + "/": "7abea2bb98110fb12f13773621338e2dd70804ecb5ac896febb5ef57db2bc386" + }, + "rows": [ + { + "iteration": 0, + "version": "1.5.17", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.249243, + "readyState": 3, + "height": 180, + "paused": false, + "frames": 29, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.660244, + "readyState": 3, + "height": 180, + "paused": false, + "frames": 39, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.713501, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 64, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.12572, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 74, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 209, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "ENDED", + "PARSING" + ], + "controllerErrors": [], + "bufferSamples": 0, + "trackerSamples": 199, + "endListSamples": 94 + } + }, + { + "iteration": 1, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.365606, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 31, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.729391, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.747515, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 64, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.150327, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 73, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 260, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 260, + "trackerSamples": 246, + "endListSamples": 81, + "emptyMediaWithVideo": { + "at": 1985, + "event": "BUFFER_FLUSHED", + "data": { + "type": "audio" + }, + "media": { + "time": 1.729391, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": 1, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "WAITING_TRACK", + "nextLoadPosition": 12.031999666666668, + "mediaBuffer": "other", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_1_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + } + ] + } + } + } + } + ] + }, + { + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\hls-direct-4p2reo\\report.json", + "sha256": "9298e47f62dbdbf3d5a8d73673e2f4a83bf171e53ef58e8f194e8c28143de5d4", + "sequence": [ + "1.5.17", + "1.7.2" + ], + "host": "published", + "plugin": true, + "transport": "http", + "worker": true, + "controllerState": true, + "switchBoundary": "selected", + "captureBeforeDestroy": true, + "runnerSHA256": "45e0872c1d8bd1adcba1af3153c6b61a9e7186be5569e783b7555bfcb4c0f265", + "controllerObserverSHA256": "fff4b326f4c796cd7113edf1e44f15e262115415d835085a5147edabf09a8c40", + "browser": "155.0", + "inputs": { + "/english-00.mpegts": "cc599f7c270385e85c28f710a34c5bd90b09d4d27adb3b1e6af3de65584b8207", + "/english-01.mpegts": "01b17c28defc8a8ebf4978c5236eb759d80521a1cb840898095c35dac420cec5", + "/english-02.mpegts": "90751b8b5abedd6b2f2e4eb83ccd609098ec7f2901163aaebf977cb9a11c46eb", + "/english-03.mpegts": "9b1d86b7b261df66dbdace4ef1e846796cd710ffb72b22fc69532c1fe7d1c55e", + "/english-04.mpegts": "dbfddd4f997942dd0b912f4c8bdbc5c11ee2a3fc51ac67df48d3aed2756715b9", + "/english-05.mpegts": "9b53790d4f50f172852b7d4ff51bdd4bedd39e4c7a1efbfe734edf7b9a68a533", + "/english-06.mpegts": "50baaa5e9fe7ca49b22c4d0817c44103b3edc763aee7f1b17d22f796d4189d4a", + "/english.m3u8": "5aae9d117d458f65f7febae68555ea4e48b2055b4cfb123fb919e385a1edda21", + "/french-00.mpegts": "7278acd094bc7caeeeea424a2c11ac4285fc45a8becb6c8ec55068f295ae35cd", + "/french-01.mpegts": "e9464d109e36a53d7f151442b544d47ce79324bbaa805e0a98f171621c9c7a13", + "/french-02.mpegts": "3ac48cab6aac942950b59f79ac6bd950dcae425f14821b83b1b5bb72d6815eb0", + "/french-03.mpegts": "906f2d8b1f29bb7d57240b145563bab975d8f7dfff78cebd1505b6d2a3feb43b", + "/french-04.mpegts": "cbf82876118d41af254bdef51f6cd08d842e8c6edf53250667fad2b8088e3601", + "/french-05.mpegts": "a91e564ec54d845837217c45b8e25b08fe208f2b5f97562f513baabd515427d9", + "/french-06.mpegts": "2c8edc11b06bacf1e62c4db67594ce187aa93e0241012011ebcf587b64ccff46", + "/french.m3u8": "6f7fb3eacb944597fa3105cb6d708eac3a8dc413e1706a11b6fb0e631214634e", + "/high-00.mpegts": "c5a8faac85b0594818255117696dce43fda6b363df40e2f3ffc453bd236cc833", + "/high-01.mpegts": "5714640c3f17d86c56036453dc17d45f871af63b461318c43527af3482f8661c", + "/high-02.mpegts": "fea1cbfb199bc867a322c7a646d43594a1d0d1d23fa0bcb6e770f2669b489440", + "/high-03.mpegts": "4a74a28e7ad6bc626358e32365a0b07df1da82c92753e28032983e22404958b5", + "/high-04.mpegts": "d04889b3b996d3e79c12bc297f9577690d3ae4f4172cdc0484b584954dab789c", + "/high-05.mpegts": "36ee0c64b8c3637d0e2282c611e9250650ac493440095fc2efbe9de1c54add15", + "/high.m3u8": "672c0e8b99242be05b16fc747a00715b2c25579b1ecc1623c0579fa34f0cb11d", + "/low-00.mpegts": "cbd62f5f4641cbe188a15640139bea393b5927fce600ff7513ef9ade9b33fb62", + "/low-01.mpegts": "f7821fba38c63f5d80daef21cdd3430880bdc9fd5f5adfa939ed6481106c2507", + "/low-02.mpegts": "3dc93f9f0fd065678b01fc6c568c12350e9ab0b324d1e0fa0e9f77787da7e7d2", + "/low-03.mpegts": "d94c8913f7fde98161550041287529b90a58d537d6083d4382540c5fce0b430b", + "/low-04.mpegts": "11596c59b547c2ff23bbba1f70e15f061a3e87bbdc1f4f59daa9b5279a6003af", + "/low-05.mpegts": "5c6ec25a69fdad73a23cfbc34f0f3c6d8abe44592650c92fa9110a38d6bd9e45", + "/low.m3u8": "404a8d868ed2af3598269aee89caba0563c2805dac223fe4c00c9a9eda73554f", + "/master.m3u8": "f226bd38f3c76714ada2b5a6866ad1cb39b041023e4a18d971d175f26f917e38", + "/video-only.m3u8": "3d7bb9069f6218191dc65745389bf1ab0ba6d5ed66cbd14e2cf30211913da3fc", + "/grouped.m3u8": "02c7482a012645a60014d429873f785e94c9a54f13f94f0b82597c7627173bfc", + "/hls-1.5.17.js": "484054e8cd03d3f6d1781fb7f402bdc318d8a4c527f933a95c624e27cc9a9470", + "/hls-1.7.2.js": "afcde07437ec84b072fe8782e772ceb5046eac751b2719f73ae0d83d763bc3f5", + "/artplayer.js": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "/plugin.js": "8e163d4ab6734cbc45e7f539de7db644c7faf36d0318469a86d300bf6365cca6", + "/": "7abea2bb98110fb12f13773621338e2dd70804ecb5ac896febb5ef57db2bc386" + }, + "rows": [ + { + "iteration": 0, + "version": "1.5.17", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.335593, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 30, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.75068, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 40, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.667283, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 62, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.045242, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 71, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 245, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 0, + "trackerSamples": 237, + "endListSamples": 115 + } + }, + { + "iteration": 1, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.417425, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 32, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.782129, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.838906, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 66, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.208759, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 75, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 294, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 294, + "trackerSamples": 282, + "endListSamples": 89, + "emptyMediaWithVideo": { + "at": 2070, + "event": "BUFFER_FLUSHED", + "data": { + "type": "audio" + }, + "media": { + "time": 1.782129, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": 1, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "WAITING_TRACK", + "nextLoadPosition": 12.031999666666668, + "mediaBuffer": "other", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_1_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + } + ] + } + } + } + } + ] + } + ], + "validation": { + "tests": { + "passed": 5, + "file": "refactor/.cache/hls-controller-host-tests.log", + "sha256": "2a93ed50ba0a0124ec8ff83da599b921d066a4c10d2e346ff6bbe3ff3db95927" + }, + "lint": { + "exitCode": 0, + "file": "refactor/.cache/hls-controller-host-lint-final.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "firstLint": { + "errors": 3, + "file": "refactor/.cache/hls-controller-lint-first.log", + "sha256": "9c5970fdf1451495634da76efc3a10b42b8b2b07fa4ec352dcd9ba8afa164286" + } + }, + "firefoxBuild": { + "executable": { + "file": "C:/Users/laozh/AppData/Local/ms-playwright/firefox-1543/firefox/firefox.exe", + "sha256": "425a0a0fb606f567a303bdcea727476e124c0deb589050b13668af688da17fcb" + }, + "archive": { + "file": "C:/Users/laozh/AppData/Local/ms-playwright/firefox-1543/firefox/omni.ja", + "sha256": "b98ceacd96e964cb480aab6860308aaab5b9a8733014524edec9652b0e707a9d" + }, + "member": "chrome/toolkit/content/global/buildconfig.html", + "extracted": { + "file": "refactor/.cache/firefox-buildconfig.html", + "sha256": "091c011f9aeb1e27f5fe6b68c22bf15192cc109e3bb63462a1491ebc148e1704" + }, + "configureOptions": "'MOZILLABUILD=C:\\mozilla-build' --host=x86_64-pc-windows-msvc --target=x86_64-pc-windows-msvc --disable-tests --enable-bootstrap 'WIN32_REDIST_DIR=C:\\Program Files\\Microsoft Visual Studio\\18\\Enterprise\\VC\\Redist\\MSVC\\14.51.36231\\x64\\Microsoft.VC145.CRT' --without-wasm-sandboxed-libraries --disable-backgroundtasks --disable-crashreporter --disable-updater --disable-default-browser-agent", + "application": "; This file is not used. If you modify it and want the application to use\n; your modifications, move it under the browser/ subdirectory and start with\n; the \"-app /path/to/browser/application.ini\" argument.\n[App]\nVendor=Mozilla\nName=Firefox\nRemotingName=firefox-default\nCodeName=Nightly\nVersion=155.0\nBuildID=20260902192955\nID={ec8030f7-c20a-464f-9b0e-13a3a9e97384}\n\n[Gecko]\nMinVersion=155.0\nMaxVersion=155.0\n\n[XRE]\nEnableProfileMigrator=1\n\n\n", + "platform": "[Build]\nBuildID=20260902195823\nMilestone=155.0\n", + "config": { + "file": "C:/Users/laozh/AppData/Local/ms-playwright/firefox-1543/firefox/playwright.cfg", + "sha256": "e29fdba196ea88951e1d5d4d49c07211850f89f8cdfbe963bc9e13e37a3c8c51" + }, + "lockedPreference": "lockPref(\"toolkit.crashreporter.enabled\", false);", + "crashToolNames": [], + "notes": [ + "about:buildconfig navigation timed out after 30000ms; local archive extraction succeeded.", + "Compile-time crash reporter disabled. No browser/preferences/registry modification and no dump collected.", + "Mozilla crash reporter environment documentation and Microsoft ProcDump documentation were inspected; no ProcDump installation/attachment or report upload." + ], + "references": [ + "https://firefox-source-docs.mozilla.org/toolkit/crashreporter/crashreporter/index.html", + "https://learn.microsoft.com/en-us/sysinternals/downloads/procdump" + ] + }, + "previousFinalBeforeHostQueue": [ + { + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\hls-direct-zaU8Pk\\report.json", + "sha256": "d2d66a04606720bbc4d13b1e9596ce0f9e05ebde0e43e84dd6355f324fd32c61", + "sequence": [ + "1.5.17", + "1.7.2" + ], + "host": "direct", + "plugin": false, + "transport": "http", + "worker": true, + "controllerState": true, + "switchBoundary": "immediate", + "captureBeforeDestroy": true, + "runnerSHA256": "45e0872c1d8bd1adcba1af3153c6b61a9e7186be5569e783b7555bfcb4c0f265", + "controllerObserverSHA256": "0df40c6fb882cef4c6da23a87b8d0dad177d1a992e88c3c51bd52520e10c495b", + "browser": "155.0", + "inputs": { + "/english-00.mpegts": "cc599f7c270385e85c28f710a34c5bd90b09d4d27adb3b1e6af3de65584b8207", + "/english-01.mpegts": "01b17c28defc8a8ebf4978c5236eb759d80521a1cb840898095c35dac420cec5", + "/english-02.mpegts": "90751b8b5abedd6b2f2e4eb83ccd609098ec7f2901163aaebf977cb9a11c46eb", + "/english-03.mpegts": "9b1d86b7b261df66dbdace4ef1e846796cd710ffb72b22fc69532c1fe7d1c55e", + "/english-04.mpegts": "dbfddd4f997942dd0b912f4c8bdbc5c11ee2a3fc51ac67df48d3aed2756715b9", + "/english-05.mpegts": "9b53790d4f50f172852b7d4ff51bdd4bedd39e4c7a1efbfe734edf7b9a68a533", + "/english-06.mpegts": "50baaa5e9fe7ca49b22c4d0817c44103b3edc763aee7f1b17d22f796d4189d4a", + "/english.m3u8": "5aae9d117d458f65f7febae68555ea4e48b2055b4cfb123fb919e385a1edda21", + "/french-00.mpegts": "7278acd094bc7caeeeea424a2c11ac4285fc45a8becb6c8ec55068f295ae35cd", + "/french-01.mpegts": "e9464d109e36a53d7f151442b544d47ce79324bbaa805e0a98f171621c9c7a13", + "/french-02.mpegts": "3ac48cab6aac942950b59f79ac6bd950dcae425f14821b83b1b5bb72d6815eb0", + "/french-03.mpegts": "906f2d8b1f29bb7d57240b145563bab975d8f7dfff78cebd1505b6d2a3feb43b", + "/french-04.mpegts": "cbf82876118d41af254bdef51f6cd08d842e8c6edf53250667fad2b8088e3601", + "/french-05.mpegts": "a91e564ec54d845837217c45b8e25b08fe208f2b5f97562f513baabd515427d9", + "/french-06.mpegts": "2c8edc11b06bacf1e62c4db67594ce187aa93e0241012011ebcf587b64ccff46", + "/french.m3u8": "6f7fb3eacb944597fa3105cb6d708eac3a8dc413e1706a11b6fb0e631214634e", + "/high-00.mpegts": "c5a8faac85b0594818255117696dce43fda6b363df40e2f3ffc453bd236cc833", + "/high-01.mpegts": "5714640c3f17d86c56036453dc17d45f871af63b461318c43527af3482f8661c", + "/high-02.mpegts": "fea1cbfb199bc867a322c7a646d43594a1d0d1d23fa0bcb6e770f2669b489440", + "/high-03.mpegts": "4a74a28e7ad6bc626358e32365a0b07df1da82c92753e28032983e22404958b5", + "/high-04.mpegts": "d04889b3b996d3e79c12bc297f9577690d3ae4f4172cdc0484b584954dab789c", + "/high-05.mpegts": "36ee0c64b8c3637d0e2282c611e9250650ac493440095fc2efbe9de1c54add15", + "/high.m3u8": "672c0e8b99242be05b16fc747a00715b2c25579b1ecc1623c0579fa34f0cb11d", + "/low-00.mpegts": "cbd62f5f4641cbe188a15640139bea393b5927fce600ff7513ef9ade9b33fb62", + "/low-01.mpegts": "f7821fba38c63f5d80daef21cdd3430880bdc9fd5f5adfa939ed6481106c2507", + "/low-02.mpegts": "3dc93f9f0fd065678b01fc6c568c12350e9ab0b324d1e0fa0e9f77787da7e7d2", + "/low-03.mpegts": "d94c8913f7fde98161550041287529b90a58d537d6083d4382540c5fce0b430b", + "/low-04.mpegts": "11596c59b547c2ff23bbba1f70e15f061a3e87bbdc1f4f59daa9b5279a6003af", + "/low-05.mpegts": "5c6ec25a69fdad73a23cfbc34f0f3c6d8abe44592650c92fa9110a38d6bd9e45", + "/low.m3u8": "404a8d868ed2af3598269aee89caba0563c2805dac223fe4c00c9a9eda73554f", + "/master.m3u8": "f226bd38f3c76714ada2b5a6866ad1cb39b041023e4a18d971d175f26f917e38", + "/video-only.m3u8": "3d7bb9069f6218191dc65745389bf1ab0ba6d5ed66cbd14e2cf30211913da3fc", + "/grouped.m3u8": "02c7482a012645a60014d429873f785e94c9a54f13f94f0b82597c7627173bfc", + "/hls-1.5.17.js": "484054e8cd03d3f6d1781fb7f402bdc318d8a4c527f933a95c624e27cc9a9470", + "/hls-1.7.2.js": "afcde07437ec84b072fe8782e772ceb5046eac751b2719f73ae0d83d763bc3f5", + "/": "7abea2bb98110fb12f13773621338e2dd70804ecb5ac896febb5ef57db2bc386" + }, + "rows": [ + { + "iteration": 0, + "version": "1.5.17", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.269281, + "readyState": 3, + "height": 180, + "paused": false, + "frames": 30, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.673289, + "readyState": 3, + "height": 180, + "paused": false, + "frames": 39, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.691827, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 64, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.096019, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 74, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 208, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 199, + "trackerSamples": 198, + "endListSamples": 90, + "emptyMediaWithVideo": { + "at": 981, + "event": "FRAG_BUFFERED", + "data": { + "id": "main", + "frag": { + "type": "main", + "sn": 5, + "level": 1 + } + }, + "media": { + "time": 0.416757, + "readyState": 3, + "height": 90, + "paused": false, + "frames": 10, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + } + ] + } + } + } + }, + { + "iteration": 1, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.346802, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 31, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.750795, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.77368, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 65, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.179227, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 74, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 257, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 257, + "trackerSamples": 243, + "endListSamples": 82, + "emptyMediaWithVideo": { + "at": 1989, + "event": "BUFFER_FLUSHED", + "data": { + "type": "audio" + }, + "media": { + "time": 1.750795, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": 1, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "WAITING_TRACK", + "nextLoadPosition": 12.031999666666668, + "mediaBuffer": "other", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_1_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + } + ] + } + } + } + } + ] + }, + { + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\hls-direct-esD3L7\\report.json", + "sha256": "44c01280ebad67487387484667b921de68bd94a2093d02f7c4433c3b80d0631c", + "sequence": [ + "1.5.17", + "1.7.2" + ], + "host": "published", + "plugin": true, + "transport": "http", + "worker": true, + "controllerState": true, + "switchBoundary": "selected", + "captureBeforeDestroy": true, + "runnerSHA256": "45e0872c1d8bd1adcba1af3153c6b61a9e7186be5569e783b7555bfcb4c0f265", + "controllerObserverSHA256": "0df40c6fb882cef4c6da23a87b8d0dad177d1a992e88c3c51bd52520e10c495b", + "browser": "155.0", + "inputs": { + "/english-00.mpegts": "cc599f7c270385e85c28f710a34c5bd90b09d4d27adb3b1e6af3de65584b8207", + "/english-01.mpegts": "01b17c28defc8a8ebf4978c5236eb759d80521a1cb840898095c35dac420cec5", + "/english-02.mpegts": "90751b8b5abedd6b2f2e4eb83ccd609098ec7f2901163aaebf977cb9a11c46eb", + "/english-03.mpegts": "9b1d86b7b261df66dbdace4ef1e846796cd710ffb72b22fc69532c1fe7d1c55e", + "/english-04.mpegts": "dbfddd4f997942dd0b912f4c8bdbc5c11ee2a3fc51ac67df48d3aed2756715b9", + "/english-05.mpegts": "9b53790d4f50f172852b7d4ff51bdd4bedd39e4c7a1efbfe734edf7b9a68a533", + "/english-06.mpegts": "50baaa5e9fe7ca49b22c4d0817c44103b3edc763aee7f1b17d22f796d4189d4a", + "/english.m3u8": "5aae9d117d458f65f7febae68555ea4e48b2055b4cfb123fb919e385a1edda21", + "/french-00.mpegts": "7278acd094bc7caeeeea424a2c11ac4285fc45a8becb6c8ec55068f295ae35cd", + "/french-01.mpegts": "e9464d109e36a53d7f151442b544d47ce79324bbaa805e0a98f171621c9c7a13", + "/french-02.mpegts": "3ac48cab6aac942950b59f79ac6bd950dcae425f14821b83b1b5bb72d6815eb0", + "/french-03.mpegts": "906f2d8b1f29bb7d57240b145563bab975d8f7dfff78cebd1505b6d2a3feb43b", + "/french-04.mpegts": "cbf82876118d41af254bdef51f6cd08d842e8c6edf53250667fad2b8088e3601", + "/french-05.mpegts": "a91e564ec54d845837217c45b8e25b08fe208f2b5f97562f513baabd515427d9", + "/french-06.mpegts": "2c8edc11b06bacf1e62c4db67594ce187aa93e0241012011ebcf587b64ccff46", + "/french.m3u8": "6f7fb3eacb944597fa3105cb6d708eac3a8dc413e1706a11b6fb0e631214634e", + "/high-00.mpegts": "c5a8faac85b0594818255117696dce43fda6b363df40e2f3ffc453bd236cc833", + "/high-01.mpegts": "5714640c3f17d86c56036453dc17d45f871af63b461318c43527af3482f8661c", + "/high-02.mpegts": "fea1cbfb199bc867a322c7a646d43594a1d0d1d23fa0bcb6e770f2669b489440", + "/high-03.mpegts": "4a74a28e7ad6bc626358e32365a0b07df1da82c92753e28032983e22404958b5", + "/high-04.mpegts": "d04889b3b996d3e79c12bc297f9577690d3ae4f4172cdc0484b584954dab789c", + "/high-05.mpegts": "36ee0c64b8c3637d0e2282c611e9250650ac493440095fc2efbe9de1c54add15", + "/high.m3u8": "672c0e8b99242be05b16fc747a00715b2c25579b1ecc1623c0579fa34f0cb11d", + "/low-00.mpegts": "cbd62f5f4641cbe188a15640139bea393b5927fce600ff7513ef9ade9b33fb62", + "/low-01.mpegts": "f7821fba38c63f5d80daef21cdd3430880bdc9fd5f5adfa939ed6481106c2507", + "/low-02.mpegts": "3dc93f9f0fd065678b01fc6c568c12350e9ab0b324d1e0fa0e9f77787da7e7d2", + "/low-03.mpegts": "d94c8913f7fde98161550041287529b90a58d537d6083d4382540c5fce0b430b", + "/low-04.mpegts": "11596c59b547c2ff23bbba1f70e15f061a3e87bbdc1f4f59daa9b5279a6003af", + "/low-05.mpegts": "5c6ec25a69fdad73a23cfbc34f0f3c6d8abe44592650c92fa9110a38d6bd9e45", + "/low.m3u8": "404a8d868ed2af3598269aee89caba0563c2805dac223fe4c00c9a9eda73554f", + "/master.m3u8": "f226bd38f3c76714ada2b5a6866ad1cb39b041023e4a18d971d175f26f917e38", + "/video-only.m3u8": "3d7bb9069f6218191dc65745389bf1ab0ba6d5ed66cbd14e2cf30211913da3fc", + "/grouped.m3u8": "02c7482a012645a60014d429873f785e94c9a54f13f94f0b82597c7627173bfc", + "/hls-1.5.17.js": "484054e8cd03d3f6d1781fb7f402bdc318d8a4c527f933a95c624e27cc9a9470", + "/hls-1.7.2.js": "afcde07437ec84b072fe8782e772ceb5046eac751b2719f73ae0d83d763bc3f5", + "/artplayer.js": "f1db1fa3406aa6d41baa7c554749429a8e79f99d56a794bde23345eb9c07573f", + "/plugin.js": "8e163d4ab6734cbc45e7f539de7db644c7faf36d0318469a86d300bf6365cca6", + "/": "7abea2bb98110fb12f13773621338e2dd70804ecb5ac896febb5ef57db2bc386" + }, + "rows": [ + { + "iteration": 0, + "version": "1.5.17", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.315324, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 30, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.719048, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 39, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.750158, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 63, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.119496, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 72, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 262, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 253, + "trackerSamples": 254, + "endListSamples": 127, + "emptyMediaWithVideo": { + "at": 2371, + "event": "BUFFER_FLUSHED", + "data": { + "type": "audio" + }, + "media": { + "time": 1.719048, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 39, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_1_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + } + ] + } + } + } + }, + { + "iteration": 1, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.375432, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 31, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.750509, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 40, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.788101, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 65, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.191484, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 74, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 282, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 282, + "trackerSamples": 270, + "endListSamples": 80, + "emptyMediaWithVideo": { + "at": 2045, + "event": "BUFFER_FLUSHED", + "data": { + "type": "audio" + }, + "media": { + "time": 1.792256, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": 1, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "WAITING_TRACK", + "nextLoadPosition": 12.031999666666668, + "mediaBuffer": "other", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_1_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + } + ] + } + } + } + } + ] + }, + { + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\hls-direct-nbxxCt\\report.json", + "sha256": "2e4c67b8f4bb329733489a711b1884c290afb402df9d74cafd4ea6cf1353924d", + "version": "1.7.2", + "sequence": [ + "1.7.2" + ], + "host": "direct", + "plugin": false, + "transport": "http", + "worker": true, + "controllerState": false, + "switchBoundary": "switched", + "captureBeforeDestroy": false, + "runnerSHA256": "45e0872c1d8bd1adcba1af3153c6b61a9e7186be5569e783b7555bfcb4c0f265", + "controllerObserverSHA256": "0df40c6fb882cef4c6da23a87b8d0dad177d1a992e88c3c51bd52520e10c495b", + "browser": "155.0", + "inputs": { + "/english-00.mpegts": "cc599f7c270385e85c28f710a34c5bd90b09d4d27adb3b1e6af3de65584b8207", + "/english-01.mpegts": "01b17c28defc8a8ebf4978c5236eb759d80521a1cb840898095c35dac420cec5", + "/english-02.mpegts": "90751b8b5abedd6b2f2e4eb83ccd609098ec7f2901163aaebf977cb9a11c46eb", + "/english-03.mpegts": "9b1d86b7b261df66dbdace4ef1e846796cd710ffb72b22fc69532c1fe7d1c55e", + "/english-04.mpegts": "dbfddd4f997942dd0b912f4c8bdbc5c11ee2a3fc51ac67df48d3aed2756715b9", + "/english-05.mpegts": "9b53790d4f50f172852b7d4ff51bdd4bedd39e4c7a1efbfe734edf7b9a68a533", + "/english-06.mpegts": "50baaa5e9fe7ca49b22c4d0817c44103b3edc763aee7f1b17d22f796d4189d4a", + "/english.m3u8": "5aae9d117d458f65f7febae68555ea4e48b2055b4cfb123fb919e385a1edda21", + "/french-00.mpegts": "7278acd094bc7caeeeea424a2c11ac4285fc45a8becb6c8ec55068f295ae35cd", + "/french-01.mpegts": "e9464d109e36a53d7f151442b544d47ce79324bbaa805e0a98f171621c9c7a13", + "/french-02.mpegts": "3ac48cab6aac942950b59f79ac6bd950dcae425f14821b83b1b5bb72d6815eb0", + "/french-03.mpegts": "906f2d8b1f29bb7d57240b145563bab975d8f7dfff78cebd1505b6d2a3feb43b", + "/french-04.mpegts": "cbf82876118d41af254bdef51f6cd08d842e8c6edf53250667fad2b8088e3601", + "/french-05.mpegts": "a91e564ec54d845837217c45b8e25b08fe208f2b5f97562f513baabd515427d9", + "/french-06.mpegts": "2c8edc11b06bacf1e62c4db67594ce187aa93e0241012011ebcf587b64ccff46", + "/french.m3u8": "6f7fb3eacb944597fa3105cb6d708eac3a8dc413e1706a11b6fb0e631214634e", + "/high-00.mpegts": "c5a8faac85b0594818255117696dce43fda6b363df40e2f3ffc453bd236cc833", + "/high-01.mpegts": "5714640c3f17d86c56036453dc17d45f871af63b461318c43527af3482f8661c", + "/high-02.mpegts": "fea1cbfb199bc867a322c7a646d43594a1d0d1d23fa0bcb6e770f2669b489440", + "/high-03.mpegts": "4a74a28e7ad6bc626358e32365a0b07df1da82c92753e28032983e22404958b5", + "/high-04.mpegts": "d04889b3b996d3e79c12bc297f9577690d3ae4f4172cdc0484b584954dab789c", + "/high-05.mpegts": "36ee0c64b8c3637d0e2282c611e9250650ac493440095fc2efbe9de1c54add15", + "/high.m3u8": "672c0e8b99242be05b16fc747a00715b2c25579b1ecc1623c0579fa34f0cb11d", + "/low-00.mpegts": "cbd62f5f4641cbe188a15640139bea393b5927fce600ff7513ef9ade9b33fb62", + "/low-01.mpegts": "f7821fba38c63f5d80daef21cdd3430880bdc9fd5f5adfa939ed6481106c2507", + "/low-02.mpegts": "3dc93f9f0fd065678b01fc6c568c12350e9ab0b324d1e0fa0e9f77787da7e7d2", + "/low-03.mpegts": "d94c8913f7fde98161550041287529b90a58d537d6083d4382540c5fce0b430b", + "/low-04.mpegts": "11596c59b547c2ff23bbba1f70e15f061a3e87bbdc1f4f59daa9b5279a6003af", + "/low-05.mpegts": "5c6ec25a69fdad73a23cfbc34f0f3c6d8abe44592650c92fa9110a38d6bd9e45", + "/low.m3u8": "404a8d868ed2af3598269aee89caba0563c2805dac223fe4c00c9a9eda73554f", + "/master.m3u8": "f226bd38f3c76714ada2b5a6866ad1cb39b041023e4a18d971d175f26f917e38", + "/video-only.m3u8": "3d7bb9069f6218191dc65745389bf1ab0ba6d5ed66cbd14e2cf30211913da3fc", + "/grouped.m3u8": "02c7482a012645a60014d429873f785e94c9a54f13f94f0b82597c7627173bfc", + "/hls-1.7.2.js": "afcde07437ec84b072fe8782e772ceb5046eac751b2719f73ae0d83d763bc3f5", + "/": "7abea2bb98110fb12f13773621338e2dd70804ecb5ac896febb5ef57db2bc386" + }, + "rows": [ + { + "iteration": 0, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.436923, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 34, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.842494, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 43, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.868121, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 67, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.236331, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 76, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 105, + "states": [], + "controllerErrors": [], + "bufferSamples": 0, + "trackerSamples": 0, + "endListSamples": 0 + } + } + ] + } + ], + "crashReproductions": [ + { + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\hls-direct-KV12a5\\report.json", + "sha256": "4b403058425bcdf9c92290cef49fd64506dc7ec0a88ce5960d4b79c5d3e3180d", + "sequence": [ + "1.5.17", + "1.7.2" + ], + "host": "direct", + "plugin": false, + "transport": "http", + "worker": true, + "controllerState": true, + "switchBoundary": "immediate", + "captureBeforeDestroy": true, + "runnerSHA256": "154d1eb4f88b66dd8a068e72395f7c0100a13c67dd54d961027357a12e3149a7", + "controllerObserverSHA256": "0df40c6fb882cef4c6da23a87b8d0dad177d1a992e88c3c51bd52520e10c495b", + "browser": "155.0", + "inputs": { + "/english-00.mpegts": "cc599f7c270385e85c28f710a34c5bd90b09d4d27adb3b1e6af3de65584b8207", + "/english-01.mpegts": "01b17c28defc8a8ebf4978c5236eb759d80521a1cb840898095c35dac420cec5", + "/english-02.mpegts": "90751b8b5abedd6b2f2e4eb83ccd609098ec7f2901163aaebf977cb9a11c46eb", + "/english-03.mpegts": "9b1d86b7b261df66dbdace4ef1e846796cd710ffb72b22fc69532c1fe7d1c55e", + "/english-04.mpegts": "dbfddd4f997942dd0b912f4c8bdbc5c11ee2a3fc51ac67df48d3aed2756715b9", + "/english-05.mpegts": "9b53790d4f50f172852b7d4ff51bdd4bedd39e4c7a1efbfe734edf7b9a68a533", + "/english-06.mpegts": "50baaa5e9fe7ca49b22c4d0817c44103b3edc763aee7f1b17d22f796d4189d4a", + "/english.m3u8": "5aae9d117d458f65f7febae68555ea4e48b2055b4cfb123fb919e385a1edda21", + "/french-00.mpegts": "7278acd094bc7caeeeea424a2c11ac4285fc45a8becb6c8ec55068f295ae35cd", + "/french-01.mpegts": "e9464d109e36a53d7f151442b544d47ce79324bbaa805e0a98f171621c9c7a13", + "/french-02.mpegts": "3ac48cab6aac942950b59f79ac6bd950dcae425f14821b83b1b5bb72d6815eb0", + "/french-03.mpegts": "906f2d8b1f29bb7d57240b145563bab975d8f7dfff78cebd1505b6d2a3feb43b", + "/french-04.mpegts": "cbf82876118d41af254bdef51f6cd08d842e8c6edf53250667fad2b8088e3601", + "/french-05.mpegts": "a91e564ec54d845837217c45b8e25b08fe208f2b5f97562f513baabd515427d9", + "/french-06.mpegts": "2c8edc11b06bacf1e62c4db67594ce187aa93e0241012011ebcf587b64ccff46", + "/french.m3u8": "6f7fb3eacb944597fa3105cb6d708eac3a8dc413e1706a11b6fb0e631214634e", + "/high-00.mpegts": "c5a8faac85b0594818255117696dce43fda6b363df40e2f3ffc453bd236cc833", + "/high-01.mpegts": "5714640c3f17d86c56036453dc17d45f871af63b461318c43527af3482f8661c", + "/high-02.mpegts": "fea1cbfb199bc867a322c7a646d43594a1d0d1d23fa0bcb6e770f2669b489440", + "/high-03.mpegts": "4a74a28e7ad6bc626358e32365a0b07df1da82c92753e28032983e22404958b5", + "/high-04.mpegts": "d04889b3b996d3e79c12bc297f9577690d3ae4f4172cdc0484b584954dab789c", + "/high-05.mpegts": "36ee0c64b8c3637d0e2282c611e9250650ac493440095fc2efbe9de1c54add15", + "/high.m3u8": "672c0e8b99242be05b16fc747a00715b2c25579b1ecc1623c0579fa34f0cb11d", + "/low-00.mpegts": "cbd62f5f4641cbe188a15640139bea393b5927fce600ff7513ef9ade9b33fb62", + "/low-01.mpegts": "f7821fba38c63f5d80daef21cdd3430880bdc9fd5f5adfa939ed6481106c2507", + "/low-02.mpegts": "3dc93f9f0fd065678b01fc6c568c12350e9ab0b324d1e0fa0e9f77787da7e7d2", + "/low-03.mpegts": "d94c8913f7fde98161550041287529b90a58d537d6083d4382540c5fce0b430b", + "/low-04.mpegts": "11596c59b547c2ff23bbba1f70e15f061a3e87bbdc1f4f59daa9b5279a6003af", + "/low-05.mpegts": "5c6ec25a69fdad73a23cfbc34f0f3c6d8abe44592650c92fa9110a38d6bd9e45", + "/low.m3u8": "404a8d868ed2af3598269aee89caba0563c2805dac223fe4c00c9a9eda73554f", + "/master.m3u8": "f226bd38f3c76714ada2b5a6866ad1cb39b041023e4a18d971d175f26f917e38", + "/video-only.m3u8": "3d7bb9069f6218191dc65745389bf1ab0ba6d5ed66cbd14e2cf30211913da3fc", + "/grouped.m3u8": "02c7482a012645a60014d429873f785e94c9a54f13f94f0b82597c7627173bfc", + "/hls-1.5.17.js": "484054e8cd03d3f6d1781fb7f402bdc318d8a4c527f933a95c624e27cc9a9470", + "/hls-1.7.2.js": "afcde07437ec84b072fe8782e772ceb5046eac751b2719f73ae0d83d763bc3f5", + "/": "7abea2bb98110fb12f13773621338e2dd70804ecb5ac896febb5ef57db2bc386" + }, + "rows": [ + { + "iteration": 0, + "version": "1.5.17", + "status": "failed", + "failure": "page.evaluate: Target crashed ", + "failurePhase": "high-group", + "errors": [ + "page crashed" + ], + "crashes": [ + { + "phase": "high-group", + "at": "2026-09-15T09:08:09.677Z" + } + ], + "observation": { + "events": 0, + "states": [], + "controllerErrors": [], + "bufferSamples": 0, + "trackerSamples": 0, + "audioSamples": 0, + "endListSamples": 0 + }, + "pageStateError": "page.evaluate: Target page, context or browser has been closed", + "receivedEvents": [], + "eventScope": "Received async snapshots only, not guaranteed final executed event. This failed case predates the SDK 1.5 audio-controller discovery fix." + }, + { + "iteration": 1, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.333097, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 31, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.707701, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.773904, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 64, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.137517, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 74, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 266, + "inPageEvents": 266, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 266, + "trackerSamples": 252, + "audioSamples": 266, + "endListSamples": 90, + "emptyMediaWithVideo": { + "at": 1992, + "event": "AUDIO_TRACK_SWITCHING", + "data": { + "id": 2, + "type": "AUDIO" + }, + "media": { + "time": 1.752627, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": 1, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "WAITING_TRACK", + "nextLoadPosition": 12.031999666666668, + "mediaBuffer": "other", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_1_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_5", + "buffered": true, + "loaded": false + } + ] + } + } + } + } + ] + }, + { + "file": "D:\\github\\ArtPlayer\\refactor\\.cache\\hls-direct-loWJ6u\\report.json", + "sha256": "8f86558f9174d47477af30853ae3e77633822bcbe82ffaf470b6ddb4b111aa26", + "sequence": [ + "1.5.17", + "1.7.2", + "1.5.17", + "1.7.2" + ], + "host": "direct", + "plugin": false, + "transport": "http", + "worker": true, + "controllerState": true, + "switchBoundary": "immediate", + "captureBeforeDestroy": true, + "runnerSHA256": "292bd241a740c574d9993f5be6682abe8cf406c341ae7fd30c5c977f2f138ed3", + "controllerObserverSHA256": "0df40c6fb882cef4c6da23a87b8d0dad177d1a992e88c3c51bd52520e10c495b", + "browser": "155.0", + "inputs": { + "/english-00.mpegts": "cc599f7c270385e85c28f710a34c5bd90b09d4d27adb3b1e6af3de65584b8207", + "/english-01.mpegts": "01b17c28defc8a8ebf4978c5236eb759d80521a1cb840898095c35dac420cec5", + "/english-02.mpegts": "90751b8b5abedd6b2f2e4eb83ccd609098ec7f2901163aaebf977cb9a11c46eb", + "/english-03.mpegts": "9b1d86b7b261df66dbdace4ef1e846796cd710ffb72b22fc69532c1fe7d1c55e", + "/english-04.mpegts": "dbfddd4f997942dd0b912f4c8bdbc5c11ee2a3fc51ac67df48d3aed2756715b9", + "/english-05.mpegts": "9b53790d4f50f172852b7d4ff51bdd4bedd39e4c7a1efbfe734edf7b9a68a533", + "/english-06.mpegts": "50baaa5e9fe7ca49b22c4d0817c44103b3edc763aee7f1b17d22f796d4189d4a", + "/english.m3u8": "5aae9d117d458f65f7febae68555ea4e48b2055b4cfb123fb919e385a1edda21", + "/french-00.mpegts": "7278acd094bc7caeeeea424a2c11ac4285fc45a8becb6c8ec55068f295ae35cd", + "/french-01.mpegts": "e9464d109e36a53d7f151442b544d47ce79324bbaa805e0a98f171621c9c7a13", + "/french-02.mpegts": "3ac48cab6aac942950b59f79ac6bd950dcae425f14821b83b1b5bb72d6815eb0", + "/french-03.mpegts": "906f2d8b1f29bb7d57240b145563bab975d8f7dfff78cebd1505b6d2a3feb43b", + "/french-04.mpegts": "cbf82876118d41af254bdef51f6cd08d842e8c6edf53250667fad2b8088e3601", + "/french-05.mpegts": "a91e564ec54d845837217c45b8e25b08fe208f2b5f97562f513baabd515427d9", + "/french-06.mpegts": "2c8edc11b06bacf1e62c4db67594ce187aa93e0241012011ebcf587b64ccff46", + "/french.m3u8": "6f7fb3eacb944597fa3105cb6d708eac3a8dc413e1706a11b6fb0e631214634e", + "/high-00.mpegts": "c5a8faac85b0594818255117696dce43fda6b363df40e2f3ffc453bd236cc833", + "/high-01.mpegts": "5714640c3f17d86c56036453dc17d45f871af63b461318c43527af3482f8661c", + "/high-02.mpegts": "fea1cbfb199bc867a322c7a646d43594a1d0d1d23fa0bcb6e770f2669b489440", + "/high-03.mpegts": "4a74a28e7ad6bc626358e32365a0b07df1da82c92753e28032983e22404958b5", + "/high-04.mpegts": "d04889b3b996d3e79c12bc297f9577690d3ae4f4172cdc0484b584954dab789c", + "/high-05.mpegts": "36ee0c64b8c3637d0e2282c611e9250650ac493440095fc2efbe9de1c54add15", + "/high.m3u8": "672c0e8b99242be05b16fc747a00715b2c25579b1ecc1623c0579fa34f0cb11d", + "/low-00.mpegts": "cbd62f5f4641cbe188a15640139bea393b5927fce600ff7513ef9ade9b33fb62", + "/low-01.mpegts": "f7821fba38c63f5d80daef21cdd3430880bdc9fd5f5adfa939ed6481106c2507", + "/low-02.mpegts": "3dc93f9f0fd065678b01fc6c568c12350e9ab0b324d1e0fa0e9f77787da7e7d2", + "/low-03.mpegts": "d94c8913f7fde98161550041287529b90a58d537d6083d4382540c5fce0b430b", + "/low-04.mpegts": "11596c59b547c2ff23bbba1f70e15f061a3e87bbdc1f4f59daa9b5279a6003af", + "/low-05.mpegts": "5c6ec25a69fdad73a23cfbc34f0f3c6d8abe44592650c92fa9110a38d6bd9e45", + "/low.m3u8": "404a8d868ed2af3598269aee89caba0563c2805dac223fe4c00c9a9eda73554f", + "/master.m3u8": "f226bd38f3c76714ada2b5a6866ad1cb39b041023e4a18d971d175f26f917e38", + "/video-only.m3u8": "3d7bb9069f6218191dc65745389bf1ab0ba6d5ed66cbd14e2cf30211913da3fc", + "/grouped.m3u8": "02c7482a012645a60014d429873f785e94c9a54f13f94f0b82597c7627173bfc", + "/hls-1.5.17.js": "484054e8cd03d3f6d1781fb7f402bdc318d8a4c527f933a95c624e27cc9a9470", + "/hls-1.7.2.js": "afcde07437ec84b072fe8782e772ceb5046eac751b2719f73ae0d83d763bc3f5", + "/": "7abea2bb98110fb12f13773621338e2dd70804ecb5ac896febb5ef57db2bc386" + }, + "rows": [ + { + "iteration": 0, + "version": "1.5.17", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.354788, + "readyState": 3, + "height": 180, + "paused": false, + "frames": 32, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.718558, + "readyState": 3, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.28949, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 55, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 2.652349, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 63, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 216, + "inPageEvents": 216, + "hostEvents": 216, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 207, + "trackerSamples": 206, + "audioSamples": 0, + "endListSamples": 83, + "emptyMediaWithVideo": { + "receivedDuring": "high-group", + "at": 1036, + "event": "FRAG_BUFFERED", + "data": { + "id": "main", + "frag": { + "type": "main", + "sn": 5, + "level": 1 + } + }, + "media": { + "time": 0.458855, + "readyState": 3, + "height": 90, + "paused": false, + "frames": 11, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_1_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + } + ] + } + } + } + }, + { + "iteration": 1, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.352823, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 32, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.756331, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.828969, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 66, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 3.19334, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 75, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 287, + "inPageEvents": 287, + "hostEvents": 287, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 287, + "trackerSamples": 273, + "audioSamples": 287, + "endListSamples": 121, + "emptyMediaWithVideo": { + "receivedDuring": "low-group", + "at": 739, + "event": "AUDIO_TRACK_SWITCHING", + "data": { + "id": 1, + "type": "AUDIO" + }, + "media": { + "time": 0.413077, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 10, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 0, + "nextLoadPosition": 12, + "altAudio": 1, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "WAITING_TRACK", + "nextLoadPosition": 12.010666666666667, + "mediaBuffer": "other", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_5", + "buffered": true, + "loaded": false + } + ] + } + } + } + }, + { + "iteration": 2, + "version": "1.5.17", + "status": "failed", + "failure": "page.evaluate: Target crashed ", + "failurePhase": "high-group", + "errors": [ + "page crashed" + ], + "crashes": [ + { + "phase": "low-group", + "at": "2026-09-15T09:09:26.886Z" + } + ], + "observation": { + "events": 97, + "hostEvents": 97, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "ENDED", + "PARSING" + ], + "controllerErrors": [], + "bufferSamples": 89, + "trackerSamples": 92, + "audioSamples": 0, + "endListSamples": 30 + }, + "pageStateError": "page.evaluate: Target page, context or browser has been closed", + "receivedEvents": [ + { + "receivedDuring": "setup", + "at": 115, + "event": "AUDIO_TRACKS_UPDATED", + "data": { + "tracks": [ + { + "id": 0, + "name": "English", + "group": "low" + }, + { + "id": 1, + "name": "French", + "group": "low" + } + ] + }, + "media": { + "time": 0, + "readyState": 0, + "height": 0, + "paused": true, + "frames": 0, + "buffered": [], + "seekable": [] + }, + "controllers": { + "main": { + "state": "STOPPED", + "level": -1, + "nextLoadPosition": 0, + "altAudio": false, + "mediaBuffer": "media", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [], + "endList": {}, + "tracked": [] + } + }, + { + "receivedDuring": "setup", + "at": 116, + "event": "AUDIO_TRACK_SWITCHING", + "data": { + "id": 0, + "type": "AUDIO" + }, + "media": { + "time": 0, + "readyState": 0, + "height": 0, + "paused": true, + "frames": 0, + "buffered": [], + "seekable": [] + }, + "controllers": { + "main": { + "state": "STOPPED", + "level": -1, + "nextLoadPosition": 0, + "altAudio": false, + "mediaBuffer": "media", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [], + "endList": {}, + "tracked": [] + } + }, + { + "receivedDuring": "setup", + "at": 116, + "event": "LEVEL_SWITCHING", + "data": { + "id": 0, + "level": 0 + }, + "media": { + "time": 0, + "readyState": 0, + "height": 0, + "paused": true, + "frames": 0, + "buffered": [], + "seekable": [] + }, + "controllers": { + "main": { + "state": "STOPPED", + "level": -1, + "nextLoadPosition": 0, + "altAudio": false, + "mediaBuffer": "media", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [], + "endList": {}, + "tracked": [] + } + }, + { + "receivedDuring": "initial-playback", + "at": 124, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "main", + "sn": 0, + "level": 0 + } + }, + "media": { + "time": 0, + "readyState": 0, + "height": 0, + "paused": true, + "frames": 0, + "buffered": [], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 2, + "altAudio": false, + "mediaBuffer": "media", + "buffered": [], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [], + "endList": {}, + "tracked": [] + } + }, + { + "receivedDuring": "initial-playback", + "at": 125, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "audio", + "sn": 0, + "level": 0 + } + }, + "media": { + "time": 0, + "readyState": 0, + "height": 0, + "paused": true, + "frames": 0, + "buffered": [], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 2, + "altAudio": false, + "mediaBuffer": "media", + "buffered": [], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [], + "endList": {}, + "tracked": [] + } + }, + { + "receivedDuring": "initial-playback", + "at": 128, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "main", + "sn": 0, + "level": 0 + } + }, + "media": { + "time": 0, + "readyState": 0, + "height": 0, + "paused": true, + "frames": 0, + "buffered": [], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 2, + "altAudio": false, + "mediaBuffer": "media", + "buffered": [], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 132, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "audio", + "sn": 0, + "level": 0 + } + }, + "media": { + "time": 0, + "readyState": 0, + "height": 0, + "paused": true, + "frames": 0, + "buffered": [], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 2, + "altAudio": false, + "mediaBuffer": "media", + "buffered": [], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": false, + "loaded": true + }, + { + "key": "audio_0_0", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 165, + "event": "AUDIO_TRACK_SWITCHED", + "data": { + "id": 0, + "type": "AUDIO" + }, + "media": { + "time": 0, + "readyState": 0, + "height": 0, + "paused": true, + "frames": 0, + "buffered": [], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 0, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "media", + "buffered": [], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": false, + "loaded": true + }, + { + "key": "audio_0_0", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 168, + "event": "BUFFER_APPENDED", + "data": { + "type": "video", + "frag": { + "type": "main", + "sn": 0, + "level": 0 + } + }, + "media": { + "time": 0, + "readyState": 0, + "height": 0, + "paused": true, + "frames": 0, + "buffered": [], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 0, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [] + }, + { + "type": "audio", + "updating": true, + "buffered": [] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": false, + "loaded": true + }, + { + "key": "audio_0_0", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 169, + "event": "loadedmetadata", + "media": { + "time": 0, + "readyState": 1, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 0, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": true, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": false, + "loaded": true + }, + { + "key": "audio_0_0", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 170, + "event": "BUFFER_APPENDED", + "data": { + "type": "audio", + "frag": { + "type": "audio", + "sn": 0, + "level": 0 + } + }, + "media": { + "time": 0, + "readyState": 1, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 0, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": false, + "loaded": true + }, + { + "key": "audio_0_0", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 171, + "event": "BUFFER_APPENDED", + "data": { + "type": "video", + "frag": { + "type": "main", + "sn": 0, + "level": 0 + } + }, + "media": { + "time": 0, + "readyState": 1, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 0, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": false, + "loaded": true + }, + { + "key": "audio_0_0", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 171, + "event": "AUDIO_TRACKS_UPDATED", + "data": { + "tracks": [ + { + "id": 0, + "name": "French", + "group": "high" + }, + { + "id": 1, + "name": "English", + "group": "high" + }, + { + "id": 2, + "name": "Commentary", + "group": "high" + } + ] + }, + "media": { + "time": 0, + "readyState": 1, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "IDLE", + "level": 0, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_0", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 172, + "event": "AUDIO_TRACK_SWITCHING", + "data": { + "id": 1, + "type": "AUDIO" + }, + "media": { + "time": 0, + "readyState": 1, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "IDLE", + "level": 0, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 172, + "event": "LEVEL_SWITCHING", + "data": { + "id": 0, + "level": 1 + }, + "media": { + "time": 0, + "readyState": 1, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "IDLE", + "level": 0, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 173, + "event": "FRAG_BUFFERED", + "data": { + "id": "main", + "frag": { + "type": "main", + "sn": 0, + "level": 0 + } + }, + "media": { + "time": 0, + "readyState": 1, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "WAITING_LEVEL", + "level": 1, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 176, + "event": "BUFFER_APPENDED", + "data": { + "type": "audio", + "frag": { + "type": "audio", + "sn": 0, + "level": 0 + } + }, + "media": { + "time": 0, + "readyState": 1, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "WAITING_LEVEL", + "level": 1, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 177, + "event": "FRAG_BUFFERED", + "data": { + "id": "audio", + "frag": { + "type": "audio", + "sn": 0, + "level": 0 + } + }, + "media": { + "time": 0, + "readyState": 1, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "WAITING_LEVEL", + "level": 1, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 181, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "audio", + "sn": 1, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 1, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "WAITING_LEVEL", + "level": 1, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 183, + "event": "canplay", + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "WAITING_LEVEL", + "level": 1, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 184, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "main", + "sn": 1, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 1, + "nextLoadPosition": 4, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 1, + "level": 1, + "type": "main", + "start": 2, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 184, + "event": "LEVEL_SWITCHED", + "data": { + "level": 0 + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 1, + "nextLoadPosition": 4, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 1, + "level": 1, + "type": "main", + "start": 2, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 187, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "audio", + "sn": 1, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 1, + "nextLoadPosition": 4, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 1, + "level": 1, + "type": "main", + "start": 2, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 188, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "main", + "sn": 1, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 1, + "nextLoadPosition": 4, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 1, + "level": 1, + "type": "main", + "start": 2, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 193, + "event": "BUFFER_APPENDED", + "data": { + "type": "video", + "frag": { + "type": "main", + "sn": 1, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 1, + "nextLoadPosition": 4, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 1, + "level": 1, + "type": "main", + "start": 2, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 193, + "event": "BUFFER_APPENDED", + "data": { + "type": "video", + "frag": { + "type": "main", + "sn": 1, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 1, + "nextLoadPosition": 4, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 4 + ] + ], + "current": { + "sn": 1, + "level": 1, + "type": "main", + "start": 2, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 194, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "main", + "sn": 2, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 1, + "nextLoadPosition": 6, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 4 + ] + ], + "current": { + "sn": 2, + "level": 1, + "type": "main", + "start": 4, + "duration": 2 + }, + "previous": { + "sn": 1, + "level": 1, + "type": "main", + "start": 2, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 194, + "event": "FRAG_BUFFERED", + "data": { + "id": "main", + "frag": { + "type": "main", + "sn": 1, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 1, + "nextLoadPosition": 6, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 4 + ] + ], + "current": { + "sn": 2, + "level": 1, + "type": "main", + "start": 4, + "duration": 2 + }, + "previous": { + "sn": 1, + "level": 1, + "type": "main", + "start": 2, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 197, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "main", + "sn": 2, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 1, + "nextLoadPosition": 6, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 4 + ] + ], + "current": { + "sn": 2, + "level": 1, + "type": "main", + "start": 4, + "duration": 2 + }, + "previous": { + "sn": 1, + "level": 1, + "type": "main", + "start": 2, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 200, + "event": "BUFFER_APPENDED", + "data": { + "type": "video", + "frag": { + "type": "main", + "sn": 2, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 1, + "nextLoadPosition": 6, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 6 + ] + ], + "current": { + "sn": 2, + "level": 1, + "type": "main", + "start": 4, + "duration": 2 + }, + "previous": { + "sn": 1, + "level": 1, + "type": "main", + "start": 2, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 201, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "main", + "sn": 3, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 1, + "nextLoadPosition": 8, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 6 + ] + ], + "current": { + "sn": 3, + "level": 1, + "type": "main", + "start": 6, + "duration": 2 + }, + "previous": { + "sn": 2, + "level": 1, + "type": "main", + "start": 4, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 201, + "event": "FRAG_BUFFERED", + "data": { + "id": "main", + "frag": { + "type": "main", + "sn": 2, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 1, + "nextLoadPosition": 8, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 6 + ] + ], + "current": { + "sn": 3, + "level": 1, + "type": "main", + "start": 6, + "duration": 2 + }, + "previous": { + "sn": 2, + "level": 1, + "type": "main", + "start": 4, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 203, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "main", + "sn": 3, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 1, + "nextLoadPosition": 8, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 6 + ] + ], + "current": { + "sn": 3, + "level": 1, + "type": "main", + "start": 6, + "duration": 2 + }, + "previous": { + "sn": 2, + "level": 1, + "type": "main", + "start": 4, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 204, + "event": "BUFFER_APPENDED", + "data": { + "type": "video", + "frag": { + "type": "main", + "sn": 3, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 1, + "nextLoadPosition": 8, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 8 + ] + ], + "current": { + "sn": 3, + "level": 1, + "type": "main", + "start": 6, + "duration": 2 + }, + "previous": { + "sn": 2, + "level": 1, + "type": "main", + "start": 4, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 8 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 206, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "main", + "sn": 4, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 1, + "nextLoadPosition": 10, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 8 + ] + ], + "current": { + "sn": 4, + "level": 1, + "type": "main", + "start": 8, + "duration": 2 + }, + "previous": { + "sn": 3, + "level": 1, + "type": "main", + "start": 6, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 8 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 206, + "event": "FRAG_BUFFERED", + "data": { + "id": "main", + "frag": { + "type": "main", + "sn": 3, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 1, + "nextLoadPosition": 10, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 8 + ] + ], + "current": { + "sn": 4, + "level": 1, + "type": "main", + "start": 8, + "duration": 2 + }, + "previous": { + "sn": 3, + "level": 1, + "type": "main", + "start": 6, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 8 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 209, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "main", + "sn": 4, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 1, + "nextLoadPosition": 10, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 8 + ] + ], + "current": { + "sn": 4, + "level": 1, + "type": "main", + "start": 8, + "duration": 2 + }, + "previous": { + "sn": 3, + "level": 1, + "type": "main", + "start": 6, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 8 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 211, + "event": "BUFFER_APPENDED", + "data": { + "type": "video", + "frag": { + "type": "main", + "sn": 4, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 1, + "nextLoadPosition": 10, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 10 + ] + ], + "current": { + "sn": 4, + "level": 1, + "type": "main", + "start": 8, + "duration": 2 + }, + "previous": { + "sn": 3, + "level": 1, + "type": "main", + "start": 6, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 10 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 212, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "main", + "sn": 5, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 10 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 4, + "level": 1, + "type": "main", + "start": 8, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 10 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 213, + "event": "FRAG_BUFFERED", + "data": { + "id": "main", + "frag": { + "type": "main", + "sn": 4, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 10 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 4, + "level": 1, + "type": "main", + "start": 8, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 10 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 215, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "main", + "sn": 5, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 10 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 4, + "level": 1, + "type": "main", + "start": 8, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 10 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 216, + "event": "BUFFER_APPENDED", + "data": { + "type": "video", + "frag": { + "type": "main", + "sn": 5, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 4, + "level": 1, + "type": "main", + "start": 8, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 216, + "event": "FRAG_BUFFERED", + "data": { + "id": "main", + "frag": { + "type": "main", + "sn": 5, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 221, + "event": "AUDIO_TRACK_SWITCHED", + "data": { + "id": 1, + "type": "AUDIO" + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 221, + "event": "BUFFER_APPENDED", + "data": { + "type": "audio", + "frag": { + "type": "audio", + "sn": 1, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 2.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 2.005333 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 222, + "event": "BUFFER_APPENDED", + "data": { + "type": "audio", + "frag": { + "type": "audio", + "sn": 1, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 4.010666 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 4.010666 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": false, + "loaded": true + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 223, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "audio", + "sn": 2, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 4.010666 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 4.010666 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 223, + "event": "FRAG_BUFFERED", + "data": { + "id": "audio", + "frag": { + "type": "audio", + "sn": 1, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 3, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 4.010666 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 4.010666 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 226, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "audio", + "sn": 2, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 4.010666 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 4.010666 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 227, + "event": "BUFFER_APPENDED", + "data": { + "type": "audio", + "frag": { + "type": "audio", + "sn": 2, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 6.016 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 6.016 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 228, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "audio", + "sn": 3, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 6.016 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 6.016 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 228, + "event": "FRAG_BUFFERED", + "data": { + "id": "audio", + "frag": { + "type": "audio", + "sn": 2, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 6.016 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 6.016 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 231, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "audio", + "sn": 3, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 6.016 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 6.016 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 232, + "event": "BUFFER_APPENDED", + "data": { + "type": "audio", + "frag": { + "type": "audio", + "sn": 3, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 8 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 8 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 233, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "audio", + "sn": 4, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 8 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 8 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 233, + "event": "FRAG_BUFFERED", + "data": { + "id": "audio", + "frag": { + "type": "audio", + "sn": 3, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 8 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 8 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 237, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "audio", + "sn": 4, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 8 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 8 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 238, + "event": "BUFFER_APPENDED", + "data": { + "type": "audio", + "frag": { + "type": "audio", + "sn": 4, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 10.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 10.005333 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 238, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "audio", + "sn": 5, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 10.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 10.005333 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 238, + "event": "FRAG_BUFFERED", + "data": { + "id": "audio", + "frag": { + "type": "audio", + "sn": 4, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 10.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 10.005333 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 246, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "audio", + "sn": 5, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 10.005333 + ] + ], + "seekable": [ + [ + 0, + 12 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 10.005333 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 250, + "event": "BUFFER_APPENDED", + "data": { + "type": "audio", + "frag": { + "type": "audio", + "sn": 5, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.010666 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.010666 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 250, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "audio", + "sn": 6, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.010666 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.010666 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 251, + "event": "FRAG_BUFFERED", + "data": { + "id": "audio", + "frag": { + "type": "audio", + "sn": 5, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.010666 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.010666 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 253, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "audio", + "sn": 6, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": true, + "frames": 0, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.010666 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.010666 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_6", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 257, + "event": "playing", + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 0, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.010666 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_6", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 259, + "event": "BUFFER_APPENDED", + "data": { + "type": "audio", + "frag": { + "type": "audio", + "sn": 6, + "level": 1 + } + }, + "media": { + "time": 0, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 0, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_6", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "initial-playback", + "at": 260, + "event": "FRAG_BUFFERED", + "data": { + "id": "audio", + "frag": { + "type": "audio", + "sn": 6, + "level": 1 + } + }, + "media": { + "time": 0.004123, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 0, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + }, + "audio": { + "fragment": { + "sn": 6, + "level": 1, + "type": "audio", + "start": 12.010666666666667, + "duration": 0.02133333333333276 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_6", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 634, + "event": "AUDIO_TRACKS_UPDATED", + "data": { + "tracks": [ + { + "id": 0, + "name": "English", + "group": "low" + }, + { + "id": 1, + "name": "French", + "group": "low" + } + ] + }, + "media": { + "time": 0.341337, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "ended", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + }, + "audio": { + "fragment": { + "sn": 6, + "level": 1, + "type": "audio", + "start": 12.010666666666667, + "duration": 0.02133333333333276 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_6", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 635, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "audio", + "sn": 6, + "level": 0 + } + }, + "media": { + "time": 0.341337, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "ended", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 636, + "event": "AUDIO_TRACK_SWITCHING", + "data": { + "id": 0, + "type": "AUDIO" + }, + "media": { + "time": 0.341337, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "ended", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 636, + "event": "LEVEL_SWITCHING", + "data": { + "id": 0, + "level": 0 + }, + "media": { + "time": 0.341337, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 12, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "ended", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 636, + "event": "BUFFER_FLUSHING", + "data": { + "type": "video", + "startOffset": 0, + "endOffset": "Infinity" + }, + "media": { + "time": 0.341337, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 1, + "nextLoadPosition": 0.341337, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": null, + "previous": { + "sn": 5, + "level": 1, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": true, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 638, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "main", + "sn": 0, + "level": 0 + } + }, + "media": { + "time": 0.381837, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 639, + "event": "BUFFER_FLUSHED", + "data": { + "type": "video" + }, + "media": { + "time": 0.381837, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 643, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "audio", + "sn": 6, + "level": 0 + } + }, + "media": { + "time": 0.381837, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_6", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 644, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "main", + "sn": 0, + "level": 0 + } + }, + "media": { + "time": 0.381837, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_6", + "buffered": false, + "loaded": true + }, + { + "key": "main_0_0", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 647, + "event": "BUFFER_APPENDED", + "data": { + "type": "video", + "frag": { + "type": "main", + "sn": 0, + "level": 0 + } + }, + "media": { + "time": 0.381837, + "readyState": 3, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSING", + "level": 0, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_6", + "buffered": false, + "loaded": true + }, + { + "key": "main_0_0", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 649, + "event": "BUFFER_APPENDED", + "data": { + "type": "video", + "frag": { + "type": "main", + "sn": 0, + "level": 0 + } + }, + "media": { + "time": 0.381837, + "readyState": 3, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 0, + "nextLoadPosition": 2, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + }, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_6", + "buffered": false, + "loaded": true + }, + { + "key": "main_0_0", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 649, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "main", + "sn": 1, + "level": 0 + } + }, + "media": { + "time": 0.381837, + "readyState": 3, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 4, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 1, + "level": 0, + "type": "main", + "start": 2, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_6", + "buffered": false, + "loaded": true + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 649, + "event": "FRAG_BUFFERED", + "data": { + "id": "main", + "frag": { + "type": "main", + "sn": 0, + "level": 0 + } + }, + "media": { + "time": 0.381837, + "readyState": 3, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 4, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 1, + "level": 0, + "type": "main", + "start": 2, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_6", + "buffered": false, + "loaded": true + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 653, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "main", + "sn": 1, + "level": 0 + } + }, + "media": { + "time": 0.381837, + "readyState": 3, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 2 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 4, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 2 + ] + ], + "current": { + "sn": 1, + "level": 0, + "type": "main", + "start": 2, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_6", + "buffered": false, + "loaded": true + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 655, + "event": "BUFFER_APPENDED", + "data": { + "type": "video", + "frag": { + "type": "main", + "sn": 1, + "level": 0 + } + }, + "media": { + "time": 0.381837, + "readyState": 3, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 4 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSING", + "level": 0, + "nextLoadPosition": 4, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 4 + ] + ], + "current": { + "sn": 1, + "level": 0, + "type": "main", + "start": 2, + "duration": 2 + }, + "previous": { + "sn": 0, + "level": 0, + "type": "main", + "start": 0, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_6", + "buffered": false, + "loaded": true + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 656, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "main", + "sn": 2, + "level": 0 + } + }, + "media": { + "time": 0.381837, + "readyState": 3, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 4 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 6, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 4 + ] + ], + "current": { + "sn": 2, + "level": 0, + "type": "main", + "start": 4, + "duration": 2 + }, + "previous": { + "sn": 1, + "level": 0, + "type": "main", + "start": 2, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_6", + "buffered": false, + "loaded": true + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 656, + "event": "FRAG_BUFFERED", + "data": { + "id": "main", + "frag": { + "type": "main", + "sn": 1, + "level": 0 + } + }, + "media": { + "time": 0.381837, + "readyState": 3, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 4 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 6, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 4 + ] + ], + "current": { + "sn": 2, + "level": 0, + "type": "main", + "start": 4, + "duration": 2 + }, + "previous": { + "sn": 1, + "level": 0, + "type": "main", + "start": 2, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_6", + "buffered": false, + "loaded": true + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 660, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "main", + "sn": 2, + "level": 0 + } + }, + "media": { + "time": 0.381837, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 4 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 6, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 4 + ] + ], + "current": { + "sn": 2, + "level": 0, + "type": "main", + "start": 4, + "duration": 2 + }, + "previous": { + "sn": 1, + "level": 0, + "type": "main", + "start": 2, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_6", + "buffered": false, + "loaded": true + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 661, + "event": "BUFFER_APPENDED", + "data": { + "type": "video", + "frag": { + "type": "main", + "sn": 2, + "level": 0 + } + }, + "media": { + "time": 0.381837, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 6 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 0, + "nextLoadPosition": 6, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 6 + ] + ], + "current": { + "sn": 2, + "level": 0, + "type": "main", + "start": 4, + "duration": 2 + }, + "previous": { + "sn": 1, + "level": 0, + "type": "main", + "start": 2, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_6", + "buffered": false, + "loaded": true + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 662, + "event": "FRAG_LOADING", + "data": { + "frag": { + "type": "main", + "sn": 3, + "level": 0 + } + }, + "media": { + "time": 0.381837, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 6 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 8, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 6 + ] + ], + "current": { + "sn": 3, + "level": 0, + "type": "main", + "start": 6, + "duration": 2 + }, + "previous": { + "sn": 2, + "level": 0, + "type": "main", + "start": 4, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_6", + "buffered": false, + "loaded": true + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 662, + "event": "FRAG_BUFFERED", + "data": { + "id": "main", + "frag": { + "type": "main", + "sn": 2, + "level": 0 + } + }, + "media": { + "time": 0.381837, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 6 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 8, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 6 + ] + ], + "current": { + "sn": 3, + "level": 0, + "type": "main", + "start": 6, + "duration": 2 + }, + "previous": { + "sn": 2, + "level": 0, + "type": "main", + "start": 4, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_6", + "buffered": false, + "loaded": true + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": true, + "loaded": false + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 664, + "event": "FRAG_LOADED", + "data": { + "frag": { + "type": "main", + "sn": 3, + "level": 0 + } + }, + "media": { + "time": 0.381837, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 6 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "FRAG_LOADING", + "level": 0, + "nextLoadPosition": 8, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 6 + ] + ], + "current": { + "sn": 3, + "level": 0, + "type": "main", + "start": 6, + "duration": 2 + }, + "previous": { + "sn": 2, + "level": 0, + "type": "main", + "start": 4, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "type": "audio", + "updating": false, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_5", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_6", + "buffered": false, + "loaded": true + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_3", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 666, + "event": "BUFFER_FLUSHING", + "data": { + "type": "audio", + "startOffset": 0, + "endOffset": "Infinity" + }, + "media": { + "time": 0.381837, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [ + [ + 0, + 8 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 0, + "nextLoadPosition": 8, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 8 + ] + ], + "current": { + "sn": 3, + "level": 0, + "type": "main", + "start": 6, + "duration": 2 + }, + "previous": { + "sn": 2, + "level": 0, + "type": "main", + "start": 4, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": true, + "buffered": [ + [ + 0, + 8 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [ + [ + 0, + 12.032 + ] + ] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_3", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 666, + "event": "AUDIO_TRACK_SWITCHING", + "data": { + "id": 1, + "type": "AUDIO" + }, + "media": { + "time": 0.381837, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 0, + "nextLoadPosition": 8, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 8 + ] + ], + "current": { + "sn": 3, + "level": 0, + "type": "main", + "start": 6, + "duration": 2 + }, + "previous": { + "sn": 2, + "level": 0, + "type": "main", + "start": 4, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": true, + "buffered": [ + [ + 0, + 8 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_3", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 666, + "event": "high-group:requested", + "data": { + "boundary": "immediate", + "audioTrack": 1 + }, + "media": { + "time": 0.381837, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 0, + "nextLoadPosition": 8, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 8 + ] + ], + "current": { + "sn": 3, + "level": 0, + "type": "main", + "start": 6, + "duration": 2 + }, + "previous": { + "sn": 2, + "level": 0, + "type": "main", + "start": 4, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": true, + "buffered": [ + [ + 0, + 8 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_3", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 666, + "event": "AUDIO_TRACKS_UPDATED", + "data": { + "tracks": [ + { + "id": 0, + "name": "French", + "group": "high" + }, + { + "id": 1, + "name": "English", + "group": "high" + }, + { + "id": 2, + "name": "Commentary", + "group": "high" + } + ] + }, + "media": { + "time": 0.381837, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 0, + "nextLoadPosition": 8, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 8 + ] + ], + "current": { + "sn": 3, + "level": 0, + "type": "main", + "start": 6, + "duration": 2 + }, + "previous": { + "sn": 2, + "level": 0, + "type": "main", + "start": 4, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": true, + "buffered": [ + [ + 0, + 8 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_3", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 667, + "event": "AUDIO_TRACK_SWITCHING", + "data": { + "id": 0, + "type": "AUDIO" + }, + "media": { + "time": 0.381837, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 0, + "nextLoadPosition": 8, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 8 + ] + ], + "current": { + "sn": 3, + "level": 0, + "type": "main", + "start": 6, + "duration": 2 + }, + "previous": { + "sn": 2, + "level": 0, + "type": "main", + "start": 4, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": true, + "buffered": [ + [ + 0, + 8 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_3", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 667, + "event": "LEVEL_SWITCHING", + "data": { + "id": 0, + "level": 1 + }, + "media": { + "time": 0.381837, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "PARSED", + "level": 0, + "nextLoadPosition": 8, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 8 + ] + ], + "current": { + "sn": 3, + "level": 0, + "type": "main", + "start": 6, + "duration": 2 + }, + "previous": { + "sn": 2, + "level": 0, + "type": "main", + "start": 4, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": true, + "buffered": [ + [ + 0, + 8 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_3", + "buffered": false, + "loaded": true + } + ] + } + }, + { + "receivedDuring": "low-group", + "at": 667, + "event": "BUFFER_FLUSHING", + "data": { + "type": "video", + "startOffset": 0, + "endOffset": "Infinity" + }, + "media": { + "time": 0.381837, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 9, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "IDLE", + "level": 0, + "nextLoadPosition": 0.381837, + "altAudio": true, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 8 + ] + ], + "current": null, + "previous": { + "sn": 2, + "level": 0, + "type": "main", + "start": 4, + "duration": 2 + } + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": true, + "buffered": [ + [ + 0, + 8 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [] + } + ], + "endList": {}, + "tracked": [ + { + "key": "audio_1_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_1_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": true, + "loaded": false + } + ] + } + } + ], + "eventScope": "Received async snapshots only, not guaranteed final executed event. This failed case predates the SDK 1.5 audio-controller discovery fix." + }, + { + "iteration": 3, + "version": "1.7.2", + "status": "passed", + "highPlayback": { + "start": { + "time": 1.471106, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 32, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 1.838008, + "readyState": 4, + "height": 180, + "paused": false, + "frames": 41, + "buffered": [ + [ + 0, + 12 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "lowPlayback": { + "start": { + "time": 2.40489, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 55, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "end": { + "time": 2.80861, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 64, + "buffered": [ + [ + 2.005333, + 12.032 + ] + ], + "seekable": [ + [ + 0, + 12.032 + ] + ] + } + }, + "errors": [], + "crashes": [], + "observation": { + "events": 290, + "inPageEvents": 290, + "hostEvents": 290, + "states": [ + "STOPPED", + "FRAG_LOADING", + "PARSED", + "IDLE", + "WAITING_LEVEL", + "PARSING", + "ENDED" + ], + "controllerErrors": [], + "bufferSamples": 290, + "trackerSamples": 276, + "audioSamples": 290, + "endListSamples": 123, + "emptyMediaWithVideo": { + "receivedDuring": "low-group", + "at": 787, + "event": "AUDIO_TRACK_SWITCHING", + "data": { + "id": 1, + "type": "AUDIO" + }, + "media": { + "time": 0.537978, + "readyState": 4, + "height": 90, + "paused": false, + "frames": 11, + "buffered": [], + "seekable": [ + [ + 0, + 12.032 + ] + ] + }, + "controllers": { + "main": { + "state": "ENDED", + "level": 0, + "nextLoadPosition": 12, + "altAudio": 1, + "mediaBuffer": "video", + "buffered": [ + [ + 0, + 12 + ] + ], + "current": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + }, + "previous": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + } + }, + "audio": { + "state": "WAITING_TRACK", + "nextLoadPosition": 12.010666666666667, + "mediaBuffer": "other", + "buffered": [], + "current": null, + "previous": null + }, + "mediaSourceState": "open", + "buffers": [ + { + "type": "video", + "updating": false, + "buffered": [ + [ + 0, + 12 + ] + ] + }, + { + "type": "audio", + "updating": true, + "buffered": [] + } + ], + "endList": { + "main": { + "fragment": { + "sn": 5, + "level": 0, + "type": "main", + "start": 10, + "duration": 2 + }, + "buffered": true, + "loaded": false + } + }, + "tracked": [ + { + "key": "main_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_0", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_1", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_2", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_3", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_3", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_4", + "buffered": true, + "loaded": false + }, + { + "key": "audio_0_4", + "buffered": true, + "loaded": false + }, + { + "key": "main_0_5", + "buffered": true, + "loaded": false + } + ] + } + } + } + } + ] + } + ], + "findings": [ + "Two direct SDK 1.5.17 page crashes before destroy were reproduced during this task; distinct from the unresolved 1.7.2 playback stall.", + "First crashed iteration was first in its browser sequence, with no earlier SDK, ArtPlayer or plugin. Page-only snapshots were unavailable after crash.", + "Second crashed iteration retained 97 host events after page loss: audio flush, high group request, video flush; latest received snapshot at media time 0.381837 has main IDLE, video range 0-8, audio empty, both SourceBuffers updating. No native stack or demonstrated causal attribution.", + "Final direct/published controls passed after adding the host queue and locating the 1.5 audio controller through networkControllers; does not erase crashes." + ] +} diff --git a/refactor/changes/2026-09-15-PKG-HLS-SDK-01-controller-state.md b/refactor/changes/2026-09-15-PKG-HLS-SDK-01-controller-state.md new file mode 100644 index 000000000..6780ba25e --- /dev/null +++ b/refactor/changes/2026-09-15-PKG-HLS-SDK-01-controller-state.md @@ -0,0 +1,96 @@ +# PKG-HLS-SDK-01 控制器现场与 Firefox 诊断限制 + +来源 HEAD:`ea3174daa28e698af3db2ff36aecf4ef2da54470`。本次是进行中任务的检查点, +不是插件验收完成;HLS-PLAYBACK-01 与 HLS-CRASH-01 继续 open。 + +## 取得的证据与下一步变化 + +未改动的分组集成用例在 Firefox 155.0 / Hls.js 1.7.2 / 发布核心 / 候选插件上 +连续执行 20 次均通过。这只能说明本轮未再现,不推翻先前 0.999146 秒停滞、 +空媒体缓冲及没有后续 high 视频请求的失败。不能把重复通过作为关闭风险的依据。 + +对固定 SDK 增加可选 `--controller-state`:在已有事件及 buffer/fragment 事件上 +读取主/音频控制器、独立 SourceBuffer、当前/上一片段、endList 和片段跟踪状态。 +仍用原来最多 400 条的事件队列,未插入 play/seek、关闭 Worker、改变 SDK 参数或 +扩大断言超时。未开启时不安装观察函数,也不增加这些观察事件。 +启用后还通过页面绑定异步复制事件到 Node 的独立400条队列,页面崩溃后仍保留已收到的 +记录;最后尚未送达的事件可能丢失,receivedDuring 仅表示宿主收到时的阶段。 +无穷大的 flush 终点写为字符串 Infinity,避免 JSON 把它变成 null 后产生歧义。 + +新的成功对照也出现过主控制器 ENDED、video.buffered 为空,但视频 SourceBuffer +仍有 0–12 秒数据,音频 SourceBuffer 暂时为空的组合。其后正常恢复并双向切档实播。 +因此,单独看到 ENDED 和 video.buffered=[] 不足以认定根因;后续失败需要同时保留 +音频/视频缓冲、片段追踪和 flush 顺序,不能据此强行 reset 主控制器。 + +## 实现与验证 + +`test/helpers/hls-controller-state.js` 是可序列化进页面的只读快照函数,仅用于 +两个冻结 SDK。fragmentTracker 归属 stream/audio controller;1.5.17 的 +sourceBuffer 字典与 1.7.2 的 sourceBuffers 数组分别读取。loaded 对象会含循环 +引用,只记录是否存在,不导出整个对象。销毁后不读取失效的公共档位 getter。 +1.5.17 的 audio controller 从 networkControllers 中按 playlistType 识别; +1.7.2 则可读取 audioStreamController,不能因字段缺失误报没有音频控制器。 +原生 range getter 失败时返回单独 diagnosticError,不覆盖播放器原失败。 + +新增四项 Node/独立 VM 测试覆盖页面序列化、循环引用、旧版缓冲布局、销毁 getter +和采集错误;与既有固定 SDK 来源测试合计 5 通过,定向 lint 通过。 + +最终观察器实际运行:直接 native video 两 SDK 各一次,发布核心+候选插件两 SDK +各一次;四次均通过且均取得非空独立缓冲、片段跟踪和 endList 记录,无采集错误。 +两版都有音频控制器状态,并验证 Node 收到记录与页面队列数量相同。 +原默认模式 Hls.js 1.7.2 另运行一次通过,未开启 controller/Worker observer 或 SDK logs。 +这五次不是全包矩阵。原集成测试的 20 次在新增观察器前执行,单独记录。 + +最初七次观察运行虽完成播放,但 tracker 路径错误导致字段缺失;修正归属后又做 +四次,确认 tracker 可读,不过 1.5.17 的独立缓冲字段仍未收集。补上旧缓冲布局的 +早期四次和默认一次也保存;之后补齐页面外保留及1.5音频定位,再做最终验证。 +所有这些日志分别保留,不能把早期部分附件当作完整控制器证据。 +lint 首轮三处 runner 说明/格式问题已修正;没有更新 SDK 或媒体来制造通过。 + +## 本轮再次捕获的真实崩溃 + +上述改进期间,直接 native video 的两个诊断序列各发生一次 Hls.js 1.5.17 页面崩溃。 +第一个序列为一失败一通过,首个1.5.17就在 high-group 阶段崩溃,无更早SDK、ArtPlayer +或插件;当时只有页内队列,崩溃后读不到现场。第二个序列为三通过一失败,失败是第三项 +1.5.17,Node 在页面失联后仍保留97条已收到事件。两个序列退出码均为1,最终通过不覆盖它们。 + +第二次最后记录:播放位置0.381837、readyState=4、高度90、9帧;先发audio flush, +再选择音轨、高组,最后发video flush。最后video SourceBuffer仍为0–8秒,audio为空, +两者updating=true,main从PARSED进入IDLE,endList为空。此时尚未执行destroy。 +crash事件在宿主low-group阶段收到,后续high-group等待抛出Target crashed;保留两种 +阶段信息,不把宿主阶段标签当精确原生崩溃位置。最后收到的事件不一定是最后执行的事件。 +这些记录增强了独立SDK/Firefox路径证据,但没有定位原生模块、异常代码或堆栈; +尤其不能把此页面崩溃与1.7.2的播放停滞合并成同一个已证明根因。 + +## Firefox 原生崩溃证据的限制 + +实际安装目录 firefox-1543/firefox/omni.ja 的 +`chrome/toolkit/content/global/buildconfig.html` 明确包含 `--disable-crashreporter`。 +同目录 playwright.cfg 第350行锁定 toolkit.crashreporter.enabled=false,且没有 +crashreporter/minidump-analyzer 可执行文件。自动导航 about:buildconfig 超时后, +改为只读提取本地归档成员;并未改写浏览器、偏好或系统注册表。 + +[Mozilla 文档](https://firefox-source-docs.mozilla.org/toolkit/crashreporter/crashreporter/index.html) +说明环境变量可控制已构建的 crash reporter,但不能让本机已禁用的编译功能出现。 +所以这里没有添加一个虚假的“设置变量即可收集 minidump”选项,也没有声称取得原生堆栈。 +后续需要针对本任务创建的准确进程收集 Windows 原生异常,或使用具备相应功能的独立 +浏览器对照。可选工具依据见 +[Microsoft ProcDump](https://learn.microsoft.com/en-us/sysinternals/downloads/procdump)。 +本轮仅查阅该工具说明,未安装、附加调试器、设置系统级崩溃捕获或上传报告。 + +## 重跑与交接 + +```sh +yarn test:browser hls-sdk.spec.js --project=firefox --grep "1.7.2.*published core: group changes" --repeat-each=20 --workers=1 +node refactor/scripts/hls-sdk-diagnostic.mjs --sequence 1.5.17,1.7.2 --switch-boundary immediate --controller-state --capture-before-destroy +node refactor/scripts/hls-sdk-diagnostic.mjs --sequence 1.5.17,1.7.2 --host published --plugin --switch-boundary selected --controller-state --capture-before-destroy +node --test refactor/scripts/hls-controller-state.test.mjs refactor/scripts/hls-sdk-matrix.test.mjs +``` + +Windows / Node 24.21.0 / Yarn Classic 1.22.22;两个 SDK 都保持 enableWorker=true。 +原分组停滞与独立原生页面崩溃仍未定位,后续优先获取失败现场或进程异常证据; +不要再把无观察器的重复绿色结果作为新修复。来源、实际样本和日志指纹见 +[机器证据](../baselines/hls-controller-validation.json)。 + +回退本检查点仅撤销诊断采集、相应测试与说明。没有生产源码、公开 API、类型、 +依赖、锁文件或分发产物变化,没有推送、部署或发布。 diff --git a/refactor/hls-validation.md b/refactor/hls-validation.md index 72544c04a..db780b04b 100644 --- a/refactor/hls-validation.md +++ b/refactor/hls-validation.md @@ -99,3 +99,13 @@ worker 切源/清理覆盖两个 SDK 与新旧核心/插件四组合;候选插 本子任务暂未完成:一次 Firefox 分组切换后的销毁出现 Target crashed,HLS-CRASH-01 仍待定位。后续完整矩阵和重复通过不能抹去首次失败;详见 [进行中记录](changes/2026-09-12-PKG-HLS-SDK-01-integration.md)。 + +后续的分组停滞与原生崩溃保持独立风险。固定 SDK 诊断现在可加 +`--controller-state` 同时记录控制器、音视频 SourceBuffer 和片段追踪;该观察器 +位于 test/helpers/hls-controller-state.js,不进入生产插件。默认不开启,避免把 +额外观察导致的时序变化当修复。2026-09-15 的20次原测试通过仍不关闭风险; +成功对照也能短暂出现 ENDED+空媒体缓冲,必须看独立缓冲和后续恢复。 +本机 Firefox 编译参数禁用了 crash reporter,不能承诺环境变量能生成 minidump。 +随后直接1.5.17两次切组崩溃均在destroy之前;可选观察器向Node复制事件后, +其中一次页面失联仍保留97条事件。此处有最后收到的音视频flush状态,尚无原生堆栈。 +详情及后续取证方向见[控制器检查点](changes/2026-09-15-PKG-HLS-SDK-01-controller-state.md)。 diff --git a/refactor/plan.md b/refactor/plan.md index 3d5ea9a2e..b52d8aa92 100644 --- a/refactor/plan.md +++ b/refactor/plan.md @@ -573,7 +573,7 @@ - PKG-HLS-02: [记录](hls-validation.md) [记录](baselines/hls-sdk.json) [记录](baselines/hls-validation.json) [记录](changes/2026-09-11-PKG-HLS-02-tests.md) - PKG-HLS-03: [记录](changes/2026-09-12-PKG-HLS-03-modules.md) [记录](baselines/hls-modules-validation.json) [记录](hls-validation.md) - PKG-HLS-04: [记录](changes/2026-09-12-PKG-HLS-04-types.md) [记录](baselines/hls-types-validation.json) [记录](hls-validation.md) -- PKG-HLS-SDK-01: [记录](changes/2026-09-12-PKG-HLS-SDK-01-integration.md) [记录](baselines/hls-sdk-validation.json) [记录](baselines/hls-sdk-diagnostics.json) [记录](changes/2026-09-14-PKG-HLS-SDK-01-http-teardown.md) [记录](baselines/hls-http-teardown-validation.json) [记录](changes/2026-09-15-PKG-HLS-SDK-01-switch-boundary.md) [记录](baselines/hls-switch-boundary-validation.json) [记录](changes/2026-09-15-PKG-HLS-SDK-01-sdk-sequence.md) [记录](baselines/hls-sdk-sequence-validation.json) +- PKG-HLS-SDK-01: [记录](changes/2026-09-12-PKG-HLS-SDK-01-integration.md) [记录](baselines/hls-sdk-validation.json) [记录](baselines/hls-sdk-diagnostics.json) [记录](changes/2026-09-14-PKG-HLS-SDK-01-http-teardown.md) [记录](baselines/hls-http-teardown-validation.json) [记录](changes/2026-09-15-PKG-HLS-SDK-01-switch-boundary.md) [记录](baselines/hls-switch-boundary-validation.json) [记录](changes/2026-09-15-PKG-HLS-SDK-01-sdk-sequence.md) [记录](baselines/hls-sdk-sequence-validation.json) [记录](changes/2026-09-15-PKG-HLS-SDK-01-controller-state.md) [记录](baselines/hls-controller-validation.json) - PKG-DASH-01: [记录](changes/2026-09-12-PKG-DASH-01-contract.md) [记录](baselines/dash-control-contract.md) [记录](baselines/dash-control-release.json) - PKG-DASH-02: [记录](changes/2026-09-12-PKG-DASH-02-tests.md) [记录](dash-validation.md) [记录](baselines/dash-validation.json) - PKG-DASH-03: [记录](changes/2026-09-12-PKG-DASH-03-runtime.md) [记录](baselines/dash-runtime.json) [记录](dash-validation.md) diff --git a/refactor/progress.md b/refactor/progress.md index 6373fd743..52508834a 100644 --- a/refactor/progress.md +++ b/refactor/progress.md @@ -1,5 +1,22 @@ # 进度与证据 +## PKG-HLS-SDK-01 控制器与原生诊断检查点 + +原Firefox1.7.2切组测试20次通过,不关闭历史停滞。新增可选controller-state, +读取固定SDK两版的控制器、独立音视频缓冲与片段跟踪,异步保留到Node队列。 +最终直接宿主/发布核心各两次通过并取得两版完整字段,默认模式一次通过;回归与 +SDK来源测试5项、lint通过。早期缺tracker/旧缓冲/音频字段的记录保留为部分证据。 + +本轮另两次直接1.5.17在destroy之前页面崩溃,无ArtPlayer/插件,其中一次是该 +浏览器序列首项;新增Node采集在第二次保住97条事件,最后处于audio/video flush +与切高组阶段。仍无原生异常代码或堆栈,不将该崩溃和1.7.2停滞合并为同一根因。 +本机Firefox归档确认--disable-crashreporter,后续需限定任务进程的原生异常取证。 +详见[记录](changes/2026-09-15-PKG-HLS-SDK-01-controller-state.md)与 +[证据](baselines/hls-controller-validation.json)。 + +本任务继续doing,两项HLS风险继续open;207 done、21 doing、43 todo,总271不变。 +没有生产代码、公开API、依赖、版本或分发修改,没有推送或发布。 + ## SITE-DANMUKU-01 双语指南和示例验证 新增 Danmuku 英文指南/侧栏,按源码修正中文 Promise/owner、加载、回调、mount、 diff --git a/refactor/risks.json b/refactor/risks.json index 18aaf7cc0..a490bde44 100644 --- a/refactor/risks.json +++ b/refactor/risks.json @@ -2815,11 +2815,13 @@ "refactor/changes/2026-09-14-PKG-HLS-SDK-01-http-teardown.md", "refactor/baselines/hls-http-teardown-validation.json", "refactor/changes/2026-09-15-PKG-HLS-SDK-01-sdk-sequence.md", - "refactor/baselines/hls-sdk-sequence-validation.json" + "refactor/baselines/hls-sdk-sequence-validation.json", + "refactor/changes/2026-09-15-PKG-HLS-SDK-01-controller-state.md", + "refactor/baselines/hls-controller-validation.json" ], "compatibleResolution": "直接原生 video(无 ArtPlayer/插件)和候选核心已有 page crashed;候选核心无观察器也复现。继续区分 SDK、Firefox/Playwright 与媒体销毁,不静默改核心 destroy 顺序或调用方 SDK 配置。", "closureCriteria": "取得可解释的崩溃诊断或直接 SDK 对照;验证处置和新旧核心/worker/分组销毁矩阵,不能仅以再次通过关闭。", - "workspaceState": "2026-09-14 direct HTTP/no ArtPlayer/plugin/Worker observer:35 diagnostics,31 passed4 failed. Worker reset-first fails1/10 and1/5; no-worker10/10 and optional pre-destroy snapshot5/5 pass. SDK-first also fails2/5. Three phase-recorded crashes occur during final-state collection after destroy returned. Installed Firefox TargetRegistry observer receives oop-frameloader-crashed; no native stack/root cause established. Do not substitute no-worker/snapshot success or change core teardown order; risk remains open. 2026-09-15 sequence: direct native video first 1.5.17 case reports page crash in high-group phase before explicit destroy; no earlier SDK case, ArtPlayer, plugin, route, SDK logger or Worker observer. Three ordered sequences plus one default invocation total 8 passed/1 failed. Native cause remains unproven; do not restrict investigation to teardown or merge distinct signals into a proven shared cause." + "workspaceState": "2026-09-14 direct HTTP/no ArtPlayer/plugin/Worker observer:35 diagnostics,31 passed4 failed. Worker reset-first fails1/10 and1/5; no-worker10/10 and optional pre-destroy snapshot5/5 pass. SDK-first also fails2/5. Three phase-recorded crashes occur during final-state collection after destroy returned. Installed Firefox TargetRegistry observer receives oop-frameloader-crashed; no native stack/root cause established. Do not substitute no-worker/snapshot success or change core teardown order; risk remains open. 2026-09-15 sequence: direct native video first 1.5.17 case reports page crash in high-group phase before explicit destroy; no earlier SDK case, ArtPlayer, plugin, route, SDK logger or Worker observer. Three ordered sequences plus one default invocation total 8 passed/1 failed. Native cause remains unproven; do not restrict investigation to teardown or merge distinct signals into a proven shared cause. 2026-09-15 installed Firefox 1543 local omni.ja buildconfig includes --disable-crashreporter; playwright.cfg locks crash reporter off. No native stack collected. Environment-variable-only capture cannot restore a compile-disabled component; next evidence needs scoped Windows native debugging or a separately validated browser build. Later in this checkpoint, direct 1.5.17 crashed twice before destroy (one first-in-sequence); no ArtPlayer/plugin. Optional Node event queue retained 97 events in the second crash, ending during overlapping audio/video flush and high selection at media time 0.381837. Crash receipt was low-group; following assertion failure was high-group. No native module/exception/stack established." }, { "id": "HLS-PLAYBACK-01", @@ -2836,10 +2838,13 @@ "refactor/changes/2026-09-12-PKG-HLS-SDK-01-integration.md", "refactor/baselines/hls-sdk-validation.json", "refactor/changes/2026-09-15-PKG-HLS-SDK-01-switch-boundary.md", - "refactor/baselines/hls-switch-boundary-validation.json" + "refactor/baselines/hls-switch-boundary-validation.json", + "refactor/changes/2026-09-15-PKG-HLS-SDK-01-controller-state.md", + "refactor/baselines/hls-controller-validation.json" ], "compatibleResolution": "区分 SDK、测试媒体/时序和宿主问题,保留真实档位/解码断言及 trace;不扩大等待或只验证菜单。", - "closureCriteria": "直接 Hls 与新旧核心对照定位切换停滞,验证处置和正常/连续组切换,不能以重复通过关闭。" + "closureCriteria": "直接 Hls 与新旧核心对照定位切换停滞,验证处置和正常/连续组切换,不能以重复通过关闭。", + "workspaceState": " 2026-09-15 unchanged integration 20/20 passes do not close historical failure. Optional --controller-state now captures fixed SDK controller/buffer/fragment tracker state. Final direct and published-core controls pass for both SDKs; successful cases can briefly show main ENDED and empty media ranges while video SourceBuffer remains populated. Original failure still needs those independent buffers and tracker state; no forced-reset workaround." }, { "id": "AUDIO-LIFE-01", diff --git a/refactor/scripts/hls-controller-state.test.mjs b/refactor/scripts/hls-controller-state.test.mjs new file mode 100644 index 000000000..21f797541 --- /dev/null +++ b/refactor/scripts/hls-controller-state.test.mjs @@ -0,0 +1,59 @@ +import assert from 'node:assert/strict' +// eslint-disable-next-line test/no-import-node-test -- The baseline runner verifies page-serialized diagnostics in an isolated Node VM. +import { test } from 'node:test' +import { runInNewContext } from 'node:vm' +import { snapshotHlsControllers } from '../../test/helpers/hls-controller-state.js' + +test('fixed SDK controller observer serializes in a fresh realm and avoids cyclic loaded data', () => { + const snapshot = runInNewContext(`(${snapshotHlsControllers.toString()})`) + const source = { buffered: { length: 1, start: () => 0, end: () => 12 }, updating: false } + const body = { sn: 5, level: 1, type: 'main', start: 10, duration: 2 } + const loaded = { frag: body } + body.loader = { loaded } + const entity = { body, loaded, buffered: true } + const fragmentTracker = Object.freeze({ endListFragments: { main: entity }, fragments: { main_1_5: entity } }) + const hls = Object.freeze({ + streamController: Object.freeze({ state: 'ENDED', level: 1, nextLoadPosition: 12, altAudio: 2, mediaBuffer: source, videoBuffer: source, fragPrevious: body, fragmentTracker }), + bufferController: Object.freeze({ sourceBuffers: [['video', source]], mediaSource: { readyState: 'open' } }), + }) + const result = JSON.parse(JSON.stringify(snapshot(hls))) + assert.equal(result.main.state, 'ENDED') + assert.equal(result.main.mediaBuffer, 'video') + assert.deepEqual(result.main.buffered, [[0, 12]]) + assert.deepEqual(result.endList.main, { fragment: { sn: 5, level: 1, type: 'main', start: 10, duration: 2 }, buffered: true, loaded: true }) + assert.deepEqual(result.tracked, [{ key: 'main_1_5', buffered: true, loaded: true }]) + assert.equal(entity.loaded, loaded) + assert.equal(source.buffered.length, 1) +}) + +test('detached and destroyed SDK snapshots do not invoke invalid public level getters', () => { + const hls = { + streamController: null, + bufferController: null, + fragmentTracker: null, + get currentLevel() { + throw new Error('destroyed getter') + }, + } + assert.equal(snapshotHlsControllers(hls).diagnosticError, undefined) + assert.equal(snapshotHlsControllers(undefined).diagnosticError, undefined) + assert.equal(snapshotHlsControllers({ streamController: { state: 'STOPPED' } }).main.state, 'STOPPED') +}) + +test('SDK 1.5 buffer dictionary and audio controller tracker remain readable', () => { + const source = { updating: false, buffered: { length: 0 } } + const result = snapshotHlsControllers({ bufferController: { sourceBuffer: { audio: source } }, networkControllers: [{ playlistType: 'main' }, { playlistType: 'audio', state: 'IDLE', fragmentTracker: { fragments: {}, endListFragments: {} } }] }) + assert.deepEqual(result.buffers, [{ type: 'audio', updating: false, buffered: [] }]) + assert.deepEqual(result.endList, {}) + assert.deepEqual(result.tracked, []) + assert.equal(result.audio.state, 'IDLE') +}) + +test('native range getter failure is recorded without replacing the player failure', () => { + const hls = { streamController: { + get mediaBuffer() { + throw new Error('released buffer') + }, + } } + assert.equal(snapshotHlsControllers(hls).diagnosticError, 'Error: released buffer') +}) diff --git a/refactor/scripts/hls-sdk-diagnostic.mjs b/refactor/scripts/hls-sdk-diagnostic.mjs index f0de5a5bd..d225b67f2 100644 --- a/refactor/scripts/hls-sdk-diagnostic.mjs +++ b/refactor/scripts/hls-sdk-diagnostic.mjs @@ -6,13 +6,15 @@ import path from 'node:path' import process from 'node:process' import { parseArgs } from 'node:util' import { expect, firefox } from '@playwright/test' +import { snapshotHlsControllers } from '../../test/helpers/hls-controller-state.js' import { observeWorkers } from '../../test/helpers/worker-observer.js' import { ensureArchive, hash, readMember, refactorDir } from './releases.mjs' // Direct SDK control: no ArtPlayer or plugin is loaded, and no worker output is substituted. -export async function diagnose({ version = '1.7.2', iterations = 5, transport = 'http', teardown = 'reset-first', worker = true, host = 'direct', plugin = false, sdkLogs = false, workerObserver = false, captureBeforeDestroy = false, switchBoundary = 'switched', prefill = false, sequence } = {}) { +export async function diagnose({ version = '1.7.2', iterations = 5, transport = 'http', teardown = 'reset-first', worker = true, host = 'direct', plugin = false, sdkLogs = false, workerObserver = false, controllerState = false, captureBeforeDestroy = false, switchBoundary = 'switched', prefill = false, sequence } = {}) { const runnerSHA256 = hash(fs.readFileSync(new URL(import.meta.url))) const observerSHA256 = hash(fs.readFileSync(new URL('../../test/helpers/worker-observer.js', import.meta.url))) + const controllerObserverSHA256 = hash(fs.readFileSync(new URL('../../test/helpers/hls-controller-state.js', import.meta.url))) assert(Number.isInteger(iterations) && iterations > 0 && iterations <= 50) assert(['http', 'route'].includes(transport)) assert(['reset-first', 'sdk-first'].includes(teardown)) @@ -76,6 +78,14 @@ export async function diagnose({ version = '1.7.2', iterations = 5, transport = const wait = predicate => expect.poll(() => page.evaluate(predicate), { timeout: 7000 }).toBe(true) const entry = { iteration, version: versions[iteration], status: 'running', errors: [], requests: [], phase: 'setup', crashes: [] } results.push(entry) + if (controllerState) { + entry.observedEvents = [] + await page.exposeFunction('__recordHlsControllerState', (event) => { + entry.observedEvents.push({ receivedDuring: entry.phase, ...event }) + if (entry.observedEvents.length > 400) + entry.observedEvents.shift() + }) + } page.on('pageerror', error => entry.errors.push(error.message)) page.on('crash', () => { entry.errors.push('page crashed') @@ -93,6 +103,8 @@ export async function diagnose({ version = '1.7.2', iterations = 5, transport = } try { await page.goto(origin) + if (controllerState) + await page.addScriptTag({ content: `window.snapshotHlsControllers = ${snapshotHlsControllers.toString()};` }) if (workerObserver) await page.evaluate(observeWorkers) await page.addScriptTag({ url: `${origin}/hls-${entry.version}.js` }) @@ -101,7 +113,7 @@ export async function diagnose({ version = '1.7.2', iterations = 5, transport = await page.addScriptTag({ url: `${origin}/artplayer.js` }) if (plugin) await page.addScriptTag({ url: `${origin}/plugin.js` }) - await page.evaluate(({ worker, teardown, host, plugin, sdkLogs }) => { + await page.evaluate(({ worker, teardown, host, plugin, sdkLogs, controllerState }) => { let video let hls let art @@ -109,7 +121,10 @@ export async function diagnose({ version = '1.7.2', iterations = 5, transport = const buffer = ranges => Array.from({ length: ranges.length }, (_, index) => [ranges.start(index), ranges.end(index)]) const state = () => ({ time: video.currentTime, readyState: video.readyState, height: video.videoHeight, paused: video.paused, frames: video.getVideoPlaybackQuality().totalVideoFrames, buffered: buffer(video.buffered), seekable: buffer(video.seekable) }) const record = (event, data) => { - records.push({ at: performance.now(), event, data, media: state() }) + const snapshot = { at: performance.now(), event, data, media: state(), ...(controllerState ? { controllers: window.snapshotHlsControllers(hls) } : {}) } + records.push(snapshot) + if (controllerState) + window.__recordHlsControllerState(snapshot).catch(() => {}) if (records.length > 400) records.shift() } @@ -117,8 +132,11 @@ export async function diagnose({ version = '1.7.2', iterations = 5, transport = function attach(element) { video = element hls = new window.Hls({ enableWorker: worker, startLevel: 0, debug: sdkLogs ? logger : false }) - for (const key of ['ERROR', 'AUDIO_TRACKS_UPDATED', 'AUDIO_TRACK_SWITCHING', 'AUDIO_TRACK_SWITCHED', 'LEVEL_SWITCHING', 'LEVEL_SWITCHED', 'FRAG_BUFFERED', 'BUFFER_FLUSHED']) { - hls.on(window.Hls.Events[key], (_, data) => record(key, { id: data.id, level: typeof data.level === 'number' ? data.level : undefined, fatal: data.fatal, details: typeof data.details === 'string' ? data.details : undefined, frag: data.frag && { type: data.frag.type, sn: data.frag.sn, level: data.frag.level }, tracks: data.audioTracks?.map(track => ({ id: track.id, name: track.name, group: track.groupId })) })) + const eventKeys = ['ERROR', 'AUDIO_TRACKS_UPDATED', 'AUDIO_TRACK_SWITCHING', 'AUDIO_TRACK_SWITCHED', 'LEVEL_SWITCHING', 'LEVEL_SWITCHED', 'FRAG_BUFFERED', 'BUFFER_FLUSHED'] + if (controllerState) + eventKeys.push('BUFFER_FLUSHING', 'FRAG_LOADING', 'FRAG_LOADED', 'BUFFER_APPENDED') + for (const key of eventKeys) { + hls.on(window.Hls.Events[key], (_, data) => record(key, { id: data.id, type: data.type, startOffset: data.startOffset, endOffset: typeof data.endOffset === 'number' && !Number.isFinite(data.endOffset) ? String(data.endOffset) : data.endOffset, level: typeof data.level === 'number' ? data.level : undefined, fatal: data.fatal, details: typeof data.details === 'string' ? data.details : undefined, frag: data.frag && { type: data.frag.type, sn: data.frag.sn, level: data.frag.level }, tracks: data.audioTracks?.map(track => ({ id: track.id, name: track.name, group: track.groupId })) })) } for (const name of ['waiting', 'stalled', 'seeking', 'seeked', 'playing', 'pause', 'ended', 'loadedmetadata', 'canplay', 'error']) video.addEventListener(name, () => record(name)) @@ -175,7 +193,7 @@ export async function diagnose({ version = '1.7.2', iterations = 5, transport = record('destroy:end') }, } - }, { worker, teardown, host, plugin, sdkLogs }) + }, { worker, teardown, host, plugin, sdkLogs, controllerState }) entry.phase = 'initial-playback' await wait(() => window.direct.video?.readyState >= 3) await page.evaluate(() => window.direct.video.play()) @@ -273,7 +291,7 @@ export async function diagnose({ version = '1.7.2', iterations = 5, transport = finally { entry.failurePhase = entry.status === 'failed' ? entry.phase : undefined entry.phase = 'final-state' - entry.state = await page.evaluate(() => ({ coreLoaded: typeof window.Artplayer, pluginLoaded: typeof window.artplayerPluginHlsControl, workers: window.workerEvidence, media: window.direct?.state(), events: window.direct?.records, sdk: { version: window.Hls?.version, level: window.direct?.hls.currentLevel, audioTrack: window.direct?.hls.audioTrack, mainState: window.direct?.hls.streamController?.state, audioState: window.direct?.hls.audioStreamController?.state } })).catch(error => ({ error: error.message })) + entry.state = await page.evaluate(() => ({ coreLoaded: typeof window.Artplayer, pluginLoaded: typeof window.artplayerPluginHlsControl, workers: window.workerEvidence, media: window.direct?.state(), events: window.direct?.records, controllers: window.snapshotHlsControllers?.(window.direct?.hls), sdk: { version: window.Hls?.version, level: window.direct?.hls.currentLevel, audioTrack: window.direct?.hls.audioTrack, mainState: window.direct?.hls.streamController?.state, audioState: window.direct?.hls.audioStreamController?.state } })).catch(error => ({ error: error.message })) entry.phase = 'trace-stop' await context.tracing.stop({ path: path.join(directory, `${iteration}.zip`) }).catch((error) => { entry.traceError = error.message @@ -295,7 +313,7 @@ export async function diagnose({ version = '1.7.2', iterations = 5, transport = await browser?.close() server.closeAllConnections() await new Promise(resolve => server.close(resolve)) - fs.writeFileSync(path.join(directory, 'report.json'), `${JSON.stringify({ version: sequence ? undefined : version, iterations: versions.length, sequence: versions, transport, teardown, worker, host, plugin, sdkLogs, workerObserver, captureBeforeDestroy, switchBoundary, prefill, runnerSHA256, observerSHA256, browserVersion, release: sequence ? undefined : releases[0], releases, inputs: Object.fromEntries([...files].map(([file, bytes]) => [file, hash(bytes)])), results }, null, 2)}\n`) + fs.writeFileSync(path.join(directory, 'report.json'), `${JSON.stringify({ version: sequence ? undefined : version, iterations: versions.length, sequence: versions, transport, teardown, worker, host, plugin, sdkLogs, workerObserver, controllerState, captureBeforeDestroy, switchBoundary, prefill, runnerSHA256, observerSHA256, controllerObserverSHA256, browserVersion, release: sequence ? undefined : releases[0], releases, inputs: Object.fromEntries([...files].map(([file, bytes]) => [file, hash(bytes)])), results }, null, 2)}\n`) console.log(`Diagnostic report: ${directory}`) } return results @@ -314,13 +332,14 @@ const { values, tokens } = parseArgs({ 'plugin': { type: 'boolean', default: false }, 'sdk-logs': { type: 'boolean', default: false }, 'observe-workers': { type: 'boolean', default: false }, + 'controller-state': { type: 'boolean', default: false }, 'capture-before-destroy': { type: 'boolean', default: false }, 'switch-boundary': { type: 'string', default: 'switched' }, 'prefill': { type: 'boolean', default: false }, }, }) assert(!values.sequence || !tokens.some(token => token.kind === 'option' && ['version', 'iterations'].includes(token.name)), 'Use --sequence or --version/--iterations, not both') -diagnose({ version: values.version, iterations: Number(values.iterations), transport: values.transport, teardown: values.teardown, worker: !values['no-worker'], host: values.host, plugin: values.plugin, sdkLogs: values['sdk-logs'], workerObserver: values['observe-workers'], captureBeforeDestroy: values['capture-before-destroy'], switchBoundary: values['switch-boundary'], prefill: values.prefill, sequence: values.sequence?.split(',') }).then((results) => { +diagnose({ version: values.version, iterations: Number(values.iterations), transport: values.transport, teardown: values.teardown, worker: !values['no-worker'], host: values.host, plugin: values.plugin, sdkLogs: values['sdk-logs'], workerObserver: values['observe-workers'], controllerState: values['controller-state'], captureBeforeDestroy: values['capture-before-destroy'], switchBoundary: values['switch-boundary'], prefill: values.prefill, sequence: values.sequence?.split(',') }).then((results) => { process.exitCode = results.some(result => result.status !== 'passed') ? 1 : 0 }).catch((error) => { console.error(error) diff --git a/refactor/tasks.json b/refactor/tasks.json index a17cda919..3c73510bc 100644 --- a/refactor/tasks.json +++ b/refactor/tasks.json @@ -2154,7 +2154,9 @@ "changes/2026-09-15-PKG-HLS-SDK-01-switch-boundary.md", "baselines/hls-switch-boundary-validation.json", "changes/2026-09-15-PKG-HLS-SDK-01-sdk-sequence.md", - "baselines/hls-sdk-sequence-validation.json" + "baselines/hls-sdk-sequence-validation.json", + "changes/2026-09-15-PKG-HLS-SDK-01-controller-state.md", + "baselines/hls-controller-validation.json" ] }, { diff --git a/test/browser/README.md b/test/browser/README.md index 0c301b72f..e4dfa6a19 100644 --- a/test/browser/README.md +++ b/test/browser/README.md @@ -146,6 +146,16 @@ one explicit capability/error-cleanup test covers that limitation and its 14 pla skipped with a reason. Chromium/Firefox run the full four-combination HLS matrix. This is not Safari playback approval; see [HLS validation](../../refactor/hls-validation.md) for evidence and open gates. +The standalone `refactor/scripts/hls-sdk-diagnostic.mjs --controller-state` option +installs `helpers/hls-controller-state.js` only for a fixed-SDK diagnostic. It reads +the 1.5.17 buffer dictionary or 1.7.2 buffer array and the controllers' shared +fragment tracker, keeping cyclic loaded objects out of JSON. The 1.5 audio stream +controller is located by playlistType in networkControllers. Observations are also +copied asynchronously into a bounded Node queue, retaining received events after +a page crash; the last undelivered events may be lost. Default diagnostics +do not enable this observer. A missing or errored snapshot is incomplete evidence; +neither transient empty media ranges nor repeated success resolves HLS-PLAYBACK-01. + `playback.spec.js` tests published/current core with current chapter, real decoded frame colors, media time advancing, pause, seek, source change to the existing docs video, destroy and real HTTP failure. These are initial smoke contracts, not full chapter or lifecycle coverage. diff --git a/test/helpers/hls-controller-state.js b/test/helpers/hls-controller-state.js new file mode 100644 index 000000000..9b23d1ed2 --- /dev/null +++ b/test/helpers/hls-controller-state.js @@ -0,0 +1,35 @@ +// Self-contained so the fixed-SDK diagnostic can install this function in a page. +// These private fields are evidence only, never dependencies of a player plugin. +export function snapshotHlsControllers(hls) { + const ranges = source => source && Array.from({ length: source.length }, (_, index) => [source.start(index), source.end(index)]) + const fragment = value => value && ({ sn: value.sn, level: value.level, type: value.type, start: value.start, duration: value.duration }) + const controller = value => value && ({ + state: value.state, + level: value.level, + nextLoadPosition: value.nextLoadPosition, + altAudio: value.altAudio, + mediaBuffer: value.mediaBuffer === value.videoBuffer && value.videoBuffer ? 'video' : value.mediaBuffer === value.media && value.media ? 'media' : 'other', + buffered: ranges(value.mediaBuffer?.buffered), + current: fragment(value.fragCurrent), + previous: fragment(value.fragPrevious), + }) + try { + const audio = hls?.audioStreamController || hls?.networkControllers?.find(value => value.playlistType === 'audio') + const tracker = hls?.streamController?.fragmentTracker || audio?.fragmentTracker + const bufferController = hls?.bufferController + const buffers = Array.isArray(bufferController?.sourceBuffers) + ? bufferController.sourceBuffers + : bufferController?.sourceBuffer && Object.entries(bufferController.sourceBuffer) + return { + main: controller(hls?.streamController), + audio: controller(audio), + mediaSourceState: hls?.bufferController?.mediaSource?.readyState, + buffers: buffers?.map(([type, source]) => ({ type, updating: source?.updating, buffered: ranges(source?.buffered) })), + endList: tracker && Object.fromEntries(Object.entries(tracker.endListFragments || {}).map(([type, entity]) => [type, { fragment: fragment(entity.body), buffered: !!entity.buffered, loaded: !!entity.loaded }])), + tracked: tracker && Object.entries(tracker.fragments || {}).map(([key, entity]) => ({ key, buffered: !!entity?.buffered, loaded: !!entity?.loaded })), + } + } + catch (error) { + return { diagnosticError: String(error) } + } +}