diff --git a/docs/compiled/artplayer-plugin-dash-control.js b/docs/compiled/artplayer-plugin-dash-control.js index 215fc831f..f94b557ee 100644 --- a/docs/compiled/artplayer-plugin-dash-control.js +++ b/docs/compiled/artplayer-plugin-dash-control.js @@ -4,4 +4,4 @@ * (c) 2017-2026 Harvey Zhao * Released under the MIT License. */ -!function(t,e){"object"===typeof exports&&"undefined"!==typeof module?module.exports=e():"function"==typeof define&&define.amd?(t.artplayerPluginDashControl=e(),define(function(){return t.artplayerPluginDashControl})):(t="undefined"!==typeof globalThis?globalThis:t||self).artplayerPluginDashControl=e()}(this,function(){"use strict";function t(t){const e=new Map;return t.filter(t=>{if(void 0===t.html)return!0;const n=e.get(t.html);return n?(t.default&&Object.assign(n,t),!1):(e.set(t.html,t),!0)})}function e(t,e,n){let r;const o=new Map;function i(n,r=o.get(n)){if(!r||o.get(n)!==r)return;o.delete(n);const i=t[n];"controls"===n&&i.cache?.get&&i.cache.get(e)?.option?.onSelect!==r||"setting"===n&&i.find&&i.find(e)?.onSelect!==r||i.remove(e)}function c(){let t;r=void 0;for(const[n,r]of[...o])try{i(n,r)}catch(e){t||(t=e)}if(t)throw t}return{update:function(s,a,l){if(!a)return void c();const u={};r=u;const f=()=>u===r&&l(),d=e=>f()?(a.select(e,f),f()?(t.notice.show=`${a.title}: ${e.html}`,f()&&s.control&&t.controls.check(e),f()&&s.setting&&t.setting.check(e),e.html):e.html):e.html;s.control?(o.set("controls",d),t.controls.update({name:e,position:"right",html:a.html,style:{padding:"0 10px"},selector:a.selector,onSelect:d})):i("controls"),f()&&(s.setting?(o.set("setting",d),t.setting.update({name:e,tooltip:a.html,html:a.title,icon:n,width:200,selector:a.selector,onSelect:d})):i("setting"))},clear:c,captureNavigation:function(n){const r=t.setting,i=r.find?.(e),c=o.get("setting");if(n()&&c&&!0===r.show&&i?.onSelect===c&&i.selector&&r.active===i.selector&&"function"===typeof r.render)return()=>{if(!n()||t.setting!==r||!0!==r.show||!r.option||r.active!==r.option)return;const i=r.find?.(e),c=o.get("setting");n()&&c&&i?.onSelect===c&&i.selector&&r.render?.(i.selector)}}}}function n(t){let e;const n=n=>e===n&&t.active(n.dash),r=t=>t.dash.getSettings().streaming.abr.autoSwitchBitrate.video;function o(){const t=e;if(!t)return;let n;e=void 0,t.epoch++;for(const[e,o]of t.callbacks.splice(0))try{t.off.call(t.dash,e,o)}catch(r){n||(n=r)}if(n)throw n}function i(n,r){if(e===n){try{o()}catch(i){console.warn("ArtPlayer DASH subscription cleanup failed:",i)}if(!e&&t.active(n.dash))try{t.reset()}catch(i){console.warn("ArtPlayer DASH cleanup failed:",i)}}console.warn("ArtPlayer DASH refresh failed:",r)}function c(e){if(!n(e)||e.suspended||e.queued||e.running)return;e.queued=!0;const o=e.epoch;Promise.resolve().then(()=>{if(n(e)&&e.epoch===o&&!e.suspended){e.queued=!1,e.running=!0;try{e.automatic=r(e),n(e)&&t.refresh()}catch(c){i(e,c)}finally{e.running=!1}}})}return{bind:function(s){const a=e;if(a?.dash===s){const t=r(a);return void(n(a)&&(a.automatic=t,a.suspended=!1))}if(o(),e||!t.active(s)||"function"!==typeof s.on||"function"!==typeof s.off)return;const l={dash:s,off:s.off,callbacks:[],epoch:0,queued:!1,running:!1,suspended:!1,automatic:!1};e=l;const u=s.on;try{l.automatic=r(l);const e=["qualityChangeRequested","qualityChangeRendered","trackChangeRendered","streamUpdated","streamInitialized"].map(t=>[t,()=>{"streamUpdated"!==t&&"streamInitialized"!==t||(l.suspended=!1),c(l)}]),o=function(t,e){const n=t;try{if("function"!==typeof n.getVersion||"4.5.2"!==n.getVersion())return;if("function"!==typeof n.getVideoElement||"function"!==typeof n.getActiveStream||"function"!==typeof n.getDashMetrics)return}catch{return}let r=!1;return()=>{if(!r&&e()){r=!0;try{const t=n.getVideoElement?.();if(!t?.seeking||!Number.isFinite(t.currentTime))return;const r=t.currentTime,o=n.getActiveStream?.(),i=n.getDashMetrics?.(),c=o?.getProcessors?.();if(!Array.isArray(c)||"function"!==typeof i?.getCurrentBufferLevel||"function"!==typeof i.addBufferLevel)return;for(const s of c){if(!e())return;const c=s.getType?.();if("audio"!==c&&"video"!==c)continue;const a=s.getBufferController?.();if("function"!==typeof a?.getRangeAt||"function"!==typeof a.getIsPruningInProgress||"function"!==typeof a.getAllRangesWithSafetyFactor)continue;const l=i.getCurrentBufferLevel(c),u=a.getRangeAt(r),f=null===u||u&&Number.isFinite(u.end)&&u.end<=r;if(!Number.isFinite(l)||l<=0||!f||!1!==a.getIsPruningInProgress())continue;const d=a.getAllRangesWithSafetyFactor(r);if(Array.isArray(d)&&0===d.length){if(!e()||n.getActiveStream?.()!==o||n.getDashMetrics?.()!==i||n.getVideoElement?.()!==t||t.currentTime!==r||!t.seeking||!e())return;i.addBufferLevel(c,new Date,0)}}}catch(t){console.warn("ArtPlayer DASH seek buffer refresh failed:",t)}finally{r=!1}}}}(s,()=>n(l)&&!l.suspended);o&&e.push(["playbackSeeking",o]),e.push(["playbackTimeUpdated",()=>{if(n(l)&&!l.suspended)try{const t=r(l);n(l)&&t!==l.automatic&&(l.automatic=t,c(l))}catch(t){i(l,t)}}]),e.push(["streamTeardownComplete",()=>{if(n(l)){l.epoch++,l.queued=!1,l.suspended=!0;try{t.reset()}catch(e){i(l,e)}}}]);for(const t of e){if(!n(l))break;l.callbacks.push(t),u.call(s,...t)}}catch(f){if(e===l)try{o()}catch(d){console.warn("ArtPlayer DASH subscription cleanup failed:",d)}throw f}},release:o}}return function(r={}){return o=>{const i=o,{$video:c}=i.template,{errorHandle:s}=i.constructor.utils;let a=!1,l=0;const u=e(i,"dash-quality",''),f=e(i,"dash-audio",''),d=[],h=n({active:t=>!a&&!i.isDestroy&&i.dash===t,refresh(){const t=i.dash;let e=l;const n=()=>!a&&!i.isDestroy&&i.dash===t&&l===e,r=u.captureNavigation(n)||f.captureNavigation(n);n()&&(e++,p(),n()&&r?.())},reset(){const t=++l;g(()=>t===l)}});function g(t=()=>!0){let e;for(const r of[u.clear,f.clear]){if(!t())break;try{r()}catch(n){e||(e=n)}}if(e)throw e}function p(){if(a||i.isDestroy)return;const e=++l,n=i.dash,o=()=>!a&&!i.isDestroy&&e===l&&i.dash===n,d=()=>o()&&n.getVideoElement()===c&&o();try{if(s(n.getVideoElement()===c,'Cannot find instance of DASH from "art.dash"'),!o())return;if(h.bind(n),!d())return;const e=r.quality||{},i=function(e,n,r){const o=function(t){const e="function"===typeof t.getRepresentationsByType;return{levels:()=>e?t.getRepresentationsByType("video"):t.getBitrateInfoListFor("video"),current(n){if(e)return t.getCurrentRepresentationForType("video");const r=t.getQualityFor("video");return n.find(t=>t.qualityIndex===r)},item:(t,n,r,o)=>e?{value:n,id:t.id,default:!o&&null!=r&&t.id===r.id}:{value:t.qualityIndex,default:!o&&null!=r&&t.qualityIndex===r.qualityIndex},select(n,r){const o="auto"===n.value;t.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:o}}}}),!o&&r()&&(e?t.setRepresentationForTypeById("video",n.id):t.setQualityFor("video",n.value))}}}(e),i=o.levels();if(!r()||!i?.length)return null;const c=n.auto||"Auto",s=n.getName||(t=>`${t.height}p`),a=o.current(i);if(!r())return null;const l=e.getSettings().streaming.abr.autoSwitchBitrate.video;if(!r())return null;const u=!l&&a?s(a):c;if(!r())return null;const f=[];for(const[t,h]of i.entries()){const e=s(h);if(!r())return null;f.push({html:e,...o.item(h,t,a,l)})}const d=t(f).sort((t,e)=>e.value-t.value);return d.push({html:c,value:"auto",default:l}),{html:u,title:n.title||"Quality",selector:d,select:o.select}}(n,e,d);if(!d())return;if(u.update(e,i,d),!d())return;const a=r.audio||{},l=function(e,n,r){const o=e.getTracksFor("audio");if(!r()||!o?.length)return null;const i=n.auto||"Auto",c=n.getName||(t=>t.lang||t.id),s=e.getCurrentTrackFor("audio")||o[0];if(!r())return null;const a=s?c(s):i;if(!r())return null;const l=function(t,e){if(t.includes(e))return e;if(null==e.id&&null==e.index)return;const n=["id","index","lang"],r=t.filter(t=>n.every(n=>null==e[n]||t[n]===e[n]));return 1===r.length?r[0]:void 0}(o,s),u=[];for(const t of o){const e=c(t);if(!r())return null;u.push({html:e,value:t,default:t===l})}const f=t(u);return{html:a,title:n.title||"Audio",selector:f,select:t=>e.setCurrentTrack(t.value)}}(n,a,d);d()&&f.update(a,l,d)}catch(p){if(o()){const t=++l;for(const e of[h.release,()=>g(()=>l===t)])try{e()}catch(y){console.warn("ArtPlayer DASH cleanup failed:",y)}}throw p}}function y(){if(a)return;let t;a=!0,l++;const e=[h.release,g,...d.splice(0).map(([t,e])=>()=>i.off(t,e))];for(const r of e)try{r()}catch(n){t||(t=n)}if(t)throw t}try{const t=[["ready",p],["restart",p],["destroy",y]];for(const e of t){if(a)break;d.push(e),i.on(...e)}}catch(m){try{y()}catch(v){console.warn("ArtPlayer DASH subscription cleanup failed:",v)}throw m}return{name:"artplayerPluginDashControl",update:p}}}}); +!function(t,e){"object"===typeof exports&&"undefined"!==typeof module?module.exports=e():"function"==typeof define&&define.amd?(t.artplayerPluginDashControl=e(),define(function(){return t.artplayerPluginDashControl})):(t="undefined"!==typeof globalThis?globalThis:t||self).artplayerPluginDashControl=e()}(this,function(){"use strict";function t(t,e=()=>!0){let n,r=!1;for(const i of t){if(!e())break;try{i()}catch(o){r||(r=!0,n=o)}}if(r)throw n}function e(t){const e=new Map;return t.filter(t=>{if(void 0===t.html)return!0;const n=e.get(t.html);return n?(t.default&&Object.assign(n,t),!1):(e.set(t.html,t),!0)})}function n(e,n,r){let o;const i=new Map;function s(t,r=i.get(t)){if(!r||i.get(t)!==r)return;i.delete(t);const o=e[t];"controls"===t&&o.cache?.get&&o.cache.get(n)?.option?.onSelect!==r||"setting"===t&&o.find&&o.find(n)?.onSelect!==r||o.remove(n)}function c(){o=void 0,t([...i].map(([t,e])=>()=>s(t,e)))}return{update:function(t,a,l){if(!a)return void c();const u={};o=u;const f=()=>u===o&&l(),d=n=>f()?(a.select(n,f),f()?(e.notice.show=`${a.title}: ${n.html}`,f()&&t.control&&e.controls.check(n),f()&&t.setting&&e.setting.check(n),n.html):n.html):n.html;t.control?(i.set("controls",d),e.controls.update({name:n,position:"right",html:a.html,style:{padding:"0 10px"},selector:a.selector,onSelect:d})):s("controls"),f()&&(t.setting?(i.set("setting",d),e.setting.update({name:n,tooltip:a.html,html:a.title,icon:r,width:200,selector:a.selector,onSelect:d})):s("setting"))},clear:c,captureNavigation:function(t){const r=e.setting,o=r.find?.(n),s=i.get("setting");if(t()&&s&&!0===r.show&&o?.onSelect===s&&o.selector&&r.active===o.selector&&"function"===typeof r.render)return()=>{if(!t()||e.setting!==r||!0!==r.show||!r.option||r.active!==r.option)return;const o=r.find?.(n),s=i.get("setting");t()&&s&&o?.onSelect===s&&o.selector&&r.render?.(o.selector)}}}}function r(e){let n;const r=t=>n===t&&e.active(t.dash),o=t=>t.dash.getSettings().streaming.abr.autoSwitchBitrate.video;function i(){const e=n;e&&(n=void 0,e.epoch++,t(e.callbacks.splice(0).map(([t,n])=>()=>e.off.call(e.dash,t,n))))}function s(t,r){if(n===t){try{i()}catch(o){console.warn("ArtPlayer DASH subscription cleanup failed:",o)}if(!n&&e.active(t.dash))try{e.reset()}catch(o){console.warn("ArtPlayer DASH cleanup failed:",o)}}console.warn("ArtPlayer DASH refresh failed:",r)}function c(t){if(!r(t)||t.suspended||t.queued||t.running)return;t.queued=!0;const n=t.epoch;Promise.resolve().then(()=>{if(r(t)&&t.epoch===n&&!t.suspended){t.queued=!1,t.running=!0;try{t.automatic=o(t),r(t)&&e.refresh()}catch(i){s(t,i)}finally{t.running=!1}}})}return{bind:function(t){const a=n;if(a?.dash===t){const t=o(a);return void(r(a)&&(a.automatic=t,a.suspended=!1))}if(i(),n||!e.active(t)||"function"!==typeof t.on||"function"!==typeof t.off)return;const l={dash:t,off:t.off,callbacks:[],epoch:0,queued:!1,running:!1,suspended:!1,automatic:!1};n=l;const u=t.on;try{l.automatic=o(l);const n=["qualityChangeRequested","qualityChangeRendered","trackChangeRendered","streamUpdated","streamInitialized"].map(t=>[t,()=>{"streamUpdated"!==t&&"streamInitialized"!==t||(l.suspended=!1),c(l)}]),i=function(t,e){const n=t;try{if("function"!==typeof n.getVersion||"4.5.2"!==n.getVersion())return;if("function"!==typeof n.getVideoElement||"function"!==typeof n.getActiveStream||"function"!==typeof n.getDashMetrics)return}catch{return}let r=!1;return()=>{if(!r&&e()){r=!0;try{const t=n.getVideoElement?.();if(!t?.seeking||!Number.isFinite(t.currentTime))return;const r=t.currentTime,o=n.getActiveStream?.(),i=n.getDashMetrics?.(),s=o?.getProcessors?.();if(!Array.isArray(s)||"function"!==typeof i?.getCurrentBufferLevel||"function"!==typeof i.addBufferLevel)return;for(const c of s){if(!e())return;const s=c.getType?.();if("audio"!==s&&"video"!==s)continue;const a=c.getBufferController?.();if("function"!==typeof a?.getRangeAt||"function"!==typeof a.getIsPruningInProgress||"function"!==typeof a.getAllRangesWithSafetyFactor)continue;const l=i.getCurrentBufferLevel(s),u=a.getRangeAt(r),f=null===u||u&&Number.isFinite(u.end)&&u.end<=r;if(!Number.isFinite(l)||l<=0||!f||!1!==a.getIsPruningInProgress())continue;const d=a.getAllRangesWithSafetyFactor(r);if(Array.isArray(d)&&0===d.length){if(!e()||n.getActiveStream?.()!==o||n.getDashMetrics?.()!==i||n.getVideoElement?.()!==t||t.currentTime!==r||!t.seeking||!e())return;i.addBufferLevel(s,new Date,0)}}}catch(t){console.warn("ArtPlayer DASH seek buffer refresh failed:",t)}finally{r=!1}}}}(t,()=>r(l)&&!l.suspended);i&&n.push(["playbackSeeking",i]),n.push(["playbackTimeUpdated",()=>{if(r(l)&&!l.suspended)try{const t=o(l);r(l)&&t!==l.automatic&&(l.automatic=t,c(l))}catch(t){s(l,t)}}]),n.push(["streamTeardownComplete",()=>{if(r(l)){l.epoch++,l.queued=!1,l.suspended=!0;try{e.reset()}catch(t){s(l,t)}}}]);for(const e of n){if(!r(l))break;l.callbacks.push(e),u.call(t,...e)}}catch(f){if(n===l)try{i()}catch(d){console.warn("ArtPlayer DASH subscription cleanup failed:",d)}throw f}},release:i}}return function(o={}){return i=>{const s=i,{$video:c}=s.template,{errorHandle:a}=s.constructor.utils;let l=!1,u=0;const f=n(s,"dash-quality",''),d=n(s,"dash-audio",''),h=[],g=r({active:t=>!l&&!s.isDestroy&&s.dash===t,refresh(){const t=s.dash;let e=u;const n=()=>!l&&!s.isDestroy&&s.dash===t&&u===e,r=f.captureNavigation(n)||d.captureNavigation(n);n()&&(e++,y(),n()&&r?.())},reset(){const t=++u;p(()=>t===u)}});function p(e=()=>!0){t([f.clear,d.clear],e)}function y(){if(l||s.isDestroy)return;const t=++u,n=s.dash,r=()=>!l&&!s.isDestroy&&t===u&&s.dash===n,i=()=>r()&&n.getVideoElement()===c&&r();try{if(a(n.getVideoElement()===c,'Cannot find instance of DASH from "art.dash"'),!r())return;if(g.bind(n),!i())return;const t=o.quality||{},s=function(t,n,r){const o=function(t){const e="function"===typeof t.getRepresentationsByType;return{levels:()=>e?t.getRepresentationsByType("video"):t.getBitrateInfoListFor("video"),current(n){if(e)return t.getCurrentRepresentationForType("video");const r=t.getQualityFor("video");return n.find(t=>t.qualityIndex===r)},item:(t,n,r,o)=>e?{value:n,id:t.id,default:!o&&null!=r&&t.id===r.id}:{value:t.qualityIndex,default:!o&&null!=r&&t.qualityIndex===r.qualityIndex},select(n,r){const o="auto"===n.value;t.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:o}}}}),!o&&r()&&(e?t.setRepresentationForTypeById("video",n.id):t.setQualityFor("video",n.value))}}}(t),i=o.levels();if(!r()||!i?.length)return null;const s=n.auto||"Auto",c=n.getName||(t=>`${t.height}p`),a=o.current(i);if(!r())return null;const l=t.getSettings().streaming.abr.autoSwitchBitrate.video;if(!r())return null;const u=!l&&a?c(a):s;if(!r())return null;const f=[];for(const[e,h]of i.entries()){const t=c(h);if(!r())return null;f.push({html:t,...o.item(h,e,a,l)})}const d=e(f).sort((t,e)=>e.value-t.value);return d.push({html:s,value:"auto",default:l}),{html:u,title:n.title||"Quality",selector:d,select:o.select}}(n,t,i);if(!i())return;if(f.update(t,s,i),!i())return;const l=o.audio||{},u=function(t,n,r){const o=t.getTracksFor("audio");if(!r()||!o?.length)return null;const i=n.auto||"Auto",s=n.getName||(t=>t.lang||t.id),c=t.getCurrentTrackFor("audio")||o[0];if(!r())return null;const a=c?s(c):i;if(!r())return null;const l=function(t,e){if(t.includes(e))return e;if(null==e.id&&null==e.index)return;const n=["id","index","lang"],r=t.filter(t=>n.every(n=>null==e[n]||t[n]===e[n]));return 1===r.length?r[0]:void 0}(o,c),u=[];for(const e of o){const t=s(e);if(!r())return null;u.push({html:t,value:e,default:e===l})}const f=e(u);return{html:a,title:n.title||"Audio",selector:f,select:e=>t.setCurrentTrack(e.value)}}(n,l,i);i()&&d.update(l,u,i)}catch(h){if(r()){const t=++u;for(const e of[g.release,()=>p(()=>u===t)])try{e()}catch(y){console.warn("ArtPlayer DASH cleanup failed:",y)}}throw h}}function m(){if(l)return;l=!0,u++;t([g.release,p,...h.splice(0).map(([t,e])=>()=>s.off(t,e))])}try{const t=[["ready",y],["restart",y],["destroy",m]];for(const e of t){if(l)break;h.push(e),s.on(...e)}}catch(v){try{m()}catch(w){console.warn("ArtPlayer DASH subscription cleanup failed:",w)}throw v}return{name:"artplayerPluginDashControl",update:y}}}}); diff --git a/docs/compiled/artplayer-plugin-dash-control.legacy.js b/docs/compiled/artplayer-plugin-dash-control.legacy.js index 097a689bf..736a240ed 100644 --- a/docs/compiled/artplayer-plugin-dash-control.legacy.js +++ b/docs/compiled/artplayer-plugin-dash-control.legacy.js @@ -4,4 +4,4 @@ * (c) 2017-2026 Harvey Zhao * Released under the MIT License. */ -!function(t,e){"object"===typeof exports&&"undefined"!==typeof module?module.exports=e():"function"==typeof define&&define.amd?(t.artplayerPluginDashControl=e(),define(function(){return t.artplayerPluginDashControl})):(t="undefined"!==typeof globalThis?globalThis:t||self).artplayerPluginDashControl=e()}(this,function(){"use strict";var t=Object.defineProperty,e=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,r=(e,n,o)=>n in e?t(e,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[n]=o,i=(t,i)=>{for(var l in i||(i={}))n.call(i,l)&&r(t,l,i[l]);if(e)for(var l of e(i))o.call(i,l)&&r(t,l,i[l]);return t};function l(t){const e=new Map;return t.filter(t=>{if(void 0===t.html)return!0;const n=e.get(t.html);return n?(t.default&&Object.assign(n,t),!1):(e.set(t.html,t),!0)})}function c(t,e,n){let o;const r=new Map;function i(n,o=r.get(n)){var i,l,c,a;if(!o||r.get(n)!==o)return;r.delete(n);const s=t[n];"controls"===n&&(null==(i=s.cache)?void 0:i.get)&&(null==(c=null==(l=s.cache.get(e))?void 0:l.option)?void 0:c.onSelect)!==o||"setting"===n&&s.find&&(null==(a=s.find(e))?void 0:a.onSelect)!==o||s.remove(e)}function l(){let t;o=void 0;for(const[n,o]of[...r])try{i(n,o)}catch(e){t||(t=e)}if(t)throw t}return{update:function(c,a,s){if(!a)return void l();const u={};o=u;const f=()=>u===o&&s(),d=e=>f()?(a.select(e,f),f()?(t.notice.show=`${a.title}: ${e.html}`,f()&&c.control&&t.controls.check(e),f()&&c.setting&&t.setting.check(e),e.html):e.html):e.html;c.control?(r.set("controls",d),t.controls.update({name:e,position:"right",html:a.html,style:{padding:"0 10px"},selector:a.selector,onSelect:d})):i("controls"),f()&&(c.setting?(r.set("setting",d),t.setting.update({name:e,tooltip:a.html,html:a.title,icon:n,width:200,selector:a.selector,onSelect:d})):i("setting"))},clear:l,captureNavigation:function(n){var o;const i=t.setting,l=null==(o=i.find)?void 0:o.call(i,e),c=r.get("setting");if(n()&&c&&!0===i.show&&(null==l?void 0:l.onSelect)===c&&l.selector&&i.active===l.selector&&"function"===typeof i.render)return()=>{var o,l;if(!n()||t.setting!==i||!0!==i.show||!i.option||i.active!==i.option)return;const c=null==(o=i.find)?void 0:o.call(i,e),a=r.get("setting");n()&&a&&(null==c?void 0:c.onSelect)===a&&c.selector&&(null==(l=i.render)||l.call(i,c.selector))}}}}function a(t){let e;const n=n=>e===n&&t.active(n.dash),o=t=>t.dash.getSettings().streaming.abr.autoSwitchBitrate.video;function r(){const t=e;if(!t)return;let n;e=void 0,t.epoch++;for(const[e,r]of t.callbacks.splice(0))try{t.off.call(t.dash,e,r)}catch(o){n||(n=o)}if(n)throw n}function i(n,o){if(e===n){try{r()}catch(i){console.warn("ArtPlayer DASH subscription cleanup failed:",i)}if(!e&&t.active(n.dash))try{t.reset()}catch(i){console.warn("ArtPlayer DASH cleanup failed:",i)}}console.warn("ArtPlayer DASH refresh failed:",o)}function l(e){if(!n(e)||e.suspended||e.queued||e.running)return;e.queued=!0;const r=e.epoch;Promise.resolve().then(()=>{if(n(e)&&e.epoch===r&&!e.suspended){e.queued=!1,e.running=!0;try{e.automatic=o(e),n(e)&&t.refresh()}catch(l){i(e,l)}finally{e.running=!1}}})}return{bind:function(c){const a=e;if((null==a?void 0:a.dash)===c){const t=o(a);return void(n(a)&&(a.automatic=t,a.suspended=!1))}if(r(),e||!t.active(c)||"function"!==typeof c.on||"function"!==typeof c.off)return;const s={dash:c,off:c.off,callbacks:[],epoch:0,queued:!1,running:!1,suspended:!1,automatic:!1};e=s;const u=c.on;try{s.automatic=o(s);const e=["qualityChangeRequested","qualityChangeRendered","trackChangeRendered","streamUpdated","streamInitialized"].map(t=>[t,()=>{"streamUpdated"!==t&&"streamInitialized"!==t||(s.suspended=!1),l(s)}]),r=function(t,e){const n=t;try{if("function"!==typeof n.getVersion||"4.5.2"!==n.getVersion())return;if("function"!==typeof n.getVideoElement||"function"!==typeof n.getActiveStream||"function"!==typeof n.getDashMetrics)return}catch(r){return}let o=!1;return()=>{var t,r,i,l,c,a,s,u,f;if(!o&&e()){o=!0;try{const o=null==(t=n.getVideoElement)?void 0:t.call(n);if(!(null==o?void 0:o.seeking)||!Number.isFinite(o.currentTime))return;const d=o.currentTime,h=null==(r=n.getActiveStream)?void 0:r.call(n),g=null==(i=n.getDashMetrics)?void 0:i.call(n),p=null==(l=null==h?void 0:h.getProcessors)?void 0:l.call(h);if(!Array.isArray(p)||"function"!==typeof(null==g?void 0:g.getCurrentBufferLevel)||"function"!==typeof g.addBufferLevel)return;for(const t of p){if(!e())return;const r=null==(c=t.getType)?void 0:c.call(t);if("audio"!==r&&"video"!==r)continue;const i=null==(a=t.getBufferController)?void 0:a.call(t);if("function"!==typeof(null==i?void 0:i.getRangeAt)||"function"!==typeof i.getIsPruningInProgress||"function"!==typeof i.getAllRangesWithSafetyFactor)continue;const l=g.getCurrentBufferLevel(r),p=i.getRangeAt(d),v=null===p||p&&Number.isFinite(p.end)&&p.end<=d;if(!Number.isFinite(l)||l<=0||!v||!1!==i.getIsPruningInProgress())continue;const y=i.getAllRangesWithSafetyFactor(d);if(Array.isArray(y)&&0===y.length){if(!e()||(null==(s=n.getActiveStream)?void 0:s.call(n))!==h||(null==(u=n.getDashMetrics)?void 0:u.call(n))!==g||(null==(f=n.getVideoElement)?void 0:f.call(n))!==o||o.currentTime!==d||!o.seeking||!e())return;g.addBufferLevel(r,new Date,0)}}}catch(d){console.warn("ArtPlayer DASH seek buffer refresh failed:",d)}finally{o=!1}}}}(c,()=>n(s)&&!s.suspended);r&&e.push(["playbackSeeking",r]),e.push(["playbackTimeUpdated",()=>{if(n(s)&&!s.suspended)try{const t=o(s);n(s)&&t!==s.automatic&&(s.automatic=t,l(s))}catch(t){i(s,t)}}]),e.push(["streamTeardownComplete",()=>{if(n(s)){s.epoch++,s.queued=!1,s.suspended=!0;try{t.reset()}catch(e){i(s,e)}}}]);for(const t of e){if(!n(s))break;s.callbacks.push(t),u.call(c,...t)}}catch(f){if(e===s)try{r()}catch(d){console.warn("ArtPlayer DASH subscription cleanup failed:",d)}throw f}},release:r}}return function(t={}){return e=>{const n=e,{$video:o}=n.template,{errorHandle:r}=n.constructor.utils;let s=!1,u=0;const f=c(n,"dash-quality",''),d=c(n,"dash-audio",''),h=[],g=a({active:t=>!s&&!n.isDestroy&&n.dash===t,refresh(){const t=n.dash;let e=u;const o=()=>!s&&!n.isDestroy&&n.dash===t&&u===e,r=f.captureNavigation(o)||d.captureNavigation(o);o()&&(e++,v(),o()&&(null==r||r()))},reset(){const t=++u;p(()=>t===u)}});function p(t=()=>!0){let e;for(const o of[f.clear,d.clear]){if(!t())break;try{o()}catch(n){e||(e=n)}}if(e)throw e}function v(){if(s||n.isDestroy)return;const e=++u,c=n.dash,a=()=>!s&&!n.isDestroy&&e===u&&n.dash===c,h=()=>a()&&c.getVideoElement()===o&&a();try{if(r(c.getVideoElement()===o,'Cannot find instance of DASH from "art.dash"'),!a())return;if(g.bind(c),!h())return;const e=t.quality||{},n=function(t,e,n){const o=function(t){const e="function"===typeof t.getRepresentationsByType;return{levels:()=>e?t.getRepresentationsByType("video"):t.getBitrateInfoListFor("video"),current(n){if(e)return t.getCurrentRepresentationForType("video");const o=t.getQualityFor("video");return n.find(t=>t.qualityIndex===o)},item:(t,n,o,r)=>e?{value:n,id:t.id,default:!r&&null!=o&&t.id===o.id}:{value:t.qualityIndex,default:!r&&null!=o&&t.qualityIndex===o.qualityIndex},select(n,o){const r="auto"===n.value;t.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:r}}}}),!r&&o()&&(e?t.setRepresentationForTypeById("video",n.id):t.setQualityFor("video",n.value))}}}(t),r=o.levels();if(!n()||!(null==r?void 0:r.length))return null;const c=e.auto||"Auto",a=e.getName||(t=>`${t.height}p`),s=o.current(r);if(!n())return null;const u=t.getSettings().streaming.abr.autoSwitchBitrate.video;if(!n())return null;const f=!u&&s?a(s):c;if(!n())return null;const d=[];for(const[l,g]of r.entries()){const t=a(g);if(!n())return null;d.push(i({html:t},o.item(g,l,s,u)))}const h=l(d).sort((t,e)=>e.value-t.value);return h.push({html:c,value:"auto",default:u}),{html:f,title:e.title||"Quality",selector:h,select:o.select}}(c,e,h);if(!h())return;if(f.update(e,n,h),!h())return;const s=t.audio||{},u=function(t,e,n){const o=t.getTracksFor("audio");if(!n()||!(null==o?void 0:o.length))return null;const r=e.auto||"Auto",i=e.getName||(t=>t.lang||t.id),c=t.getCurrentTrackFor("audio")||o[0];if(!n())return null;const a=c?i(c):r;if(!n())return null;const s=function(t,e){if(t.includes(e))return e;if(null==e.id&&null==e.index)return;const n=["id","index","lang"],o=t.filter(t=>n.every(n=>null==e[n]||t[n]===e[n]));return 1===o.length?o[0]:void 0}(o,c),u=[];for(const l of o){const t=i(l);if(!n())return null;u.push({html:t,value:l,default:l===s})}const f=l(u);return{html:a,title:e.title||"Audio",selector:f,select:e=>t.setCurrentTrack(e.value)}}(c,s,h);h()&&d.update(s,u,h)}catch(v){if(a()){const t=++u;for(const e of[g.release,()=>p(()=>u===t)])try{e()}catch(y){console.warn("ArtPlayer DASH cleanup failed:",y)}}throw v}}function y(){if(s)return;let t;s=!0,u++;const e=[g.release,p,...h.splice(0).map(([t,e])=>()=>n.off(t,e))];for(const n of e)try{n()}catch(o){t||(t=o)}if(t)throw t}try{const t=[["ready",v],["restart",v],["destroy",y]];for(const e of t){if(s)break;h.push(e),n.on(...e)}}catch(m){try{y()}catch(w){console.warn("ArtPlayer DASH subscription cleanup failed:",w)}throw m}return{name:"artplayerPluginDashControl",update:v}}}}); +!function(e,t){"object"===typeof exports&&"undefined"!==typeof module?module.exports=t():"function"==typeof define&&define.amd?(e.artplayerPluginDashControl=t(),define(function(){return e.artplayerPluginDashControl})):(e="undefined"!==typeof globalThis?globalThis:e||self).artplayerPluginDashControl=t()}(this,function(){"use strict";var e=Object.defineProperty,t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,r=(t,n,o)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[n]=o,i=(e,i)=>{for(var l in i||(i={}))n.call(i,l)&&r(e,l,i[l]);if(t)for(var l of t(i))o.call(i,l)&&r(e,l,i[l]);return e};function l(e,t=()=>!0){let n,o=!1;for(const i of e){if(!t())break;try{i()}catch(r){o||(o=!0,n=r)}}if(o)throw n}function c(e){const t=new Map;return e.filter(e=>{if(void 0===e.html)return!0;const n=t.get(e.html);return n?(e.default&&Object.assign(n,e),!1):(t.set(e.html,e),!0)})}function a(e,t,n){let o;const r=new Map;function i(n,o=r.get(n)){var i,l,c,a;if(!o||r.get(n)!==o)return;r.delete(n);const s=e[n];"controls"===n&&(null==(i=s.cache)?void 0:i.get)&&(null==(c=null==(l=s.cache.get(t))?void 0:l.option)?void 0:c.onSelect)!==o||"setting"===n&&s.find&&(null==(a=s.find(t))?void 0:a.onSelect)!==o||s.remove(t)}function c(){o=void 0,l([...r].map(([e,t])=>()=>i(e,t)))}return{update:function(l,a,s){if(!a)return void c();const u={};o=u;const f=()=>u===o&&s(),d=t=>f()?(a.select(t,f),f()?(e.notice.show=`${a.title}: ${t.html}`,f()&&l.control&&e.controls.check(t),f()&&l.setting&&e.setting.check(t),t.html):t.html):t.html;l.control?(r.set("controls",d),e.controls.update({name:t,position:"right",html:a.html,style:{padding:"0 10px"},selector:a.selector,onSelect:d})):i("controls"),f()&&(l.setting?(r.set("setting",d),e.setting.update({name:t,tooltip:a.html,html:a.title,icon:n,width:200,selector:a.selector,onSelect:d})):i("setting"))},clear:c,captureNavigation:function(n){var o;const i=e.setting,l=null==(o=i.find)?void 0:o.call(i,t),c=r.get("setting");if(n()&&c&&!0===i.show&&(null==l?void 0:l.onSelect)===c&&l.selector&&i.active===l.selector&&"function"===typeof i.render)return()=>{var o,l;if(!n()||e.setting!==i||!0!==i.show||!i.option||i.active!==i.option)return;const c=null==(o=i.find)?void 0:o.call(i,t),a=r.get("setting");n()&&a&&(null==c?void 0:c.onSelect)===a&&c.selector&&(null==(l=i.render)||l.call(i,c.selector))}}}}function s(e){let t;const n=n=>t===n&&e.active(n.dash),o=e=>e.dash.getSettings().streaming.abr.autoSwitchBitrate.video;function r(){const e=t;e&&(t=void 0,e.epoch++,l(e.callbacks.splice(0).map(([t,n])=>()=>e.off.call(e.dash,t,n))))}function i(n,o){if(t===n){try{r()}catch(i){console.warn("ArtPlayer DASH subscription cleanup failed:",i)}if(!t&&e.active(n.dash))try{e.reset()}catch(i){console.warn("ArtPlayer DASH cleanup failed:",i)}}console.warn("ArtPlayer DASH refresh failed:",o)}function c(t){if(!n(t)||t.suspended||t.queued||t.running)return;t.queued=!0;const r=t.epoch;Promise.resolve().then(()=>{if(n(t)&&t.epoch===r&&!t.suspended){t.queued=!1,t.running=!0;try{t.automatic=o(t),n(t)&&e.refresh()}catch(l){i(t,l)}finally{t.running=!1}}})}return{bind:function(l){const a=t;if((null==a?void 0:a.dash)===l){const e=o(a);return void(n(a)&&(a.automatic=e,a.suspended=!1))}if(r(),t||!e.active(l)||"function"!==typeof l.on||"function"!==typeof l.off)return;const s={dash:l,off:l.off,callbacks:[],epoch:0,queued:!1,running:!1,suspended:!1,automatic:!1};t=s;const u=l.on;try{s.automatic=o(s);const t=["qualityChangeRequested","qualityChangeRendered","trackChangeRendered","streamUpdated","streamInitialized"].map(e=>[e,()=>{"streamUpdated"!==e&&"streamInitialized"!==e||(s.suspended=!1),c(s)}]),r=function(e,t){const n=e;try{if("function"!==typeof n.getVersion||"4.5.2"!==n.getVersion())return;if("function"!==typeof n.getVideoElement||"function"!==typeof n.getActiveStream||"function"!==typeof n.getDashMetrics)return}catch(r){return}let o=!1;return()=>{var e,r,i,l,c,a,s,u,f;if(!o&&t()){o=!0;try{const o=null==(e=n.getVideoElement)?void 0:e.call(n);if(!(null==o?void 0:o.seeking)||!Number.isFinite(o.currentTime))return;const d=o.currentTime,g=null==(r=n.getActiveStream)?void 0:r.call(n),h=null==(i=n.getDashMetrics)?void 0:i.call(n),p=null==(l=null==g?void 0:g.getProcessors)?void 0:l.call(g);if(!Array.isArray(p)||"function"!==typeof(null==h?void 0:h.getCurrentBufferLevel)||"function"!==typeof h.addBufferLevel)return;for(const e of p){if(!t())return;const r=null==(c=e.getType)?void 0:c.call(e);if("audio"!==r&&"video"!==r)continue;const i=null==(a=e.getBufferController)?void 0:a.call(e);if("function"!==typeof(null==i?void 0:i.getRangeAt)||"function"!==typeof i.getIsPruningInProgress||"function"!==typeof i.getAllRangesWithSafetyFactor)continue;const l=h.getCurrentBufferLevel(r),p=i.getRangeAt(d),v=null===p||p&&Number.isFinite(p.end)&&p.end<=d;if(!Number.isFinite(l)||l<=0||!v||!1!==i.getIsPruningInProgress())continue;const y=i.getAllRangesWithSafetyFactor(d);if(Array.isArray(y)&&0===y.length){if(!t()||(null==(s=n.getActiveStream)?void 0:s.call(n))!==g||(null==(u=n.getDashMetrics)?void 0:u.call(n))!==h||(null==(f=n.getVideoElement)?void 0:f.call(n))!==o||o.currentTime!==d||!o.seeking||!t())return;h.addBufferLevel(r,new Date,0)}}}catch(d){console.warn("ArtPlayer DASH seek buffer refresh failed:",d)}finally{o=!1}}}}(l,()=>n(s)&&!s.suspended);r&&t.push(["playbackSeeking",r]),t.push(["playbackTimeUpdated",()=>{if(n(s)&&!s.suspended)try{const e=o(s);n(s)&&e!==s.automatic&&(s.automatic=e,c(s))}catch(e){i(s,e)}}]),t.push(["streamTeardownComplete",()=>{if(n(s)){s.epoch++,s.queued=!1,s.suspended=!0;try{e.reset()}catch(t){i(s,t)}}}]);for(const e of t){if(!n(s))break;s.callbacks.push(e),u.call(l,...e)}}catch(f){if(t===s)try{r()}catch(d){console.warn("ArtPlayer DASH subscription cleanup failed:",d)}throw f}},release:r}}return function(e={}){return t=>{const n=t,{$video:o}=n.template,{errorHandle:r}=n.constructor.utils;let u=!1,f=0;const d=a(n,"dash-quality",''),g=a(n,"dash-audio",''),h=[],p=s({active:e=>!u&&!n.isDestroy&&n.dash===e,refresh(){const e=n.dash;let t=f;const o=()=>!u&&!n.isDestroy&&n.dash===e&&f===t,r=d.captureNavigation(o)||g.captureNavigation(o);o()&&(t++,y(),o()&&(null==r||r()))},reset(){const e=++f;v(()=>e===f)}});function v(e=()=>!0){l([d.clear,g.clear],e)}function y(){if(u||n.isDestroy)return;const t=++f,l=n.dash,a=()=>!u&&!n.isDestroy&&t===f&&n.dash===l,s=()=>a()&&l.getVideoElement()===o&&a();try{if(r(l.getVideoElement()===o,'Cannot find instance of DASH from "art.dash"'),!a())return;if(p.bind(l),!s())return;const t=e.quality||{},n=function(e,t,n){const o=function(e){const t="function"===typeof e.getRepresentationsByType;return{levels:()=>t?e.getRepresentationsByType("video"):e.getBitrateInfoListFor("video"),current(n){if(t)return e.getCurrentRepresentationForType("video");const o=e.getQualityFor("video");return n.find(e=>e.qualityIndex===o)},item:(e,n,o,r)=>t?{value:n,id:e.id,default:!r&&null!=o&&e.id===o.id}:{value:e.qualityIndex,default:!r&&null!=o&&e.qualityIndex===o.qualityIndex},select(n,o){const r="auto"===n.value;e.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:r}}}}),!r&&o()&&(t?e.setRepresentationForTypeById("video",n.id):e.setQualityFor("video",n.value))}}}(e),r=o.levels();if(!n()||!(null==r?void 0:r.length))return null;const l=t.auto||"Auto",a=t.getName||(e=>`${e.height}p`),s=o.current(r);if(!n())return null;const u=e.getSettings().streaming.abr.autoSwitchBitrate.video;if(!n())return null;const f=!u&&s?a(s):l;if(!n())return null;const d=[];for(const[c,h]of r.entries()){const e=a(h);if(!n())return null;d.push(i({html:e},o.item(h,c,s,u)))}const g=c(d).sort((e,t)=>t.value-e.value);return g.push({html:l,value:"auto",default:u}),{html:f,title:t.title||"Quality",selector:g,select:o.select}}(l,t,s);if(!s())return;if(d.update(t,n,s),!s())return;const u=e.audio||{},f=function(e,t,n){const o=e.getTracksFor("audio");if(!n()||!(null==o?void 0:o.length))return null;const r=t.auto||"Auto",i=t.getName||(e=>e.lang||e.id),l=e.getCurrentTrackFor("audio")||o[0];if(!n())return null;const a=l?i(l):r;if(!n())return null;const s=function(e,t){if(e.includes(t))return t;if(null==t.id&&null==t.index)return;const n=["id","index","lang"],o=e.filter(e=>n.every(n=>null==t[n]||e[n]===t[n]));return 1===o.length?o[0]:void 0}(o,l),u=[];for(const c of o){const e=i(c);if(!n())return null;u.push({html:e,value:c,default:c===s})}const f=c(u);return{html:a,title:t.title||"Audio",selector:f,select:t=>e.setCurrentTrack(t.value)}}(l,u,s);s()&&g.update(u,f,s)}catch(h){if(a()){const e=++f;for(const t of[p.release,()=>v(()=>f===e)])try{t()}catch(y){console.warn("ArtPlayer DASH cleanup failed:",y)}}throw h}}function m(){if(u)return;u=!0,f++;l([p.release,v,...h.splice(0).map(([e,t])=>()=>n.off(e,t))])}try{const e=[["ready",y],["restart",y],["destroy",m]];for(const t of e){if(u)break;h.push(t),n.on(...t)}}catch(w){try{m()}catch(b){console.warn("ArtPlayer DASH subscription cleanup failed:",b)}throw w}return{name:"artplayerPluginDashControl",update:y}}}}); diff --git a/docs/compiled/artplayer-plugin-dash-control.mjs b/docs/compiled/artplayer-plugin-dash-control.mjs index f7049a29d..8ca69cc86 100644 --- a/docs/compiled/artplayer-plugin-dash-control.mjs +++ b/docs/compiled/artplayer-plugin-dash-control.mjs @@ -5,6 +5,24 @@ * Released under the MIT License. */ const $audio = ''; +function runCleanups(actions, current = () => true) { + let failed = false; + let failure; + for (const action of actions) { + if (!current()) + break; + try { + action(); + } catch (error) { + if (!failed) { + failed = true; + failure = error; + } + } + } + if (failed) + throw failure; +} function qualityAdapter(dash) { const modern = typeof dash.getRepresentationsByType === "function"; return { @@ -120,16 +138,7 @@ function createMenu(art, name, icon) { } function clear() { current = void 0; - let failure; - for (const [surface, callback] of [...owned]) { - try { - remove(surface, callback); - } catch (error) { - failure || (failure = error); - } - } - if (failure) - throw failure; + runCleanups([...owned].map(([surface, callback]) => () => remove(surface, callback))); } function update(config, model, active) { if (!model) { @@ -248,16 +257,7 @@ function observeSDK(options) { return; binding = void 0; record.epoch++; - let failure; - for (const [name, callback] of record.callbacks.splice(0)) { - try { - record.off.call(record.dash, name, callback); - } catch (error) { - failure || (failure = error); - } - } - if (failure) - throw failure; + runCleanups(record.callbacks.splice(0).map(([name, callback]) => () => record.off.call(record.dash, name, callback))); } function fail(record, error) { if (binding === record) { @@ -398,18 +398,7 @@ function artplayerPluginDashControl(option = {}) { } }); function clear(current = () => true) { - let failure; - for (const cleanup of [quality.clear, audio.clear]) { - if (!current()) - break; - try { - cleanup(); - } catch (error) { - failure || (failure = error); - } - } - if (failure) - throw failure; + runCleanups([quality.clear, audio.clear], current); } function update() { if (closed || art.isDestroy) @@ -455,17 +444,8 @@ function artplayerPluginDashControl(option = {}) { return; closed = true; revision++; - let failure; const actions = [observer.release, clear, ...subscriptions.splice(0).map(([name, callback]) => () => art.off(name, callback))]; - for (const action of actions) { - try { - action(); - } catch (error) { - failure || (failure = error); - } - } - if (failure) - throw failure; + runCleanups(actions); } try { const entries = [["ready", update], ["restart", update], ["destroy", destroy]]; diff --git a/package.json b/package.json index 2836b847b..426e6764c 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "test:ads": "node --test test/ads.test.js test/ads-lifecycle.test.js", "trans:docs": "node ./scripts/trans-docs.js", "create:plugin": "node ./scripts/plugin/create.js", - "test:dash-control": "node --test test/dash-control.test.js test/dash-contract.test.js test/dash-lifecycle.test.js test/dash-events.test.js", + "test:dash-control": "node --test test/dash-control.test.js test/dash-contract.test.js test/dash-lifecycle.test.js test/dash-events.test.js test/dash-cleanup-errors.test.js", "dev": "npx cross-env NODE_ENV=development node ./scripts/dev.js", "build": "npx cross-env NODE_ENV=production node ./scripts/build.js", "lint": "eslint \"packages/*/{src,public,types,package.json}\" \"scripts/*.{js,mjs}\" \"packages/artplayer-vitepress/{browser,build}/**/*.ts\" \"scripts/{docs-smoke,editor-declarations,documentation,site-build,library,pages,site-vendor,browser-validation}/**/*.ts\" \"scripts/plugin/*.{js,ts}\" \"test/*\" \"docs/assets/ts/*\" \"types/*.d.ts\" \"playwright*.config.js\" --no-fix", @@ -51,7 +51,7 @@ "ci:build": "yarn build:types && yarn build all && yarn build:i18n && yarn build:ts && yarn build:llm && yarn build:vconsole && yarn build:console && yarn build:site-notices && yarn build:test && yarn build:docs && yarn test:imports", "test:imports": "node --test test/esm.test.js test/i18n.test.js test/ssr.test.js test/asr-distribution.test.js", "typecheck": "node scripts/typecheck.mjs", - "test:unit": "node --test test/danmuku-setting.test.js test/danmuku-heatmap.test.js test/danmuku-renderer.test.js test/danmuku-scheduler.test.js test/danmuku-worker-client.test.js test/danmuku-input.test.js test/danmuku-parser.test.js test/danmuku-failures.test.js test/danmuku-mask-failures.test.js test/danmuku-mask-lifecycle.test.js test/asr-encoding.test.js test/asr-lifecycle.test.js test/asr-audio.test.js test/asr.test.js test/jassub.test.js test/jassub-registration.test.js test/jassub-runtime.test.js test/jassub-vendor-lifecycle.test.js test/jassub-frame-polyfill.test.js test/jassub-offscreen.test.js test/multiple-subtitles-ass.test.js test/multiple-subtitles-caption.test.js test/multiple-subtitles-merge.test.js test/multiple-subtitles-entities.test.js test/multiple-subtitles-lifecycle.test.js test/multiple-subtitles-failures.test.js test/multiple-subtitles.test.js test/multiple-subtitles-vendor.test.js test/vtt-thumbnail-parser.test.js test/vtt-thumbnail-lifecycle.test.js test/vtt-thumbnail.test.js test/auto-thumbnail-exports.test.js test/auto-thumbnail-canvas.test.js test/auto-thumbnail-frames.test.js test/auto-thumbnail-encoding.test.js test/auto-thumbnail-metadata.test.js test/auto-thumbnail-lifecycle.test.js test/auto-thumbnail.test.js test/thumbnail-emitter.test.js test/thumbnail-runtime.test.js test/thumbnail-vendor.test.js test/thumbnail-lifecycle.test.js test/thumbnail-input.test.js test/thumbnail.test.js test/iframe-navigation.test.js test/iframe-boundaries.test.js test/iframe-lifecycle.test.js test/iframe.test.js test/mediabunny.test.js test/mediabunny-shim.test.js test/mediabunny-coordination.test.js test/mediabunny-video.test.js test/mediabunny-audio.test.js test/mediabunny-hls.test.js test/mediabunny-entry.test.js test/mediabunny-capability.test.js test/mediabunny-load.test.js test/mediabunny-input.test.js test/dpip.test.js test/dpip-lifecycle.test.js test/canvas.test.js test/canvas-lifecycle.test.js test/ambilight.test.js test/ambilight-lifecycle.test.js test/ambilight-proxy.test.js test/vast-exports.test.js test/vast.test.js test/vast-lifecycle.test.js test/vast-compatibility.test.js test/ads.test.js test/ads-lifecycle.test.js test/playback.test.js test/dash-control.test.js test/dash-contract.test.js test/dash-lifecycle.test.js test/dash-events.test.js test/hls-control.test.js test/audio-track.test.js test/public-behavior.test.js test/helpers.test.js test/chapter.test.js test/utils.test.js test/resource-scope.test.js test/instance-lifecycle.test.js test/options.test.js test/media-hosts.test.js test/plugins.test.js test/source.test.js test/playback-properties.test.js test/media-events.test.js test/template-resources.test.js test/core-vendor.test.js test/component-resources.test.js test/setting-model.test.js test/setting-layout.test.js test/setting-resources.test.js test/subtitle.test.js test/display-native.test.js test/display-video-fullscreen.test.js test/display-pip.test.js test/display-mini.test.js test/display-sizing.test.js test/display-orientation.test.js test/hotkey.test.js test/listener-registry.test.js test/global-events.test.js test/pointer-events.test.js test/gesture.test.js test/event-scheduling.test.js test/notice.test.js test/fast-forward.test.js test/auto-playback.test.js test/builtin-layers.test.js test/prompt-components.test.js test/screenshot.test.js test/thumbnails.test.js test/progress.test.js test/environment.test.js test/storage.test.js test/facade-properties.test.js test/dom-boundaries.test.js test/initialization.test.js test/entry.test.js test/accessibility-button.test.js test/accessibility-focus.test.js test/accessibility-slider.test.js test/asr-fallback-routing.test.js test/asr-local-example.test.js test/asr-explicit-capture.test.js test/chromecast.test.js test/chromecast-failures.test.js test/chromecast-runtime.test.js test/asr-media-error.test.js test/thumbnail-cleanup-errors.test.js", + "test:unit": "node --test test/danmuku-setting.test.js test/danmuku-heatmap.test.js test/danmuku-renderer.test.js test/danmuku-scheduler.test.js test/danmuku-worker-client.test.js test/danmuku-input.test.js test/danmuku-parser.test.js test/danmuku-failures.test.js test/danmuku-mask-failures.test.js test/danmuku-mask-lifecycle.test.js test/asr-encoding.test.js test/asr-lifecycle.test.js test/asr-audio.test.js test/asr.test.js test/jassub.test.js test/jassub-registration.test.js test/jassub-runtime.test.js test/jassub-vendor-lifecycle.test.js test/jassub-frame-polyfill.test.js test/jassub-offscreen.test.js test/multiple-subtitles-ass.test.js test/multiple-subtitles-caption.test.js test/multiple-subtitles-merge.test.js test/multiple-subtitles-entities.test.js test/multiple-subtitles-lifecycle.test.js test/multiple-subtitles-failures.test.js test/multiple-subtitles.test.js test/multiple-subtitles-vendor.test.js test/vtt-thumbnail-parser.test.js test/vtt-thumbnail-lifecycle.test.js test/vtt-thumbnail.test.js test/auto-thumbnail-exports.test.js test/auto-thumbnail-canvas.test.js test/auto-thumbnail-frames.test.js test/auto-thumbnail-encoding.test.js test/auto-thumbnail-metadata.test.js test/auto-thumbnail-lifecycle.test.js test/auto-thumbnail.test.js test/thumbnail-emitter.test.js test/thumbnail-runtime.test.js test/thumbnail-vendor.test.js test/thumbnail-lifecycle.test.js test/thumbnail-input.test.js test/thumbnail.test.js test/iframe-navigation.test.js test/iframe-boundaries.test.js test/iframe-lifecycle.test.js test/iframe.test.js test/mediabunny.test.js test/mediabunny-shim.test.js test/mediabunny-coordination.test.js test/mediabunny-video.test.js test/mediabunny-audio.test.js test/mediabunny-hls.test.js test/mediabunny-entry.test.js test/mediabunny-capability.test.js test/mediabunny-load.test.js test/mediabunny-input.test.js test/dpip.test.js test/dpip-lifecycle.test.js test/canvas.test.js test/canvas-lifecycle.test.js test/ambilight.test.js test/ambilight-lifecycle.test.js test/ambilight-proxy.test.js test/vast-exports.test.js test/vast.test.js test/vast-lifecycle.test.js test/vast-compatibility.test.js test/ads.test.js test/ads-lifecycle.test.js test/playback.test.js test/dash-control.test.js test/dash-contract.test.js test/dash-lifecycle.test.js test/dash-events.test.js test/hls-control.test.js test/audio-track.test.js test/public-behavior.test.js test/helpers.test.js test/chapter.test.js test/utils.test.js test/resource-scope.test.js test/instance-lifecycle.test.js test/options.test.js test/media-hosts.test.js test/plugins.test.js test/source.test.js test/playback-properties.test.js test/media-events.test.js test/template-resources.test.js test/core-vendor.test.js test/component-resources.test.js test/setting-model.test.js test/setting-layout.test.js test/setting-resources.test.js test/subtitle.test.js test/display-native.test.js test/display-video-fullscreen.test.js test/display-pip.test.js test/display-mini.test.js test/display-sizing.test.js test/display-orientation.test.js test/hotkey.test.js test/listener-registry.test.js test/global-events.test.js test/pointer-events.test.js test/gesture.test.js test/event-scheduling.test.js test/notice.test.js test/fast-forward.test.js test/auto-playback.test.js test/builtin-layers.test.js test/prompt-components.test.js test/screenshot.test.js test/thumbnails.test.js test/progress.test.js test/environment.test.js test/storage.test.js test/facade-properties.test.js test/dom-boundaries.test.js test/initialization.test.js test/entry.test.js test/accessibility-button.test.js test/accessibility-focus.test.js test/accessibility-slider.test.js test/asr-fallback-routing.test.js test/asr-local-example.test.js test/asr-explicit-capture.test.js test/chromecast.test.js test/chromecast-failures.test.js test/chromecast-runtime.test.js test/asr-media-error.test.js test/thumbnail-cleanup-errors.test.js test/dash-cleanup-errors.test.js", "test:coverage": "node --test test/coverage.test.js && node scripts/coverage.mjs", "test": "yarn test:node && yarn test:baseline", "test:browser": "playwright test", diff --git a/packages/artplayer-plugin-dash-control/ARCHITECTURE.md b/packages/artplayer-plugin-dash-control/ARCHITECTURE.md index 44315348f..b876a3951 100644 --- a/packages/artplayer-plugin-dash-control/ARCHITECTURE.md +++ b/packages/artplayer-plugin-dash-control/ARCHITECTURE.md @@ -26,6 +26,7 @@ while each submenu is open and then select another option through normal clicks. | `src/index.ts` | Deferred installation, media identity, update revisions, event subscription and cleanup | | `src/sdk.ts` | 4.x qualityIndex vs 5.x representation ID access and manual/Auto selection | | `src/sdk-events.ts` | Owned SDK subscriptions, coalesced refresh, teardown and asynchronous errors | +| `src/cleanup.ts` | Ordered cleanup, revision guards and first thrown value preservation | | `src/seek-buffer.ts` | Exact SDK 4.5.2 empty-seek metric recovery and stale/reentrant measurement guards | | `src/types.ts` | Narrow internal SDK, host, model and cleanup types | | `src/mapping.ts` | Names, current item matching, duplicate labels and selector ordering | @@ -36,7 +37,7 @@ while each submenu is open and then select another option through normal clicks. Dependencies flow from the entry into mapping/menu, and from mapping into the SDK adapter. Mapping has no DOM dependency. Menu receives a model and validity callback; it does not choose SDK versions. The event observer receives active/refresh/reset -callbacks and owns no DOM or ArtPlayer object. All seven owned modules are checked with strict +callbacks and owns no DOM or ArtPlayer object. All eight owned modules are checked with strict TypeScript, noUncheckedIndexedAccess, and skipLibCheck=false; there are no remaining owned JavaScript modules in this package. @@ -98,6 +99,22 @@ or destroy an SDK to handle a plugin rendering failure. ## Types and compatibility +`cleanup.ts` is shared by menu removal, SDK unsubscription and entry teardown. +It records whether an action threw separately from the thrown value, so `undefined`, +`null`, `false`, zero (including negative zero), empty strings and `NaN` propagate +unchanged. Remaining owned cleanup actions still run; a newer update revision stops +stale menu cleanup before the next action. Later failures cannot replace the first. +This does not change the observer's asynchronous warning policy or make the caller's +SDK plugin-owned. A caller's throwing `beforeUnmount` can prevent that particular +core control from being removed; the plugin releases its sibling surfaces and +propagates the original error rather than bypassing the core callback contract. + +`test/dash-cleanup-errors.test.js` covers both SDK method generations, all seven +values, secondary errors, complete unsubscription and repeated destruction. The +browser regression uses public control updates with fresh selector items: core +selector items acquire non-configurable DOM references and must not be reused as +new input objects. It exercises actual old/new core `beforeUnmount` callbacks. + `src/types.ts` describes the narrow SDK and registry surfaces, menu models, event names, labels, and cleanup callbacks. SDK keys may be absent in malformed external data; the internal types retain that possibility instead of asserting every value @@ -155,8 +172,11 @@ legacy fixture is checked against the actual published declaration and candidate `test:dash-types-package` packs the current core and DASH with Yarn, installs the tarballs offline outside the workspace, repeats a frozen install and checks all public type modes without resolving any workspace source. It also verifies that -implementation files/config do not leak into the archive. This is type acceptance; -the full installed runtime and SDK release matrix still belongs to PKG-DASH-06/05. +implementation files/config do not leak into the archive. This is type acceptance. +Verified installed files are retained under the report's `installed-artifacts/` +directory for subsequent runtime/browser checks; every retained file is checked +against its tarball hash before the temporary outside-workspace consumer is removed. +The full installed runtime and SDK release matrix still belongs to PKG-DASH-06/05. `dash-control.spec.js` tests exercise real old/new core DOM, menu clicks, native MP4 and cleanup, with controlled SDK methods. They do not load dash.js or test MPD/ABR decoding. PKG-DASH-05 must verify pinned dash.js 4.5.2 and 5.2.1 with real adaptive media and diff --git a/packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js b/packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js index 215fc831f..f94b557ee 100644 --- a/packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js +++ b/packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js @@ -4,4 +4,4 @@ * (c) 2017-2026 Harvey Zhao * Released under the MIT License. */ -!function(t,e){"object"===typeof exports&&"undefined"!==typeof module?module.exports=e():"function"==typeof define&&define.amd?(t.artplayerPluginDashControl=e(),define(function(){return t.artplayerPluginDashControl})):(t="undefined"!==typeof globalThis?globalThis:t||self).artplayerPluginDashControl=e()}(this,function(){"use strict";function t(t){const e=new Map;return t.filter(t=>{if(void 0===t.html)return!0;const n=e.get(t.html);return n?(t.default&&Object.assign(n,t),!1):(e.set(t.html,t),!0)})}function e(t,e,n){let r;const o=new Map;function i(n,r=o.get(n)){if(!r||o.get(n)!==r)return;o.delete(n);const i=t[n];"controls"===n&&i.cache?.get&&i.cache.get(e)?.option?.onSelect!==r||"setting"===n&&i.find&&i.find(e)?.onSelect!==r||i.remove(e)}function c(){let t;r=void 0;for(const[n,r]of[...o])try{i(n,r)}catch(e){t||(t=e)}if(t)throw t}return{update:function(s,a,l){if(!a)return void c();const u={};r=u;const f=()=>u===r&&l(),d=e=>f()?(a.select(e,f),f()?(t.notice.show=`${a.title}: ${e.html}`,f()&&s.control&&t.controls.check(e),f()&&s.setting&&t.setting.check(e),e.html):e.html):e.html;s.control?(o.set("controls",d),t.controls.update({name:e,position:"right",html:a.html,style:{padding:"0 10px"},selector:a.selector,onSelect:d})):i("controls"),f()&&(s.setting?(o.set("setting",d),t.setting.update({name:e,tooltip:a.html,html:a.title,icon:n,width:200,selector:a.selector,onSelect:d})):i("setting"))},clear:c,captureNavigation:function(n){const r=t.setting,i=r.find?.(e),c=o.get("setting");if(n()&&c&&!0===r.show&&i?.onSelect===c&&i.selector&&r.active===i.selector&&"function"===typeof r.render)return()=>{if(!n()||t.setting!==r||!0!==r.show||!r.option||r.active!==r.option)return;const i=r.find?.(e),c=o.get("setting");n()&&c&&i?.onSelect===c&&i.selector&&r.render?.(i.selector)}}}}function n(t){let e;const n=n=>e===n&&t.active(n.dash),r=t=>t.dash.getSettings().streaming.abr.autoSwitchBitrate.video;function o(){const t=e;if(!t)return;let n;e=void 0,t.epoch++;for(const[e,o]of t.callbacks.splice(0))try{t.off.call(t.dash,e,o)}catch(r){n||(n=r)}if(n)throw n}function i(n,r){if(e===n){try{o()}catch(i){console.warn("ArtPlayer DASH subscription cleanup failed:",i)}if(!e&&t.active(n.dash))try{t.reset()}catch(i){console.warn("ArtPlayer DASH cleanup failed:",i)}}console.warn("ArtPlayer DASH refresh failed:",r)}function c(e){if(!n(e)||e.suspended||e.queued||e.running)return;e.queued=!0;const o=e.epoch;Promise.resolve().then(()=>{if(n(e)&&e.epoch===o&&!e.suspended){e.queued=!1,e.running=!0;try{e.automatic=r(e),n(e)&&t.refresh()}catch(c){i(e,c)}finally{e.running=!1}}})}return{bind:function(s){const a=e;if(a?.dash===s){const t=r(a);return void(n(a)&&(a.automatic=t,a.suspended=!1))}if(o(),e||!t.active(s)||"function"!==typeof s.on||"function"!==typeof s.off)return;const l={dash:s,off:s.off,callbacks:[],epoch:0,queued:!1,running:!1,suspended:!1,automatic:!1};e=l;const u=s.on;try{l.automatic=r(l);const e=["qualityChangeRequested","qualityChangeRendered","trackChangeRendered","streamUpdated","streamInitialized"].map(t=>[t,()=>{"streamUpdated"!==t&&"streamInitialized"!==t||(l.suspended=!1),c(l)}]),o=function(t,e){const n=t;try{if("function"!==typeof n.getVersion||"4.5.2"!==n.getVersion())return;if("function"!==typeof n.getVideoElement||"function"!==typeof n.getActiveStream||"function"!==typeof n.getDashMetrics)return}catch{return}let r=!1;return()=>{if(!r&&e()){r=!0;try{const t=n.getVideoElement?.();if(!t?.seeking||!Number.isFinite(t.currentTime))return;const r=t.currentTime,o=n.getActiveStream?.(),i=n.getDashMetrics?.(),c=o?.getProcessors?.();if(!Array.isArray(c)||"function"!==typeof i?.getCurrentBufferLevel||"function"!==typeof i.addBufferLevel)return;for(const s of c){if(!e())return;const c=s.getType?.();if("audio"!==c&&"video"!==c)continue;const a=s.getBufferController?.();if("function"!==typeof a?.getRangeAt||"function"!==typeof a.getIsPruningInProgress||"function"!==typeof a.getAllRangesWithSafetyFactor)continue;const l=i.getCurrentBufferLevel(c),u=a.getRangeAt(r),f=null===u||u&&Number.isFinite(u.end)&&u.end<=r;if(!Number.isFinite(l)||l<=0||!f||!1!==a.getIsPruningInProgress())continue;const d=a.getAllRangesWithSafetyFactor(r);if(Array.isArray(d)&&0===d.length){if(!e()||n.getActiveStream?.()!==o||n.getDashMetrics?.()!==i||n.getVideoElement?.()!==t||t.currentTime!==r||!t.seeking||!e())return;i.addBufferLevel(c,new Date,0)}}}catch(t){console.warn("ArtPlayer DASH seek buffer refresh failed:",t)}finally{r=!1}}}}(s,()=>n(l)&&!l.suspended);o&&e.push(["playbackSeeking",o]),e.push(["playbackTimeUpdated",()=>{if(n(l)&&!l.suspended)try{const t=r(l);n(l)&&t!==l.automatic&&(l.automatic=t,c(l))}catch(t){i(l,t)}}]),e.push(["streamTeardownComplete",()=>{if(n(l)){l.epoch++,l.queued=!1,l.suspended=!0;try{t.reset()}catch(e){i(l,e)}}}]);for(const t of e){if(!n(l))break;l.callbacks.push(t),u.call(s,...t)}}catch(f){if(e===l)try{o()}catch(d){console.warn("ArtPlayer DASH subscription cleanup failed:",d)}throw f}},release:o}}return function(r={}){return o=>{const i=o,{$video:c}=i.template,{errorHandle:s}=i.constructor.utils;let a=!1,l=0;const u=e(i,"dash-quality",''),f=e(i,"dash-audio",''),d=[],h=n({active:t=>!a&&!i.isDestroy&&i.dash===t,refresh(){const t=i.dash;let e=l;const n=()=>!a&&!i.isDestroy&&i.dash===t&&l===e,r=u.captureNavigation(n)||f.captureNavigation(n);n()&&(e++,p(),n()&&r?.())},reset(){const t=++l;g(()=>t===l)}});function g(t=()=>!0){let e;for(const r of[u.clear,f.clear]){if(!t())break;try{r()}catch(n){e||(e=n)}}if(e)throw e}function p(){if(a||i.isDestroy)return;const e=++l,n=i.dash,o=()=>!a&&!i.isDestroy&&e===l&&i.dash===n,d=()=>o()&&n.getVideoElement()===c&&o();try{if(s(n.getVideoElement()===c,'Cannot find instance of DASH from "art.dash"'),!o())return;if(h.bind(n),!d())return;const e=r.quality||{},i=function(e,n,r){const o=function(t){const e="function"===typeof t.getRepresentationsByType;return{levels:()=>e?t.getRepresentationsByType("video"):t.getBitrateInfoListFor("video"),current(n){if(e)return t.getCurrentRepresentationForType("video");const r=t.getQualityFor("video");return n.find(t=>t.qualityIndex===r)},item:(t,n,r,o)=>e?{value:n,id:t.id,default:!o&&null!=r&&t.id===r.id}:{value:t.qualityIndex,default:!o&&null!=r&&t.qualityIndex===r.qualityIndex},select(n,r){const o="auto"===n.value;t.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:o}}}}),!o&&r()&&(e?t.setRepresentationForTypeById("video",n.id):t.setQualityFor("video",n.value))}}}(e),i=o.levels();if(!r()||!i?.length)return null;const c=n.auto||"Auto",s=n.getName||(t=>`${t.height}p`),a=o.current(i);if(!r())return null;const l=e.getSettings().streaming.abr.autoSwitchBitrate.video;if(!r())return null;const u=!l&&a?s(a):c;if(!r())return null;const f=[];for(const[t,h]of i.entries()){const e=s(h);if(!r())return null;f.push({html:e,...o.item(h,t,a,l)})}const d=t(f).sort((t,e)=>e.value-t.value);return d.push({html:c,value:"auto",default:l}),{html:u,title:n.title||"Quality",selector:d,select:o.select}}(n,e,d);if(!d())return;if(u.update(e,i,d),!d())return;const a=r.audio||{},l=function(e,n,r){const o=e.getTracksFor("audio");if(!r()||!o?.length)return null;const i=n.auto||"Auto",c=n.getName||(t=>t.lang||t.id),s=e.getCurrentTrackFor("audio")||o[0];if(!r())return null;const a=s?c(s):i;if(!r())return null;const l=function(t,e){if(t.includes(e))return e;if(null==e.id&&null==e.index)return;const n=["id","index","lang"],r=t.filter(t=>n.every(n=>null==e[n]||t[n]===e[n]));return 1===r.length?r[0]:void 0}(o,s),u=[];for(const t of o){const e=c(t);if(!r())return null;u.push({html:e,value:t,default:t===l})}const f=t(u);return{html:a,title:n.title||"Audio",selector:f,select:t=>e.setCurrentTrack(t.value)}}(n,a,d);d()&&f.update(a,l,d)}catch(p){if(o()){const t=++l;for(const e of[h.release,()=>g(()=>l===t)])try{e()}catch(y){console.warn("ArtPlayer DASH cleanup failed:",y)}}throw p}}function y(){if(a)return;let t;a=!0,l++;const e=[h.release,g,...d.splice(0).map(([t,e])=>()=>i.off(t,e))];for(const r of e)try{r()}catch(n){t||(t=n)}if(t)throw t}try{const t=[["ready",p],["restart",p],["destroy",y]];for(const e of t){if(a)break;d.push(e),i.on(...e)}}catch(m){try{y()}catch(v){console.warn("ArtPlayer DASH subscription cleanup failed:",v)}throw m}return{name:"artplayerPluginDashControl",update:p}}}}); +!function(t,e){"object"===typeof exports&&"undefined"!==typeof module?module.exports=e():"function"==typeof define&&define.amd?(t.artplayerPluginDashControl=e(),define(function(){return t.artplayerPluginDashControl})):(t="undefined"!==typeof globalThis?globalThis:t||self).artplayerPluginDashControl=e()}(this,function(){"use strict";function t(t,e=()=>!0){let n,r=!1;for(const i of t){if(!e())break;try{i()}catch(o){r||(r=!0,n=o)}}if(r)throw n}function e(t){const e=new Map;return t.filter(t=>{if(void 0===t.html)return!0;const n=e.get(t.html);return n?(t.default&&Object.assign(n,t),!1):(e.set(t.html,t),!0)})}function n(e,n,r){let o;const i=new Map;function s(t,r=i.get(t)){if(!r||i.get(t)!==r)return;i.delete(t);const o=e[t];"controls"===t&&o.cache?.get&&o.cache.get(n)?.option?.onSelect!==r||"setting"===t&&o.find&&o.find(n)?.onSelect!==r||o.remove(n)}function c(){o=void 0,t([...i].map(([t,e])=>()=>s(t,e)))}return{update:function(t,a,l){if(!a)return void c();const u={};o=u;const f=()=>u===o&&l(),d=n=>f()?(a.select(n,f),f()?(e.notice.show=`${a.title}: ${n.html}`,f()&&t.control&&e.controls.check(n),f()&&t.setting&&e.setting.check(n),n.html):n.html):n.html;t.control?(i.set("controls",d),e.controls.update({name:n,position:"right",html:a.html,style:{padding:"0 10px"},selector:a.selector,onSelect:d})):s("controls"),f()&&(t.setting?(i.set("setting",d),e.setting.update({name:n,tooltip:a.html,html:a.title,icon:r,width:200,selector:a.selector,onSelect:d})):s("setting"))},clear:c,captureNavigation:function(t){const r=e.setting,o=r.find?.(n),s=i.get("setting");if(t()&&s&&!0===r.show&&o?.onSelect===s&&o.selector&&r.active===o.selector&&"function"===typeof r.render)return()=>{if(!t()||e.setting!==r||!0!==r.show||!r.option||r.active!==r.option)return;const o=r.find?.(n),s=i.get("setting");t()&&s&&o?.onSelect===s&&o.selector&&r.render?.(o.selector)}}}}function r(e){let n;const r=t=>n===t&&e.active(t.dash),o=t=>t.dash.getSettings().streaming.abr.autoSwitchBitrate.video;function i(){const e=n;e&&(n=void 0,e.epoch++,t(e.callbacks.splice(0).map(([t,n])=>()=>e.off.call(e.dash,t,n))))}function s(t,r){if(n===t){try{i()}catch(o){console.warn("ArtPlayer DASH subscription cleanup failed:",o)}if(!n&&e.active(t.dash))try{e.reset()}catch(o){console.warn("ArtPlayer DASH cleanup failed:",o)}}console.warn("ArtPlayer DASH refresh failed:",r)}function c(t){if(!r(t)||t.suspended||t.queued||t.running)return;t.queued=!0;const n=t.epoch;Promise.resolve().then(()=>{if(r(t)&&t.epoch===n&&!t.suspended){t.queued=!1,t.running=!0;try{t.automatic=o(t),r(t)&&e.refresh()}catch(i){s(t,i)}finally{t.running=!1}}})}return{bind:function(t){const a=n;if(a?.dash===t){const t=o(a);return void(r(a)&&(a.automatic=t,a.suspended=!1))}if(i(),n||!e.active(t)||"function"!==typeof t.on||"function"!==typeof t.off)return;const l={dash:t,off:t.off,callbacks:[],epoch:0,queued:!1,running:!1,suspended:!1,automatic:!1};n=l;const u=t.on;try{l.automatic=o(l);const n=["qualityChangeRequested","qualityChangeRendered","trackChangeRendered","streamUpdated","streamInitialized"].map(t=>[t,()=>{"streamUpdated"!==t&&"streamInitialized"!==t||(l.suspended=!1),c(l)}]),i=function(t,e){const n=t;try{if("function"!==typeof n.getVersion||"4.5.2"!==n.getVersion())return;if("function"!==typeof n.getVideoElement||"function"!==typeof n.getActiveStream||"function"!==typeof n.getDashMetrics)return}catch{return}let r=!1;return()=>{if(!r&&e()){r=!0;try{const t=n.getVideoElement?.();if(!t?.seeking||!Number.isFinite(t.currentTime))return;const r=t.currentTime,o=n.getActiveStream?.(),i=n.getDashMetrics?.(),s=o?.getProcessors?.();if(!Array.isArray(s)||"function"!==typeof i?.getCurrentBufferLevel||"function"!==typeof i.addBufferLevel)return;for(const c of s){if(!e())return;const s=c.getType?.();if("audio"!==s&&"video"!==s)continue;const a=c.getBufferController?.();if("function"!==typeof a?.getRangeAt||"function"!==typeof a.getIsPruningInProgress||"function"!==typeof a.getAllRangesWithSafetyFactor)continue;const l=i.getCurrentBufferLevel(s),u=a.getRangeAt(r),f=null===u||u&&Number.isFinite(u.end)&&u.end<=r;if(!Number.isFinite(l)||l<=0||!f||!1!==a.getIsPruningInProgress())continue;const d=a.getAllRangesWithSafetyFactor(r);if(Array.isArray(d)&&0===d.length){if(!e()||n.getActiveStream?.()!==o||n.getDashMetrics?.()!==i||n.getVideoElement?.()!==t||t.currentTime!==r||!t.seeking||!e())return;i.addBufferLevel(s,new Date,0)}}}catch(t){console.warn("ArtPlayer DASH seek buffer refresh failed:",t)}finally{r=!1}}}}(t,()=>r(l)&&!l.suspended);i&&n.push(["playbackSeeking",i]),n.push(["playbackTimeUpdated",()=>{if(r(l)&&!l.suspended)try{const t=o(l);r(l)&&t!==l.automatic&&(l.automatic=t,c(l))}catch(t){s(l,t)}}]),n.push(["streamTeardownComplete",()=>{if(r(l)){l.epoch++,l.queued=!1,l.suspended=!0;try{e.reset()}catch(t){s(l,t)}}}]);for(const e of n){if(!r(l))break;l.callbacks.push(e),u.call(t,...e)}}catch(f){if(n===l)try{i()}catch(d){console.warn("ArtPlayer DASH subscription cleanup failed:",d)}throw f}},release:i}}return function(o={}){return i=>{const s=i,{$video:c}=s.template,{errorHandle:a}=s.constructor.utils;let l=!1,u=0;const f=n(s,"dash-quality",''),d=n(s,"dash-audio",''),h=[],g=r({active:t=>!l&&!s.isDestroy&&s.dash===t,refresh(){const t=s.dash;let e=u;const n=()=>!l&&!s.isDestroy&&s.dash===t&&u===e,r=f.captureNavigation(n)||d.captureNavigation(n);n()&&(e++,y(),n()&&r?.())},reset(){const t=++u;p(()=>t===u)}});function p(e=()=>!0){t([f.clear,d.clear],e)}function y(){if(l||s.isDestroy)return;const t=++u,n=s.dash,r=()=>!l&&!s.isDestroy&&t===u&&s.dash===n,i=()=>r()&&n.getVideoElement()===c&&r();try{if(a(n.getVideoElement()===c,'Cannot find instance of DASH from "art.dash"'),!r())return;if(g.bind(n),!i())return;const t=o.quality||{},s=function(t,n,r){const o=function(t){const e="function"===typeof t.getRepresentationsByType;return{levels:()=>e?t.getRepresentationsByType("video"):t.getBitrateInfoListFor("video"),current(n){if(e)return t.getCurrentRepresentationForType("video");const r=t.getQualityFor("video");return n.find(t=>t.qualityIndex===r)},item:(t,n,r,o)=>e?{value:n,id:t.id,default:!o&&null!=r&&t.id===r.id}:{value:t.qualityIndex,default:!o&&null!=r&&t.qualityIndex===r.qualityIndex},select(n,r){const o="auto"===n.value;t.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:o}}}}),!o&&r()&&(e?t.setRepresentationForTypeById("video",n.id):t.setQualityFor("video",n.value))}}}(t),i=o.levels();if(!r()||!i?.length)return null;const s=n.auto||"Auto",c=n.getName||(t=>`${t.height}p`),a=o.current(i);if(!r())return null;const l=t.getSettings().streaming.abr.autoSwitchBitrate.video;if(!r())return null;const u=!l&&a?c(a):s;if(!r())return null;const f=[];for(const[e,h]of i.entries()){const t=c(h);if(!r())return null;f.push({html:t,...o.item(h,e,a,l)})}const d=e(f).sort((t,e)=>e.value-t.value);return d.push({html:s,value:"auto",default:l}),{html:u,title:n.title||"Quality",selector:d,select:o.select}}(n,t,i);if(!i())return;if(f.update(t,s,i),!i())return;const l=o.audio||{},u=function(t,n,r){const o=t.getTracksFor("audio");if(!r()||!o?.length)return null;const i=n.auto||"Auto",s=n.getName||(t=>t.lang||t.id),c=t.getCurrentTrackFor("audio")||o[0];if(!r())return null;const a=c?s(c):i;if(!r())return null;const l=function(t,e){if(t.includes(e))return e;if(null==e.id&&null==e.index)return;const n=["id","index","lang"],r=t.filter(t=>n.every(n=>null==e[n]||t[n]===e[n]));return 1===r.length?r[0]:void 0}(o,c),u=[];for(const e of o){const t=s(e);if(!r())return null;u.push({html:t,value:e,default:e===l})}const f=e(u);return{html:a,title:n.title||"Audio",selector:f,select:e=>t.setCurrentTrack(e.value)}}(n,l,i);i()&&d.update(l,u,i)}catch(h){if(r()){const t=++u;for(const e of[g.release,()=>p(()=>u===t)])try{e()}catch(y){console.warn("ArtPlayer DASH cleanup failed:",y)}}throw h}}function m(){if(l)return;l=!0,u++;t([g.release,p,...h.splice(0).map(([t,e])=>()=>s.off(t,e))])}try{const t=[["ready",y],["restart",y],["destroy",m]];for(const e of t){if(l)break;h.push(e),s.on(...e)}}catch(v){try{m()}catch(w){console.warn("ArtPlayer DASH subscription cleanup failed:",w)}throw v}return{name:"artplayerPluginDashControl",update:y}}}}); diff --git a/packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js b/packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js index 097a689bf..736a240ed 100644 --- a/packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js +++ b/packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js @@ -4,4 +4,4 @@ * (c) 2017-2026 Harvey Zhao * Released under the MIT License. */ -!function(t,e){"object"===typeof exports&&"undefined"!==typeof module?module.exports=e():"function"==typeof define&&define.amd?(t.artplayerPluginDashControl=e(),define(function(){return t.artplayerPluginDashControl})):(t="undefined"!==typeof globalThis?globalThis:t||self).artplayerPluginDashControl=e()}(this,function(){"use strict";var t=Object.defineProperty,e=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,r=(e,n,o)=>n in e?t(e,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[n]=o,i=(t,i)=>{for(var l in i||(i={}))n.call(i,l)&&r(t,l,i[l]);if(e)for(var l of e(i))o.call(i,l)&&r(t,l,i[l]);return t};function l(t){const e=new Map;return t.filter(t=>{if(void 0===t.html)return!0;const n=e.get(t.html);return n?(t.default&&Object.assign(n,t),!1):(e.set(t.html,t),!0)})}function c(t,e,n){let o;const r=new Map;function i(n,o=r.get(n)){var i,l,c,a;if(!o||r.get(n)!==o)return;r.delete(n);const s=t[n];"controls"===n&&(null==(i=s.cache)?void 0:i.get)&&(null==(c=null==(l=s.cache.get(e))?void 0:l.option)?void 0:c.onSelect)!==o||"setting"===n&&s.find&&(null==(a=s.find(e))?void 0:a.onSelect)!==o||s.remove(e)}function l(){let t;o=void 0;for(const[n,o]of[...r])try{i(n,o)}catch(e){t||(t=e)}if(t)throw t}return{update:function(c,a,s){if(!a)return void l();const u={};o=u;const f=()=>u===o&&s(),d=e=>f()?(a.select(e,f),f()?(t.notice.show=`${a.title}: ${e.html}`,f()&&c.control&&t.controls.check(e),f()&&c.setting&&t.setting.check(e),e.html):e.html):e.html;c.control?(r.set("controls",d),t.controls.update({name:e,position:"right",html:a.html,style:{padding:"0 10px"},selector:a.selector,onSelect:d})):i("controls"),f()&&(c.setting?(r.set("setting",d),t.setting.update({name:e,tooltip:a.html,html:a.title,icon:n,width:200,selector:a.selector,onSelect:d})):i("setting"))},clear:l,captureNavigation:function(n){var o;const i=t.setting,l=null==(o=i.find)?void 0:o.call(i,e),c=r.get("setting");if(n()&&c&&!0===i.show&&(null==l?void 0:l.onSelect)===c&&l.selector&&i.active===l.selector&&"function"===typeof i.render)return()=>{var o,l;if(!n()||t.setting!==i||!0!==i.show||!i.option||i.active!==i.option)return;const c=null==(o=i.find)?void 0:o.call(i,e),a=r.get("setting");n()&&a&&(null==c?void 0:c.onSelect)===a&&c.selector&&(null==(l=i.render)||l.call(i,c.selector))}}}}function a(t){let e;const n=n=>e===n&&t.active(n.dash),o=t=>t.dash.getSettings().streaming.abr.autoSwitchBitrate.video;function r(){const t=e;if(!t)return;let n;e=void 0,t.epoch++;for(const[e,r]of t.callbacks.splice(0))try{t.off.call(t.dash,e,r)}catch(o){n||(n=o)}if(n)throw n}function i(n,o){if(e===n){try{r()}catch(i){console.warn("ArtPlayer DASH subscription cleanup failed:",i)}if(!e&&t.active(n.dash))try{t.reset()}catch(i){console.warn("ArtPlayer DASH cleanup failed:",i)}}console.warn("ArtPlayer DASH refresh failed:",o)}function l(e){if(!n(e)||e.suspended||e.queued||e.running)return;e.queued=!0;const r=e.epoch;Promise.resolve().then(()=>{if(n(e)&&e.epoch===r&&!e.suspended){e.queued=!1,e.running=!0;try{e.automatic=o(e),n(e)&&t.refresh()}catch(l){i(e,l)}finally{e.running=!1}}})}return{bind:function(c){const a=e;if((null==a?void 0:a.dash)===c){const t=o(a);return void(n(a)&&(a.automatic=t,a.suspended=!1))}if(r(),e||!t.active(c)||"function"!==typeof c.on||"function"!==typeof c.off)return;const s={dash:c,off:c.off,callbacks:[],epoch:0,queued:!1,running:!1,suspended:!1,automatic:!1};e=s;const u=c.on;try{s.automatic=o(s);const e=["qualityChangeRequested","qualityChangeRendered","trackChangeRendered","streamUpdated","streamInitialized"].map(t=>[t,()=>{"streamUpdated"!==t&&"streamInitialized"!==t||(s.suspended=!1),l(s)}]),r=function(t,e){const n=t;try{if("function"!==typeof n.getVersion||"4.5.2"!==n.getVersion())return;if("function"!==typeof n.getVideoElement||"function"!==typeof n.getActiveStream||"function"!==typeof n.getDashMetrics)return}catch(r){return}let o=!1;return()=>{var t,r,i,l,c,a,s,u,f;if(!o&&e()){o=!0;try{const o=null==(t=n.getVideoElement)?void 0:t.call(n);if(!(null==o?void 0:o.seeking)||!Number.isFinite(o.currentTime))return;const d=o.currentTime,h=null==(r=n.getActiveStream)?void 0:r.call(n),g=null==(i=n.getDashMetrics)?void 0:i.call(n),p=null==(l=null==h?void 0:h.getProcessors)?void 0:l.call(h);if(!Array.isArray(p)||"function"!==typeof(null==g?void 0:g.getCurrentBufferLevel)||"function"!==typeof g.addBufferLevel)return;for(const t of p){if(!e())return;const r=null==(c=t.getType)?void 0:c.call(t);if("audio"!==r&&"video"!==r)continue;const i=null==(a=t.getBufferController)?void 0:a.call(t);if("function"!==typeof(null==i?void 0:i.getRangeAt)||"function"!==typeof i.getIsPruningInProgress||"function"!==typeof i.getAllRangesWithSafetyFactor)continue;const l=g.getCurrentBufferLevel(r),p=i.getRangeAt(d),v=null===p||p&&Number.isFinite(p.end)&&p.end<=d;if(!Number.isFinite(l)||l<=0||!v||!1!==i.getIsPruningInProgress())continue;const y=i.getAllRangesWithSafetyFactor(d);if(Array.isArray(y)&&0===y.length){if(!e()||(null==(s=n.getActiveStream)?void 0:s.call(n))!==h||(null==(u=n.getDashMetrics)?void 0:u.call(n))!==g||(null==(f=n.getVideoElement)?void 0:f.call(n))!==o||o.currentTime!==d||!o.seeking||!e())return;g.addBufferLevel(r,new Date,0)}}}catch(d){console.warn("ArtPlayer DASH seek buffer refresh failed:",d)}finally{o=!1}}}}(c,()=>n(s)&&!s.suspended);r&&e.push(["playbackSeeking",r]),e.push(["playbackTimeUpdated",()=>{if(n(s)&&!s.suspended)try{const t=o(s);n(s)&&t!==s.automatic&&(s.automatic=t,l(s))}catch(t){i(s,t)}}]),e.push(["streamTeardownComplete",()=>{if(n(s)){s.epoch++,s.queued=!1,s.suspended=!0;try{t.reset()}catch(e){i(s,e)}}}]);for(const t of e){if(!n(s))break;s.callbacks.push(t),u.call(c,...t)}}catch(f){if(e===s)try{r()}catch(d){console.warn("ArtPlayer DASH subscription cleanup failed:",d)}throw f}},release:r}}return function(t={}){return e=>{const n=e,{$video:o}=n.template,{errorHandle:r}=n.constructor.utils;let s=!1,u=0;const f=c(n,"dash-quality",''),d=c(n,"dash-audio",''),h=[],g=a({active:t=>!s&&!n.isDestroy&&n.dash===t,refresh(){const t=n.dash;let e=u;const o=()=>!s&&!n.isDestroy&&n.dash===t&&u===e,r=f.captureNavigation(o)||d.captureNavigation(o);o()&&(e++,v(),o()&&(null==r||r()))},reset(){const t=++u;p(()=>t===u)}});function p(t=()=>!0){let e;for(const o of[f.clear,d.clear]){if(!t())break;try{o()}catch(n){e||(e=n)}}if(e)throw e}function v(){if(s||n.isDestroy)return;const e=++u,c=n.dash,a=()=>!s&&!n.isDestroy&&e===u&&n.dash===c,h=()=>a()&&c.getVideoElement()===o&&a();try{if(r(c.getVideoElement()===o,'Cannot find instance of DASH from "art.dash"'),!a())return;if(g.bind(c),!h())return;const e=t.quality||{},n=function(t,e,n){const o=function(t){const e="function"===typeof t.getRepresentationsByType;return{levels:()=>e?t.getRepresentationsByType("video"):t.getBitrateInfoListFor("video"),current(n){if(e)return t.getCurrentRepresentationForType("video");const o=t.getQualityFor("video");return n.find(t=>t.qualityIndex===o)},item:(t,n,o,r)=>e?{value:n,id:t.id,default:!r&&null!=o&&t.id===o.id}:{value:t.qualityIndex,default:!r&&null!=o&&t.qualityIndex===o.qualityIndex},select(n,o){const r="auto"===n.value;t.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:r}}}}),!r&&o()&&(e?t.setRepresentationForTypeById("video",n.id):t.setQualityFor("video",n.value))}}}(t),r=o.levels();if(!n()||!(null==r?void 0:r.length))return null;const c=e.auto||"Auto",a=e.getName||(t=>`${t.height}p`),s=o.current(r);if(!n())return null;const u=t.getSettings().streaming.abr.autoSwitchBitrate.video;if(!n())return null;const f=!u&&s?a(s):c;if(!n())return null;const d=[];for(const[l,g]of r.entries()){const t=a(g);if(!n())return null;d.push(i({html:t},o.item(g,l,s,u)))}const h=l(d).sort((t,e)=>e.value-t.value);return h.push({html:c,value:"auto",default:u}),{html:f,title:e.title||"Quality",selector:h,select:o.select}}(c,e,h);if(!h())return;if(f.update(e,n,h),!h())return;const s=t.audio||{},u=function(t,e,n){const o=t.getTracksFor("audio");if(!n()||!(null==o?void 0:o.length))return null;const r=e.auto||"Auto",i=e.getName||(t=>t.lang||t.id),c=t.getCurrentTrackFor("audio")||o[0];if(!n())return null;const a=c?i(c):r;if(!n())return null;const s=function(t,e){if(t.includes(e))return e;if(null==e.id&&null==e.index)return;const n=["id","index","lang"],o=t.filter(t=>n.every(n=>null==e[n]||t[n]===e[n]));return 1===o.length?o[0]:void 0}(o,c),u=[];for(const l of o){const t=i(l);if(!n())return null;u.push({html:t,value:l,default:l===s})}const f=l(u);return{html:a,title:e.title||"Audio",selector:f,select:e=>t.setCurrentTrack(e.value)}}(c,s,h);h()&&d.update(s,u,h)}catch(v){if(a()){const t=++u;for(const e of[g.release,()=>p(()=>u===t)])try{e()}catch(y){console.warn("ArtPlayer DASH cleanup failed:",y)}}throw v}}function y(){if(s)return;let t;s=!0,u++;const e=[g.release,p,...h.splice(0).map(([t,e])=>()=>n.off(t,e))];for(const n of e)try{n()}catch(o){t||(t=o)}if(t)throw t}try{const t=[["ready",v],["restart",v],["destroy",y]];for(const e of t){if(s)break;h.push(e),n.on(...e)}}catch(m){try{y()}catch(w){console.warn("ArtPlayer DASH subscription cleanup failed:",w)}throw m}return{name:"artplayerPluginDashControl",update:v}}}}); +!function(e,t){"object"===typeof exports&&"undefined"!==typeof module?module.exports=t():"function"==typeof define&&define.amd?(e.artplayerPluginDashControl=t(),define(function(){return e.artplayerPluginDashControl})):(e="undefined"!==typeof globalThis?globalThis:e||self).artplayerPluginDashControl=t()}(this,function(){"use strict";var e=Object.defineProperty,t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,r=(t,n,o)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[n]=o,i=(e,i)=>{for(var l in i||(i={}))n.call(i,l)&&r(e,l,i[l]);if(t)for(var l of t(i))o.call(i,l)&&r(e,l,i[l]);return e};function l(e,t=()=>!0){let n,o=!1;for(const i of e){if(!t())break;try{i()}catch(r){o||(o=!0,n=r)}}if(o)throw n}function c(e){const t=new Map;return e.filter(e=>{if(void 0===e.html)return!0;const n=t.get(e.html);return n?(e.default&&Object.assign(n,e),!1):(t.set(e.html,e),!0)})}function a(e,t,n){let o;const r=new Map;function i(n,o=r.get(n)){var i,l,c,a;if(!o||r.get(n)!==o)return;r.delete(n);const s=e[n];"controls"===n&&(null==(i=s.cache)?void 0:i.get)&&(null==(c=null==(l=s.cache.get(t))?void 0:l.option)?void 0:c.onSelect)!==o||"setting"===n&&s.find&&(null==(a=s.find(t))?void 0:a.onSelect)!==o||s.remove(t)}function c(){o=void 0,l([...r].map(([e,t])=>()=>i(e,t)))}return{update:function(l,a,s){if(!a)return void c();const u={};o=u;const f=()=>u===o&&s(),d=t=>f()?(a.select(t,f),f()?(e.notice.show=`${a.title}: ${t.html}`,f()&&l.control&&e.controls.check(t),f()&&l.setting&&e.setting.check(t),t.html):t.html):t.html;l.control?(r.set("controls",d),e.controls.update({name:t,position:"right",html:a.html,style:{padding:"0 10px"},selector:a.selector,onSelect:d})):i("controls"),f()&&(l.setting?(r.set("setting",d),e.setting.update({name:t,tooltip:a.html,html:a.title,icon:n,width:200,selector:a.selector,onSelect:d})):i("setting"))},clear:c,captureNavigation:function(n){var o;const i=e.setting,l=null==(o=i.find)?void 0:o.call(i,t),c=r.get("setting");if(n()&&c&&!0===i.show&&(null==l?void 0:l.onSelect)===c&&l.selector&&i.active===l.selector&&"function"===typeof i.render)return()=>{var o,l;if(!n()||e.setting!==i||!0!==i.show||!i.option||i.active!==i.option)return;const c=null==(o=i.find)?void 0:o.call(i,t),a=r.get("setting");n()&&a&&(null==c?void 0:c.onSelect)===a&&c.selector&&(null==(l=i.render)||l.call(i,c.selector))}}}}function s(e){let t;const n=n=>t===n&&e.active(n.dash),o=e=>e.dash.getSettings().streaming.abr.autoSwitchBitrate.video;function r(){const e=t;e&&(t=void 0,e.epoch++,l(e.callbacks.splice(0).map(([t,n])=>()=>e.off.call(e.dash,t,n))))}function i(n,o){if(t===n){try{r()}catch(i){console.warn("ArtPlayer DASH subscription cleanup failed:",i)}if(!t&&e.active(n.dash))try{e.reset()}catch(i){console.warn("ArtPlayer DASH cleanup failed:",i)}}console.warn("ArtPlayer DASH refresh failed:",o)}function c(t){if(!n(t)||t.suspended||t.queued||t.running)return;t.queued=!0;const r=t.epoch;Promise.resolve().then(()=>{if(n(t)&&t.epoch===r&&!t.suspended){t.queued=!1,t.running=!0;try{t.automatic=o(t),n(t)&&e.refresh()}catch(l){i(t,l)}finally{t.running=!1}}})}return{bind:function(l){const a=t;if((null==a?void 0:a.dash)===l){const e=o(a);return void(n(a)&&(a.automatic=e,a.suspended=!1))}if(r(),t||!e.active(l)||"function"!==typeof l.on||"function"!==typeof l.off)return;const s={dash:l,off:l.off,callbacks:[],epoch:0,queued:!1,running:!1,suspended:!1,automatic:!1};t=s;const u=l.on;try{s.automatic=o(s);const t=["qualityChangeRequested","qualityChangeRendered","trackChangeRendered","streamUpdated","streamInitialized"].map(e=>[e,()=>{"streamUpdated"!==e&&"streamInitialized"!==e||(s.suspended=!1),c(s)}]),r=function(e,t){const n=e;try{if("function"!==typeof n.getVersion||"4.5.2"!==n.getVersion())return;if("function"!==typeof n.getVideoElement||"function"!==typeof n.getActiveStream||"function"!==typeof n.getDashMetrics)return}catch(r){return}let o=!1;return()=>{var e,r,i,l,c,a,s,u,f;if(!o&&t()){o=!0;try{const o=null==(e=n.getVideoElement)?void 0:e.call(n);if(!(null==o?void 0:o.seeking)||!Number.isFinite(o.currentTime))return;const d=o.currentTime,g=null==(r=n.getActiveStream)?void 0:r.call(n),h=null==(i=n.getDashMetrics)?void 0:i.call(n),p=null==(l=null==g?void 0:g.getProcessors)?void 0:l.call(g);if(!Array.isArray(p)||"function"!==typeof(null==h?void 0:h.getCurrentBufferLevel)||"function"!==typeof h.addBufferLevel)return;for(const e of p){if(!t())return;const r=null==(c=e.getType)?void 0:c.call(e);if("audio"!==r&&"video"!==r)continue;const i=null==(a=e.getBufferController)?void 0:a.call(e);if("function"!==typeof(null==i?void 0:i.getRangeAt)||"function"!==typeof i.getIsPruningInProgress||"function"!==typeof i.getAllRangesWithSafetyFactor)continue;const l=h.getCurrentBufferLevel(r),p=i.getRangeAt(d),v=null===p||p&&Number.isFinite(p.end)&&p.end<=d;if(!Number.isFinite(l)||l<=0||!v||!1!==i.getIsPruningInProgress())continue;const y=i.getAllRangesWithSafetyFactor(d);if(Array.isArray(y)&&0===y.length){if(!t()||(null==(s=n.getActiveStream)?void 0:s.call(n))!==g||(null==(u=n.getDashMetrics)?void 0:u.call(n))!==h||(null==(f=n.getVideoElement)?void 0:f.call(n))!==o||o.currentTime!==d||!o.seeking||!t())return;h.addBufferLevel(r,new Date,0)}}}catch(d){console.warn("ArtPlayer DASH seek buffer refresh failed:",d)}finally{o=!1}}}}(l,()=>n(s)&&!s.suspended);r&&t.push(["playbackSeeking",r]),t.push(["playbackTimeUpdated",()=>{if(n(s)&&!s.suspended)try{const e=o(s);n(s)&&e!==s.automatic&&(s.automatic=e,c(s))}catch(e){i(s,e)}}]),t.push(["streamTeardownComplete",()=>{if(n(s)){s.epoch++,s.queued=!1,s.suspended=!0;try{e.reset()}catch(t){i(s,t)}}}]);for(const e of t){if(!n(s))break;s.callbacks.push(e),u.call(l,...e)}}catch(f){if(t===s)try{r()}catch(d){console.warn("ArtPlayer DASH subscription cleanup failed:",d)}throw f}},release:r}}return function(e={}){return t=>{const n=t,{$video:o}=n.template,{errorHandle:r}=n.constructor.utils;let u=!1,f=0;const d=a(n,"dash-quality",''),g=a(n,"dash-audio",''),h=[],p=s({active:e=>!u&&!n.isDestroy&&n.dash===e,refresh(){const e=n.dash;let t=f;const o=()=>!u&&!n.isDestroy&&n.dash===e&&f===t,r=d.captureNavigation(o)||g.captureNavigation(o);o()&&(t++,y(),o()&&(null==r||r()))},reset(){const e=++f;v(()=>e===f)}});function v(e=()=>!0){l([d.clear,g.clear],e)}function y(){if(u||n.isDestroy)return;const t=++f,l=n.dash,a=()=>!u&&!n.isDestroy&&t===f&&n.dash===l,s=()=>a()&&l.getVideoElement()===o&&a();try{if(r(l.getVideoElement()===o,'Cannot find instance of DASH from "art.dash"'),!a())return;if(p.bind(l),!s())return;const t=e.quality||{},n=function(e,t,n){const o=function(e){const t="function"===typeof e.getRepresentationsByType;return{levels:()=>t?e.getRepresentationsByType("video"):e.getBitrateInfoListFor("video"),current(n){if(t)return e.getCurrentRepresentationForType("video");const o=e.getQualityFor("video");return n.find(e=>e.qualityIndex===o)},item:(e,n,o,r)=>t?{value:n,id:e.id,default:!r&&null!=o&&e.id===o.id}:{value:e.qualityIndex,default:!r&&null!=o&&e.qualityIndex===o.qualityIndex},select(n,o){const r="auto"===n.value;e.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:r}}}}),!r&&o()&&(t?e.setRepresentationForTypeById("video",n.id):e.setQualityFor("video",n.value))}}}(e),r=o.levels();if(!n()||!(null==r?void 0:r.length))return null;const l=t.auto||"Auto",a=t.getName||(e=>`${e.height}p`),s=o.current(r);if(!n())return null;const u=e.getSettings().streaming.abr.autoSwitchBitrate.video;if(!n())return null;const f=!u&&s?a(s):l;if(!n())return null;const d=[];for(const[c,h]of r.entries()){const e=a(h);if(!n())return null;d.push(i({html:e},o.item(h,c,s,u)))}const g=c(d).sort((e,t)=>t.value-e.value);return g.push({html:l,value:"auto",default:u}),{html:f,title:t.title||"Quality",selector:g,select:o.select}}(l,t,s);if(!s())return;if(d.update(t,n,s),!s())return;const u=e.audio||{},f=function(e,t,n){const o=e.getTracksFor("audio");if(!n()||!(null==o?void 0:o.length))return null;const r=t.auto||"Auto",i=t.getName||(e=>e.lang||e.id),l=e.getCurrentTrackFor("audio")||o[0];if(!n())return null;const a=l?i(l):r;if(!n())return null;const s=function(e,t){if(e.includes(t))return t;if(null==t.id&&null==t.index)return;const n=["id","index","lang"],o=e.filter(e=>n.every(n=>null==t[n]||e[n]===t[n]));return 1===o.length?o[0]:void 0}(o,l),u=[];for(const c of o){const e=i(c);if(!n())return null;u.push({html:e,value:c,default:c===s})}const f=c(u);return{html:a,title:t.title||"Audio",selector:f,select:t=>e.setCurrentTrack(t.value)}}(l,u,s);s()&&g.update(u,f,s)}catch(h){if(a()){const e=++f;for(const t of[p.release,()=>v(()=>f===e)])try{t()}catch(y){console.warn("ArtPlayer DASH cleanup failed:",y)}}throw h}}function m(){if(u)return;u=!0,f++;l([p.release,v,...h.splice(0).map(([e,t])=>()=>n.off(e,t))])}try{const e=[["ready",y],["restart",y],["destroy",m]];for(const t of e){if(u)break;h.push(t),n.on(...t)}}catch(w){try{m()}catch(b){console.warn("ArtPlayer DASH subscription cleanup failed:",b)}throw w}return{name:"artplayerPluginDashControl",update:y}}}}); diff --git a/packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.mjs b/packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.mjs index f7049a29d..8ca69cc86 100644 --- a/packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.mjs +++ b/packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.mjs @@ -5,6 +5,24 @@ * Released under the MIT License. */ const $audio = ''; +function runCleanups(actions, current = () => true) { + let failed = false; + let failure; + for (const action of actions) { + if (!current()) + break; + try { + action(); + } catch (error) { + if (!failed) { + failed = true; + failure = error; + } + } + } + if (failed) + throw failure; +} function qualityAdapter(dash) { const modern = typeof dash.getRepresentationsByType === "function"; return { @@ -120,16 +138,7 @@ function createMenu(art, name, icon) { } function clear() { current = void 0; - let failure; - for (const [surface, callback] of [...owned]) { - try { - remove(surface, callback); - } catch (error) { - failure || (failure = error); - } - } - if (failure) - throw failure; + runCleanups([...owned].map(([surface, callback]) => () => remove(surface, callback))); } function update(config, model, active) { if (!model) { @@ -248,16 +257,7 @@ function observeSDK(options) { return; binding = void 0; record.epoch++; - let failure; - for (const [name, callback] of record.callbacks.splice(0)) { - try { - record.off.call(record.dash, name, callback); - } catch (error) { - failure || (failure = error); - } - } - if (failure) - throw failure; + runCleanups(record.callbacks.splice(0).map(([name, callback]) => () => record.off.call(record.dash, name, callback))); } function fail(record, error) { if (binding === record) { @@ -398,18 +398,7 @@ function artplayerPluginDashControl(option = {}) { } }); function clear(current = () => true) { - let failure; - for (const cleanup of [quality.clear, audio.clear]) { - if (!current()) - break; - try { - cleanup(); - } catch (error) { - failure || (failure = error); - } - } - if (failure) - throw failure; + runCleanups([quality.clear, audio.clear], current); } function update() { if (closed || art.isDestroy) @@ -455,17 +444,8 @@ function artplayerPluginDashControl(option = {}) { return; closed = true; revision++; - let failure; const actions = [observer.release, clear, ...subscriptions.splice(0).map(([name, callback]) => () => art.off(name, callback))]; - for (const action of actions) { - try { - action(); - } catch (error) { - failure || (failure = error); - } - } - if (failure) - throw failure; + runCleanups(actions); } try { const entries = [["ready", update], ["restart", update], ["destroy", destroy]]; diff --git a/packages/artplayer-plugin-dash-control/src/cleanup.ts b/packages/artplayer-plugin-dash-control/src/cleanup.ts new file mode 100644 index 000000000..babe43848 --- /dev/null +++ b/packages/artplayer-plugin-dash-control/src/cleanup.ts @@ -0,0 +1,21 @@ +import type { Cleanup, Valid } from './types' + +export function runCleanups(actions: Cleanup[], current: Valid = () => true): void { + let failed = false + let failure: unknown + for (const action of actions) { + if (!current()) + break + try { + action() + } + catch (error) { + if (!failed) { + failed = true + failure = error + } + } + } + if (failed) + throw failure +} diff --git a/packages/artplayer-plugin-dash-control/src/index.ts b/packages/artplayer-plugin-dash-control/src/index.ts index 2a1ab7c0e..5781c1a4b 100644 --- a/packages/artplayer-plugin-dash-control/src/index.ts +++ b/packages/artplayer-plugin-dash-control/src/index.ts @@ -2,6 +2,7 @@ import type Artplayer from 'artplayer' import type { AudioTrack, Option, QualityLevel, Result } from '../types/artplayer-plugin-dash-control' import type { AudioItem, Cleanup, EventName, Host, QualityItem, Valid } from './types' import $audio from './audio.svg?raw' +import { runCleanups } from './cleanup' import { audioModel, qualityModel } from './mapping' import { createMenu } from './menu' import $quality from './quality.svg?raw' @@ -39,19 +40,7 @@ export default function artplayerPluginDashControl true): void { - let failure: unknown - for (const cleanup of [quality.clear, audio.clear]) { - if (!current()) - break - try { - cleanup() - } - catch (error) { - failure ||= error - } - } - if (failure) - throw failure + runCleanups([quality.clear, audio.clear], current) } function update(): void { @@ -101,18 +90,8 @@ export default function artplayerPluginDashControl () => art.off(name, callback))] - for (const action of actions) { - try { - action() - } - catch (error) { - failure ||= error - } - } - if (failure) - throw failure + runCleanups(actions) } try { diff --git a/packages/artplayer-plugin-dash-control/src/menu.ts b/packages/artplayer-plugin-dash-control/src/menu.ts index 787a17f0c..21124eee8 100644 --- a/packages/artplayer-plugin-dash-control/src/menu.ts +++ b/packages/artplayer-plugin-dash-control/src/menu.ts @@ -1,4 +1,5 @@ import type { Cleanup, DisplayConfig, Label, MenuHost, MenuModel, SelectorItem, Valid } from './types' +import { runCleanups } from './cleanup' export function createMenu(art: MenuHost, name: string, icon: string) { let current: object | undefined @@ -18,17 +19,7 @@ export function createMenu(art: MenuHost, name: strin function clear(): void { current = undefined - let failure: unknown - for (const [surface, callback] of [...owned]) { - try { - remove(surface, callback) - } - catch (error) { - failure ||= error - } - } - if (failure) - throw failure + runCleanups([...owned].map(([surface, callback]) => () => remove(surface, callback))) } function update(config: DisplayConfig, model: MenuModel | null, active: Valid): void { diff --git a/packages/artplayer-plugin-dash-control/src/sdk-events.ts b/packages/artplayer-plugin-dash-control/src/sdk-events.ts index 64ccc562f..2829c3642 100644 --- a/packages/artplayer-plugin-dash-control/src/sdk-events.ts +++ b/packages/artplayer-plugin-dash-control/src/sdk-events.ts @@ -1,4 +1,5 @@ import type { Cleanup, Dash, SDKEventName } from './types' +import { runCleanups } from './cleanup' import { createSeekRecovery } from './seek-buffer' interface Binding { @@ -27,17 +28,7 @@ export function observeSDK(options: return binding = undefined record.epoch++ - let failure: unknown - for (const [name, callback] of record.callbacks.splice(0)) { - try { - record.off.call(record.dash, name, callback) - } - catch (error) { - failure ||= error - } - } - if (failure) - throw failure + runCleanups(record.callbacks.splice(0).map(([name, callback]) => () => record.off.call(record.dash, name, callback))) } function fail(record: Binding, error: unknown): void { diff --git a/refactor/baselines/dash-cleanup-errors-validation.json b/refactor/baselines/dash-cleanup-errors-validation.json new file mode 100644 index 000000000..efc376143 --- /dev/null +++ b/refactor/baselines/dash-cleanup-errors-validation.json @@ -0,0 +1,49151 @@ +{ + "schemaVersion": 1, + "task": "PKG-DASH-CLEANUP-01", + "sourceCommit": "1c522f181be42f1c3fe5ce309cd42d85e58ac4dc", + "capturedAt": "2026-09-15T07:56:37.015Z", + "status": "verified-fix", + "sourceHashesLF": { + "packages/artplayer-plugin-dash-control/src/cleanup.ts": "8e7fb4ec5ff7babb3d4ce644ae5571ae2f7ecf3cdf8614e89f453624e9d521ef", + "packages/artplayer-plugin-dash-control/src/index.ts": "153b9a1c97bdf4f46935ac42e6e5bb500038cbfbfd1dc70d885a179e4a233d8e", + "packages/artplayer-plugin-dash-control/src/menu.ts": "216ec7ce54958f2528556b6db6bb61757508f20a587c93529df0876eb6527472", + "packages/artplayer-plugin-dash-control/src/sdk-events.ts": "c2423a15c471ff7d771742df3d9d67baac7d34338c2884eec1759c34432df7a7", + "test/dash-cleanup-errors.test.js": "c1e1ac5bcd5f28bc9816aa91349d9eec5df18ea457a18ea032148d8fa33e45ee", + "test/browser/dash-control.spec.js": "2f6ff68c6ed676d8a7cd697ebedb25696cfa89a39acb48a4d11f2f4cac622282", + "refactor/scripts/dash-package-types.mjs": "3c9663979ff640b0d2cdc7b68f67ad76636473722057bca59cfcf4511aec741a", + "package.json": "029de7cd06e501b6f8b0e19a5d0e9d7991c9f21515a7d51c95767c33feb00991" + }, + "artifacts": { + "packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js": { + "file": "packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57", + "bytes": 9227 + }, + "packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js": { + "file": "packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js", + "sha256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e", + "bytes": 10119 + }, + "packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.mjs": { + "file": "packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.mjs", + "sha256": "1c0442ba7e4b5575296cedca7c39701fce1f3b748e3f742859115be7b33bbd17", + "bytes": 17353 + } + }, + "before": { + "unit": { + "file": "refactor/.cache/dash-cleanup-before.log", + "sha256": "0081bcbc1db36bf2967004cd86d70cce5c77261298689bd537711c0494791318", + "bytes": 242014, + "passed": 0, + "failed": 6 + }, + "harnessFailure": { + "report": { + "file": "refactor/.cache/dash-cleanup-browser-before.json", + "sha256": "c2f52dd143f3552e178a187aaf2d3850dcfc1ca82e527be61406bac574ecedb1", + "bytes": 120826 + }, + "reason": "Four setup failures reused core selector objects with non-configurable $control_option references; corrected by passing fresh selector items. Not counted as product regression." + }, + "browser": { + "name": "before-final", + "report": { + "file": "refactor/.cache/dash-cleanup-browser-before-final.json", + "sha256": "84a552c72292cc8d81bd640bcbb2a1dc2c4bffa43dcd8ecf419331c23f3f9da0", + "bytes": 144270 + }, + "stats": { + "startTime": "2026-09-15T07:38:16.252Z", + "duration": 6741.369000000001, + "expected": 0, + "skipped": 0, + "unexpected": 4, + "flaky": 0 + }, + "cases": [ + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "chromium", + "status": "failed", + "annotations": [], + "retry": 0, + "duration": 338, + "errors": [ + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-control.spec.js", + "column": 22, + "line": 157 + }, + "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoEqual\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // deep equality\u001b[22m\n\n\u001b[32m- Expected - 30\u001b[39m\n\u001b[31m+ Received + 30\u001b[39m\n\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"destroySame\": true,\u001b[39m\n\u001b[32m- \"destroyThrew\": true,\u001b[39m\n\u001b[31m+ \"destroySame\": false,\u001b[39m\n\u001b[31m+ \"destroyThrew\": false,\u001b[39m\n\u001b[2m \"results\": Array [\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m ],\u001b[22m\n\u001b[2m \"siblingRemoved\": true,\u001b[22m\n\u001b[2m }\u001b[22m\n\n 155 | }, sdk)\n 156 | await testInfo.attach('dash-cleanup-errors', { contentType: 'application/json', body: JSON.stringify({ result, scope: 'Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim.' }) })\n> 157 | expect(result).toEqual({ results: Array.from({ length: 7 }, () => ({ threw: true, same: true, audioRemoved: true, settingsRemoved: true })), destroyThrew: true, destroySame: true, siblingRemoved: true })\n | ^\n 158 | })\n 159 | }\n 160 | for (const [plugin, sdk] of [['published', 4], ['candidate', 4], ['candidate', 5]]) {\n at D:\\github\\ArtPlayer\\test\\browser\\dash-control.spec.js:157:22" + } + ], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "89d0eaf67d8edf7352355a969cc0043eb7eff7d0af7ec2f315ada034ff3dc988" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + } + ], + "destroyThrew": false, + "destroySame": false, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "chromium", + "status": "failed", + "annotations": [], + "retry": 0, + "duration": 312, + "errors": [ + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-control.spec.js", + "column": 22, + "line": 157 + }, + "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoEqual\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // deep equality\u001b[22m\n\n\u001b[32m- Expected - 30\u001b[39m\n\u001b[31m+ Received + 30\u001b[39m\n\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"destroySame\": true,\u001b[39m\n\u001b[32m- \"destroyThrew\": true,\u001b[39m\n\u001b[31m+ \"destroySame\": false,\u001b[39m\n\u001b[31m+ \"destroyThrew\": false,\u001b[39m\n\u001b[2m \"results\": Array [\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m ],\u001b[22m\n\u001b[2m \"siblingRemoved\": true,\u001b[22m\n\u001b[2m }\u001b[22m\n\n 155 | }, sdk)\n 156 | await testInfo.attach('dash-cleanup-errors', { contentType: 'application/json', body: JSON.stringify({ result, scope: 'Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim.' }) })\n> 157 | expect(result).toEqual({ results: Array.from({ length: 7 }, () => ({ threw: true, same: true, audioRemoved: true, settingsRemoved: true })), destroyThrew: true, destroySame: true, siblingRemoved: true })\n | ^\n 158 | })\n 159 | }\n 160 | for (const [plugin, sdk] of [['published', 4], ['candidate', 4], ['candidate', 5]]) {\n at D:\\github\\ArtPlayer\\test\\browser\\dash-control.spec.js:157:22" + } + ], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "89d0eaf67d8edf7352355a969cc0043eb7eff7d0af7ec2f315ada034ff3dc988" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + } + ], + "destroyThrew": false, + "destroySame": false, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "chromium", + "status": "failed", + "annotations": [], + "retry": 0, + "duration": 310, + "errors": [ + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-control.spec.js", + "column": 22, + "line": 157 + }, + "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoEqual\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // deep equality\u001b[22m\n\n\u001b[32m- Expected - 30\u001b[39m\n\u001b[31m+ Received + 30\u001b[39m\n\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"destroySame\": true,\u001b[39m\n\u001b[32m- \"destroyThrew\": true,\u001b[39m\n\u001b[31m+ \"destroySame\": false,\u001b[39m\n\u001b[31m+ \"destroyThrew\": false,\u001b[39m\n\u001b[2m \"results\": Array [\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m ],\u001b[22m\n\u001b[2m \"siblingRemoved\": true,\u001b[22m\n\u001b[2m }\u001b[22m\n\n 155 | }, sdk)\n 156 | await testInfo.attach('dash-cleanup-errors', { contentType: 'application/json', body: JSON.stringify({ result, scope: 'Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim.' }) })\n> 157 | expect(result).toEqual({ results: Array.from({ length: 7 }, () => ({ threw: true, same: true, audioRemoved: true, settingsRemoved: true })), destroyThrew: true, destroySame: true, siblingRemoved: true })\n | ^\n 158 | })\n 159 | }\n 160 | for (const [plugin, sdk] of [['published', 4], ['candidate', 4], ['candidate', 5]]) {\n at D:\\github\\ArtPlayer\\test\\browser\\dash-control.spec.js:157:22" + } + ], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "f8262dd9af7094d2ffdb4fa9917d2586056e1a65daed624fcf10c17faa6d69d7" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + } + ], + "destroyThrew": false, + "destroySame": false, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "chromium", + "status": "failed", + "annotations": [], + "retry": 0, + "duration": 300, + "errors": [ + { + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-control.spec.js", + "column": 22, + "line": 157 + }, + "message": "Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoEqual\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // deep equality\u001b[22m\n\n\u001b[32m- Expected - 30\u001b[39m\n\u001b[31m+ Received + 30\u001b[39m\n\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"destroySame\": true,\u001b[39m\n\u001b[32m- \"destroyThrew\": true,\u001b[39m\n\u001b[31m+ \"destroySame\": false,\u001b[39m\n\u001b[31m+ \"destroyThrew\": false,\u001b[39m\n\u001b[2m \"results\": Array [\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m Object {\u001b[22m\n\u001b[32m- \"audioRemoved\": true,\u001b[39m\n\u001b[32m- \"same\": true,\u001b[39m\n\u001b[32m- \"settingsRemoved\": true,\u001b[39m\n\u001b[32m- \"threw\": true,\u001b[39m\n\u001b[31m+ \"audioRemoved\": false,\u001b[39m\n\u001b[31m+ \"same\": false,\u001b[39m\n\u001b[31m+ \"settingsRemoved\": false,\u001b[39m\n\u001b[31m+ \"threw\": false,\u001b[39m\n\u001b[2m },\u001b[22m\n\u001b[2m ],\u001b[22m\n\u001b[2m \"siblingRemoved\": true,\u001b[22m\n\u001b[2m }\u001b[22m\n\n 155 | }, sdk)\n 156 | await testInfo.attach('dash-cleanup-errors', { contentType: 'application/json', body: JSON.stringify({ result, scope: 'Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim.' }) })\n> 157 | expect(result).toEqual({ results: Array.from({ length: 7 }, () => ({ threw: true, same: true, audioRemoved: true, settingsRemoved: true })), destroyThrew: true, destroySame: true, siblingRemoved: true })\n | ^\n 158 | })\n 159 | }\n 160 | for (const [plugin, sdk] of [['published', 4], ['candidate', 4], ['candidate', 5]]) {\n at D:\\github\\ArtPlayer\\test\\browser\\dash-control.spec.js:157:22" + } + ], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "f8262dd9af7094d2ffdb4fa9917d2586056e1a65daed624fcf10c17faa6d69d7" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + }, + { + "threw": false, + "same": false, + "audioRemoved": false, + "settingsRemoved": false + } + ], + "destroyThrew": false, + "destroySame": false, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + } + ] + } + }, + "checks": { + "unit-final": { + "file": "refactor/.cache/dash-cleanup-unit-final.log", + "sha256": "a9e54f6a785e639c3ffd303e40eea1187bb9a2384a1761b4257ce3e901d17112", + "bytes": 17260 + }, + "installed-unit": { + "file": "refactor/.cache/dash-cleanup-installed-unit.log", + "sha256": "ca25bf5dd2780f10ef088fdef4d6ac64b9822df585cd515073ec601f49bb05a1", + "bytes": 59345 + }, + "regression": { + "file": "refactor/.cache/dash-cleanup-regression.log", + "sha256": "681a94c151f49b0a65c61f24fc90c7abcea46251ae4af55390851d518dfd7cba", + "bytes": 701 + }, + "types": { + "file": "refactor/.cache/dash-cleanup-types.log", + "sha256": "835c397ffd257033526c3732fa09bf18b8cb67048c45405b51308112b4bd5a30", + "bytes": 448 + }, + "lint-complete": { + "file": "refactor/.cache/dash-cleanup-lint-complete.log", + "sha256": "5fa58cf7abaea0b064576d7f3cfbc438e2a1c2c42ae38cd93bd9c6f0438c23ec", + "bytes": 557 + }, + "build": { + "file": "refactor/.cache/dash-cleanup-build.log", + "sha256": "433fc8d7439d91b99f05def6ad6a58fd6bdf77e943a97d7c01a7fec425efb765", + "bytes": 1472 + }, + "package-final": { + "file": "refactor/.cache/dash-cleanup-package-final.log", + "sha256": "92bf340e636c9298e15c9b53446ecfc3c8c0cac35ac5dc7a8dfc3aa5ee81911d", + "bytes": 630 + }, + "toolchain": { + "file": "refactor/.cache/dash-cleanup-toolchain.log", + "sha256": "def023d1be0d30aae7c26426cefc0221a1925eefc3cd39c4f36684698238c8c8", + "bytes": 510 + } + }, + "browser": [ + { + "name": "source", + "report": { + "file": "refactor/.cache/dash-cleanup-browser-source.json", + "sha256": "f328494fb346c402fc7fd05667cf72228f523a427fc706e0af89476925f730a1", + "bytes": 238814 + }, + "stats": { + "startTime": "2026-09-15T07:39:21.769Z", + "duration": 14023.337, + "expected": 12, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "cases": [ + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 282, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "6dd66977a65816b83e7f78cf6822b4f30f5eeba638f738e7e1be4fef825299c7" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 227, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "6dd66977a65816b83e7f78cf6822b4f30f5eeba638f738e7e1be4fef825299c7" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 231, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "0abbb3a2be61465d01ae68ce0ca7ca646a2dd5731656f24ae1f1a8269cc8c726" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 242, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "0abbb3a2be61465d01ae68ce0ca7ca646a2dd5731656f24ae1f1a8269cc8c726" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1556, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "6dd66977a65816b83e7f78cf6822b4f30f5eeba638f738e7e1be4fef825299c7" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 391, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "6dd66977a65816b83e7f78cf6822b4f30f5eeba638f738e7e1be4fef825299c7" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 400, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "0abbb3a2be61465d01ae68ce0ca7ca646a2dd5731656f24ae1f1a8269cc8c726" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 514, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "0abbb3a2be61465d01ae68ce0ca7ca646a2dd5731656f24ae1f1a8269cc8c726" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1107, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "6dd66977a65816b83e7f78cf6822b4f30f5eeba638f738e7e1be4fef825299c7" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1014, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "6dd66977a65816b83e7f78cf6822b4f30f5eeba638f738e7e1be4fef825299c7" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1022, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "0abbb3a2be61465d01ae68ce0ca7ca646a2dd5731656f24ae1f1a8269cc8c726" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1055, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "0abbb3a2be61465d01ae68ce0ca7ca646a2dd5731656f24ae1f1a8269cc8c726" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + } + ] + }, + { + "name": "main", + "report": { + "file": "refactor/.cache/dash-cleanup-browser-main.json", + "sha256": "3a36d81c3aecf363bf4a276b3c59fa553558f083ffe3d1a7f812258b38721265", + "bytes": 16530040 + }, + "stats": { + "startTime": "2026-09-15T07:46:09.902Z", + "duration": 149294.53, + "expected": 96, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "cases": [ + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 254, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 210, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + published DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 989, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "9fafcaaac39b0b06fee4d4cbc39c2ba97ecb518e67779e072b4e4e070b1f7030" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.382099, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + published DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1046, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "9fafcaaac39b0b06fee4d4cbc39c2ba97ecb518e67779e072b4e4e070b1f7030" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.381399, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + published DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1048, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "9fafcaaac39b0b06fee4d4cbc39c2ba97ecb518e67779e072b4e4e070b1f7030" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.38782, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + published DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1026, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "9fafcaaac39b0b06fee4d4cbc39c2ba97ecb518e67779e072b4e4e070b1f7030" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.378732, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1042, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.388872, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 971, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.386515, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1024, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.382243, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1025, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.380927, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK quality selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 958, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.38259, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK audio selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1026, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.371169, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK quality selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1026, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.384912, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK audio selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1009, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.378226, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 207, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 210, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + published DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1056, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "5c3ba9e96bb64ec02a78a12810ff016495d43e7b6d4fa76a22f30a0de613e52c" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.387044, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + published DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 963, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "5c3ba9e96bb64ec02a78a12810ff016495d43e7b6d4fa76a22f30a0de613e52c" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.379577, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + published DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1008, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "5c3ba9e96bb64ec02a78a12810ff016495d43e7b6d4fa76a22f30a0de613e52c" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.377846, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + published DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1004, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "5c3ba9e96bb64ec02a78a12810ff016495d43e7b6d4fa76a22f30a0de613e52c" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.386588, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 942, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.38152, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1145, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.383419, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1054, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.387258, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1111, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.381999, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK quality selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1057, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.383958, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK audio selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1091, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.380442, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK quality selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1006, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.379173, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK audio selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1026, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.399884, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: empty topology and destroy clear real menus and retained callbacks", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 227, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: empty topology and destroy clear real menus and retained callbacks", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 214, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: empty topology and destroy clear real menus and retained callbacks", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 235, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: empty topology and destroy clear real menus and retained callbacks", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 206, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1502, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 490, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + published DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1177, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "9fafcaaac39b0b06fee4d4cbc39c2ba97ecb518e67779e072b4e4e070b1f7030" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.37168, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + published DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1232, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "9fafcaaac39b0b06fee4d4cbc39c2ba97ecb518e67779e072b4e4e070b1f7030" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + published DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1332, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "9fafcaaac39b0b06fee4d4cbc39c2ba97ecb518e67779e072b4e4e070b1f7030" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + published DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1426, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "9fafcaaac39b0b06fee4d4cbc39c2ba97ecb518e67779e072b4e4e070b1f7030" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1200, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.383436, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1224, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.371925, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1460, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1945, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK quality selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1313, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK audio selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1218, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK quality selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1394, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK audio selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1382, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.417404, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 386, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 400, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + published DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1408, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "5c3ba9e96bb64ec02a78a12810ff016495d43e7b6d4fa76a22f30a0de613e52c" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + published DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1363, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "5c3ba9e96bb64ec02a78a12810ff016495d43e7b6d4fa76a22f30a0de613e52c" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + published DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1414, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "5c3ba9e96bb64ec02a78a12810ff016495d43e7b6d4fa76a22f30a0de613e52c" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + published DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2015, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "5c3ba9e96bb64ec02a78a12810ff016495d43e7b6d4fa76a22f30a0de613e52c" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1431, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1327, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1435, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1413, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK quality selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1358, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK audio selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1304, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK quality selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1460, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.374166, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK audio selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1388, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.369469, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: empty topology and destroy clear real menus and retained callbacks", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 481, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: empty topology and destroy clear real menus and retained callbacks", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1122, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: empty topology and destroy clear real menus and retained callbacks", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 547, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: empty topology and destroy clear real menus and retained callbacks", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 492, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1387, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1203, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + published DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2856, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "9fafcaaac39b0b06fee4d4cbc39c2ba97ecb518e67779e072b4e4e070b1f7030" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.5091223, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + published DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2744, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "9fafcaaac39b0b06fee4d4cbc39c2ba97ecb518e67779e072b4e4e070b1f7030" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.4272712, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + published DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2979, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "9fafcaaac39b0b06fee4d4cbc39c2ba97ecb518e67779e072b4e4e070b1f7030" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.4700844, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + published DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 3093, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "9fafcaaac39b0b06fee4d4cbc39c2ba97ecb518e67779e072b4e4e070b1f7030" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.4834817, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2778, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.4708002, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2856, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.5041086, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2852, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.4056117, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2994, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.4400202, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK quality selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2820, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.47485, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK audio selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2697, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.4236274, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK quality selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2923, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.4996301, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK audio selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2700, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.4386926, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1006, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1154, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + published DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2894, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "5c3ba9e96bb64ec02a78a12810ff016495d43e7b6d4fa76a22f30a0de613e52c" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.5031925, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + published DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2915, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "5c3ba9e96bb64ec02a78a12810ff016495d43e7b6d4fa76a22f30a0de613e52c" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.4743015, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + published DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2919, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "5c3ba9e96bb64ec02a78a12810ff016495d43e7b6d4fa76a22f30a0de613e52c" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.4971031, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + published DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 3045, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "5c3ba9e96bb64ec02a78a12810ff016495d43e7b6d4fa76a22f30a0de613e52c" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.4935109, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2708, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.4549559, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2905, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.4947594, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2790, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.4395325, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2763, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.4280901, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK quality selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2664, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.4314134, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK audio selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2411, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.2132172, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK quality selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2748, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.2158353, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK audio selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 3069, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.4540665, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: empty topology and destroy clear real menus and retained callbacks", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 994, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: empty topology and destroy clear real menus and retained callbacks", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1078, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: empty topology and destroy clear real menus and retained callbacks", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 947, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: empty topology and destroy clear real menus and retained callbacks", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 951, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + } + ] + }, + { + "name": "legacy", + "report": { + "file": "refactor/.cache/dash-cleanup-browser-legacy.json", + "sha256": "95dd2372eba326c19740879c2b4b325e6acf9bdd9401f3585c2539a4cebb3aaf", + "bytes": 11184388 + }, + "stats": { + "startTime": "2026-09-15T07:49:01.809Z", + "duration": 105459.075, + "expected": 72, + "skipped": 0, + "unexpected": 0, + "flaky": 0 + }, + "cases": [ + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 259, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 208, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 959, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.380133, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 941, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.388497, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1016, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.382807, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1007, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.383186, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK quality selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1082, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.382952, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK audio selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1066, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.389844, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK quality selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1025, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.38556, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK audio selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1004, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.385846, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 210, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 222, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 975, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.390418, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 980, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.379054, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1026, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.385632, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1017, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.399444, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK quality selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 963, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.388188, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK audio selection through real control DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 976, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.389287, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK quality selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1053, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.379292, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK audio selection through real setting DOM", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1008, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.384404, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: empty topology and destroy clear real menus and retained callbacks", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 215, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: empty topology and destroy clear real menus and retained callbacks", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 203, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: empty topology and destroy clear real menus and retained callbacks", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 212, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: empty topology and destroy clear real menus and retained callbacks", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 255, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1531, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 385, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1228, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.415696, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1336, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1397, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1522, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.375632, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK quality selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1404, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.376055, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK audio selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1309, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.375948, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK quality selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1465, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK audio selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1907, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 535, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 549, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1341, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.380329, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1320, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1420, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1306, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK quality selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1360, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.373651, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/test/pattern.mp4", + "resourceType": "media", + "failure": { + "errorText": "NS_ERROR_PARSED_DATA_CACHED" + } + } + ] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK audio selection through real control DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1335, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK quality selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1399, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK audio selection through real setting DOM", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1965, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.374999, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: empty topology and destroy clear real menus and retained callbacks", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 567, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: empty topology and destroy clear real menus and retained callbacks", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 492, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: empty topology and destroy clear real menus and retained callbacks", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 544, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: empty topology and destroy clear real menus and retained callbacks", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 502, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1159, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1113, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2811, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.4424953, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2629, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.5142908, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2945, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.4880568, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2595, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.2109154, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK quality selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2545, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.4806037, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK audio selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2766, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.3960836, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK quality selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 3040, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.4889378, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: controlled SDK audio selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2784, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.4198252, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: falsy unmount errors preserve identity and release sibling menus", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1184, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: falsy unmount errors preserve identity and release sibling menus", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 984, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "dash-cleanup-errors", + "value": { + "result": { + "results": [ + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + }, + { + "threw": true, + "same": true, + "audioRemoved": true, + "settingsRemoved": true + } + ], + "destroyThrew": true, + "destroySame": true, + "siblingRemoved": true + }, + "scope": "Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim." + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK quality selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2624, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.4752423, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK audio selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2806, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.4670169, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK quality selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2772, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "qualityIndex", + "video", + 1 + ] + ], + "ready": true, + "time": 0.4782171, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: controlled SDK audio selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2799, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.2159775, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK quality selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2818, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.4819477, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK audio selection through real control DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2647, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.4168548, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK quality selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2732, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "auto", + false + ], + [ + "representationId", + "video", + "high" + ] + ], + "ready": true, + "time": 0.4543713, + "videoError": null, + "quality": "720p720p360pAuto", + "audio": "enenfr", + "settingRows": [ + { + "text": "Quality720p\n \n", + "label": "Quality" + }, + { + "text": "Audioen\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: controlled SDK audio selection through real setting DOM", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2973, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [ + [ + "track", + "fr", + true + ] + ], + "ready": true, + "time": 0.4808849, + "videoError": null, + "quality": "Auto720p360pAuto", + "audio": "frenfr", + "settingRows": [ + { + "text": "QualityAuto\n \n", + "label": "Quality" + }, + { + "text": "Audiofr\n \n", + "label": "Audio" + } + ] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 4: empty topology and destroy clear real menus and retained callbacks", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 945, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / published core + candidate DASH SDK 5: empty topology and destroy clear real menus and retained callbacks", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1122, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 4: empty topology and destroy clear real menus and retained callbacks", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 974, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-control.spec.js / candidate core + candidate DASH SDK 5: empty topology and destroy clear real menus and retained callbacks", + "project": "webkit", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 969, + "errors": [], + "attachments": [ + { + "name": "controlled-dash-inputs", + "inputRef": "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9" + }, + { + "name": "controlled-dash-cleanup", + "value": { + "cleared": true, + "staleWrites": 0, + "restored": true, + "afterDestroyWrites": 0, + "sameList": true + } + }, + { + "name": "controlled-dash-state", + "value": { + "calls": [], + "ready": true, + "time": 0, + "videoError": null, + "settingRows": [] + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": { + "source": "http://127.0.0.1:8084/test/pattern.mp4", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + } + ] + }, + { + "name": "sdk-main", + "report": { + "file": "refactor/.cache/dash-cleanup-browser-sdk-main.json", + "sha256": "cf1c82d3443a9a3aca736226a37e692259b4c94d6bbfc23adfcaf1b5ace87be8", + "bytes": 3252766 + }, + "stats": { + "startTime": "2026-09-15T07:51:07.454Z", + "duration": 77381.698, + "expected": 24, + "skipped": 12, + "unexpected": 0, + "flaky": 0 + }, + "cases": [ + { + "title": "dash-sdk.spec.js / published core / candidate DASH / 4.5.2: real MPD decoding and UI selection", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 4436, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "5f0a1f54cc440a3624ebdb4a3890ddc672af8f3285a40347cedd43a84050ebbb" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "606d8a83abec36bf0859c00d075f586517f3e7902a2fdf94dd31aadfcaaa0230" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 107, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3771.699999988079, + "mediaType": "audio", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 3771.699999988079, + "mediaType": "audio", + "time": 6 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 3771.800000011921, + "mediaType": "audio", + "oldQuality": 0, + "newQuality": 0, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKING", + "at": 3773.099999964237, + "time": 6, + "seekTime": 6 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 3776, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/init-1.m4s", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3776.300000011921, + "mediaType": "video", + "bufferLevel": 0, + "time": 6 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 3780, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00004.m4s", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3780.399999976158, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 3780.5, + "mediaType": "video", + "state": "bufferLoaded", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3780.5, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3781.699999988079, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3781.699999988079, + "mediaType": "audio", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 3781.800000011921, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3821.5, + "mediaType": "video", + "bufferLevel": 1.986733, + "time": 6.013266 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3821.5, + "mediaType": "audio", + "bufferLevel": 1.986733, + "time": 6.013266 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4071.5, + "mediaType": "video", + "bufferLevel": 1.7796839999999996, + "time": 6.220315 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4071.599999964237, + "mediaType": "audio", + "bufferLevel": 1.7796839999999996, + "time": 6.220315 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4239.699999988079, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00005.m4s", + "time": 6.386825 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4240.199999988079, + "mediaType": "audio", + "bufferLevel": 3.6185080000000003, + "time": 6.386825 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4240.199999988079, + "mediaType": "audio", + "bufferLevel": 3.6185080000000003, + "time": 6.386825 + } + ] + }, + "mediaEvents": { + "count": 26, + "last20": [ + { + "name": "timeupdate", + "at": 904.3000000119209, + "time": 0.486619, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + }, + { + "name": "timeupdate", + "at": 1170.699999988079, + "time": 0.753135, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + }, + { + "name": "timeupdate", + "at": 1436.0999999642372, + "time": 1.018312, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1702, + "time": 1.284248, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1967.5999999642372, + "time": 1.550068, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 2233.399999976158, + "time": 1.815587, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 2498.899999976158, + "time": 2.081363, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 2763.800000011921, + "time": 2.346591, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3038.099999964237, + "time": 2.620671, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3304.300000011921, + "time": 2.880346, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3561.599999964237, + "time": 3.140221, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3771.599999964237, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 5.999999 + ] + ] + }, + { + "name": "pause", + "at": 3772.699999988079, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 5.999999 + ] + ] + }, + { + "name": "seeking", + "at": 3773.099999964237, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3781.599999964237, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "seeked", + "at": 3781.800000011921, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "canplay", + "at": 3781.899999976158, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "play", + "at": 3821.099999964237, + "time": 6.012864, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "playing", + "at": 3821.300000011921, + "time": 6.013041, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4071.300000011921, + "time": 6.220217, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + } + ] + }, + "tracks": [ + { + "id": 1, + "index": 1, + "lang": "en" + }, + { + "id": 2, + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "height": 90 + }, + { + "height": 180 + } + ], + "buffered": [ + [ + 1.984, + 7.999999 + ] + ], + "paused": false, + "seeking": false, + "time": 6.388805, + "ready": true, + "width": 320, + "height": 180, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 6.388805, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 1.78, + "audio": 3.619 + }, + "processors": [ + { + "type": "video", + "level": 1.7796839999999996, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.6185080000000003, + "target": 2.7800000000000002, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 46, + "last3": [ + { + "name": "media:playing", + "at": 3821.300000011921, + "time": 6.013041, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 2, + "audio": 2 + }, + "processors": [ + { + "type": "video", + "level": 1.9999989999999999, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.9999989999999999, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 7.999999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 4071.300000011921, + "time": 6.220217, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 1.987, + "audio": 1.987 + }, + "processors": [ + { + "type": "video", + "level": 1.986733, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.986733, + "target": 2.987, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 7.999999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 4240.199999988079, + "time": 6.386825, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 1.78, + "audio": 1.78 + }, + "processors": [ + { + "type": "video", + "level": 1.7796839999999996, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.7796839999999996, + "target": 2.7800000000000002, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00005.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / candidate DASH / 5.2.1: real MPD decoding and UI selection", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 4522, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "aeead862037b18c9ccc504049a16283bd50d2dabb3453f79bb50d992ef2bee6b" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "47d5beeffde28a61f0f0028870a1a4eff2842da0b1546fc2756b286281e02884" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 114, + "last20": [ + { + "name": "PLAYBACK_SEEKING", + "at": 3916.5, + "time": 6, + "seekTime": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3916.800000011921, + "mediaType": "audio", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3917.199999988079, + "mediaType": "video", + "bufferLevel": 0, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 3917.199999988079, + "mediaType": "video", + "state": "bufferStalled", + "time": 6 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 3922.399999976158, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/init-1.m4s", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3923.100000023842, + "mediaType": "video", + "bufferLevel": 0, + "time": 6 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 3927.399999976158, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00004.m4s", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3928, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 3928, + "mediaType": "video", + "state": "bufferLoaded", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3928, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3929.5, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3929.600000023842, + "mediaType": "audio", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 3929.800000011921, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4110.199999988079, + "mediaType": "video", + "bufferLevel": 1.883692, + "time": 6.116307 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4110.199999988079, + "mediaType": "audio", + "bufferLevel": 1.883692, + "time": 6.116307 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4226.600000023842, + "mediaType": "video", + "bufferLevel": 1.7662300000000002, + "time": 6.233769 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4226.600000023842, + "mediaType": "audio", + "bufferLevel": 1.7662300000000002, + "time": 6.233769 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4375.399999976158, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00005.m4s", + "time": 6.373195 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4376, + "mediaType": "audio", + "bufferLevel": 3.6315090000000003, + "time": 6.373824 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4376.100000023842, + "mediaType": "audio", + "bufferLevel": 3.6315090000000003, + "time": 6.373824 + } + ] + }, + "mediaEvents": { + "count": 27, + "last20": [ + { + "name": "timeupdate", + "at": 1106.199999988079, + "time": 0.744205, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + }, + { + "name": "timeupdate", + "at": 1372.199999988079, + "time": 1.011199, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1637.699999988079, + "time": 1.275894, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1903.5, + "time": 1.542879, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 2168.5, + "time": 1.807663, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 2434.199999988079, + "time": 2.073488, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 2699.899999976158, + "time": 2.339135, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 2978.899999976158, + "time": 2.617852, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3237, + "time": 2.87587, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3496.399999976158, + "time": 3.131031, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3764.199999988079, + "time": 3.401039, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3913.199999988079, + "time": 3.540181, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 5.999999 + ] + ] + }, + { + "name": "pause", + "at": 3914.899999976158, + "time": 3.540181, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 5.999999 + ] + ] + }, + { + "name": "seeking", + "at": 3916.300000011921, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3929.399999976158, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "seeked", + "at": 3929.600000023842, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "canplay", + "at": 3930, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "play", + "at": 3963.800000011921, + "time": 6.013083, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "playing", + "at": 3964.300000011921, + "time": 6.013528, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4226.399999976158, + "time": 6.233616, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + } + ] + }, + "tracks": [ + { + "id": "1", + "index": 1, + "lang": "en" + }, + { + "id": "2", + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "id": "0", + "height": 90 + }, + { + "id": "1", + "height": 180 + } + ], + "buffered": [ + [ + 1.984, + 7.999999 + ] + ], + "paused": false, + "seeking": false, + "time": 6.381321, + "ready": true, + "width": 320, + "height": 180, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 6.381321, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 1.766, + "audio": 3.632 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 48, + "last3": [ + { + "name": "media:playing", + "at": 3964.300000011921, + "time": 6.013528, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 2, + "audio": 2 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 7.999999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 4226.399999976158, + "time": 6.233616, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 1.884, + "audio": 1.884 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 7.999999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 4375.899999976158, + "time": 6.373779, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 1.766, + "audio": 1.766 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / candidate DASH / 4.5.2: real MPD decoding and UI selection", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 4509, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "5f0a1f54cc440a3624ebdb4a3890ddc672af8f3285a40347cedd43a84050ebbb" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "fc94a83d967819ee6a6f2e9ca005a7aa8a623f7e7195702c94bb7c47ab0c13ec" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 109, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3921.099999964237, + "mediaType": "audio", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 3921.099999964237, + "mediaType": "audio", + "time": 6 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 3921.199999988079, + "mediaType": "audio", + "oldQuality": 0, + "newQuality": 0, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKING", + "at": 3922.699999988079, + "time": 6, + "seekTime": 6 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 3927.399999976158, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/init-1.m4s", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3928.099999964237, + "mediaType": "video", + "bufferLevel": 0, + "time": 6 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 3934.2999999523163, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00004.m4s", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3934.899999976158, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 3934.899999976158, + "mediaType": "video", + "state": "bufferLoaded", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3935, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3936.599999964237, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3936.599999964237, + "mediaType": "audio", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 3936.699999988079, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4180.799999952316, + "mediaType": "video", + "bufferLevel": 1.8197589999999995, + "time": 6.18024 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4180.799999952316, + "mediaType": "audio", + "bufferLevel": 1.8197589999999995, + "time": 6.18024 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4221.399999976158, + "mediaType": "video", + "bufferLevel": 1.779484, + "time": 6.220515 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4221.399999976158, + "mediaType": "audio", + "bufferLevel": 1.779484, + "time": 6.220515 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4385.5, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00005.m4s", + "time": 6.383027 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4385.899999976158, + "mediaType": "audio", + "bufferLevel": 3.621888, + "time": 6.383445 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4385.899999976158, + "mediaType": "audio", + "bufferLevel": 3.621888, + "time": 6.383445 + } + ] + }, + "mediaEvents": { + "count": 27, + "last20": [ + { + "name": "timeupdate", + "at": 1144.0999999642372, + "time": 0.74225, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + }, + { + "name": "timeupdate", + "at": 1409.0999999642372, + "time": 1.008157, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1674.7999999523163, + "time": 1.274231, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1940.7999999523163, + "time": 1.540225, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 2205.7999999523163, + "time": 1.804837, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 2471.399999976158, + "time": 2.070553, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 2738.099999964237, + "time": 2.337291, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3006.2999999523163, + "time": 2.601459, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3271.199999988079, + "time": 2.866411, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3538.2999999523163, + "time": 3.13518, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3804.099999964237, + "time": 3.400601, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3921, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 5.999999 + ] + ] + }, + { + "name": "pause", + "at": 3922.2999999523163, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 5.999999 + ] + ] + }, + { + "name": "seeking", + "at": 3922.599999964237, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3936.5, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "seeked", + "at": 3936.599999964237, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "canplay", + "at": 3936.699999988079, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "play", + "at": 3970.599999964237, + "time": 6.011826, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "playing", + "at": 3970.7999999523163, + "time": 6.012005, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4221.299999952316, + "time": 6.220469, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + } + ] + }, + "tracks": [ + { + "id": 1, + "index": 1, + "lang": "en" + }, + { + "id": 2, + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "height": 90 + }, + { + "height": 180 + } + ], + "buffered": [ + [ + 1.984, + 7.999999 + ] + ], + "paused": false, + "seeking": false, + "time": 6.386289, + "ready": true, + "width": 320, + "height": 180, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 6.386289, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 1.779, + "audio": 3.622 + }, + "processors": [ + { + "type": "video", + "level": 1.779484, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.621888, + "target": 2.779, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 47, + "last3": [ + { + "name": "media:playing", + "at": 3970.7999999523163, + "time": 6.012005, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 2, + "audio": 2 + }, + "processors": [ + { + "type": "video", + "level": 1.9999989999999999, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.9999989999999999, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 7.999999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 4221.299999952316, + "time": 6.220469, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 1.82, + "audio": 1.82 + }, + "processors": [ + { + "type": "video", + "level": 1.8197589999999995, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.8197589999999995, + "target": 2.8200000000000003, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 7.999999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 4385.799999952316, + "time": 6.383406, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 1.779, + "audio": 1.779 + }, + "processors": [ + { + "type": "video", + "level": 1.779484, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.779484, + "target": 2.779, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / candidate DASH / 5.2.1: real MPD decoding and UI selection", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 6414, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "aeead862037b18c9ccc504049a16283bd50d2dabb3453f79bb50d992ef2bee6b" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "12287df104f2196207cb20b9ac9f598783aec3c352f431e2c03e71974f3e8960" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 137, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5796.199999988079, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5796.300000011921, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 5796.399999976158, + "mediaType": "audio", + "time": 6 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 5796.399999976158, + "mediaType": "audio", + "time": 6 + }, + { + "name": "PLAYBACK_SEEKING", + "at": 5798.399999976158, + "time": 6, + "seekTime": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5798.599999964237, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5798.599999964237, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5800.599999964237, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5800.599999964237, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 5800.800000011921, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5941.5, + "mediaType": "video", + "bufferLevel": 1.9397640000000003, + "time": 6.060235 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5941.5, + "mediaType": "audio", + "bufferLevel": 3.9450980000000007, + "time": 6.060235 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6094.699999988079, + "mediaType": "video", + "bufferLevel": 1.7794499999999998, + "time": 6.220549 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6094.699999988079, + "mediaType": "audio", + "bufferLevel": 3.784784, + "time": 6.220549 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 6116, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00005.m4s", + "time": 6.241752 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6116.800000011921, + "mediaType": "video", + "bufferLevel": 3.757429000000001, + "time": 6.24257 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6116.800000011921, + "mediaType": "video", + "bufferLevel": 3.757429000000001, + "time": 6.24257 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 6255.5, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00006.m4s", + "time": 6.373216 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6256, + "mediaType": "audio", + "bufferLevel": 5.6263320000000006, + "time": 6.373667 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6256.099999964237, + "mediaType": "audio", + "bufferLevel": 5.6263320000000006, + "time": 6.373667 + } + ] + }, + "mediaEvents": { + "count": 34, + "last20": [ + { + "name": "timeupdate", + "at": 2993.899999976158, + "time": 2.618032, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3260.899999976158, + "time": 2.880317, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3527.099999964237, + "time": 3.140318, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3794.699999988079, + "time": 3.417298, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4060.599999964237, + "time": 3.680332, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4327.5, + "time": 3.949272, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4594.5, + "time": 4.216968, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4860.800000011921, + "time": 4.480337, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 5117.599999964237, + "time": 4.74019, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 5394.399999976158, + "time": 5.015942, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 5651.599999964237, + "time": 5.275608, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 5795.899999976158, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "pause", + "at": 5797.899999976158, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "seeking", + "at": 5798.300000011921, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 5800.399999976158, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "seeked", + "at": 5800.699999988079, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "canplay", + "at": 5800.899999976158, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "play", + "at": 5844.800000011921, + "time": 6.013337, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "playing", + "at": 5845.099999964237, + "time": 6.01365, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 6094.5, + "time": 6.220438, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + } + ] + }, + "tracks": [ + { + "id": "1", + "index": 1, + "lang": "en" + }, + { + "id": "2", + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "id": "0", + "height": 90 + }, + { + "id": "1", + "height": 180 + } + ], + "buffered": [ + [ + 3.989333, + 9.999999 + ] + ], + "paused": false, + "seeking": false, + "time": 6.380673, + "ready": true, + "width": 320, + "height": 180, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 6.380673, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 9.999999 + ] + ], + "levels": { + "video": 3.757, + "audio": 5.626 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 9.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 11.999999 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 57, + "last3": [ + { + "name": "media:timeupdate", + "at": 6094.5, + "time": 6.220438, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 7.999999 + ] + ], + "levels": { + "video": 1.94, + "audio": 3.945 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 6116.699999988079, + "time": 6.242519, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 9.999999 + ] + ], + "levels": { + "video": 1.779, + "audio": 3.785 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 9.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 6255.899999976158, + "time": 6.373632, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 9.999999 + ] + ], + "levels": { + "video": 3.757, + "audio": 3.785 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 9.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 11.999999 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 4.5.2: asynchronous formatter error clears menus and explicit update recovers", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1050, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "5f0a1f54cc440a3624ebdb4a3890ddc672af8f3285a40347cedd43a84050ebbb" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "606d8a83abec36bf0859c00d075f586517f3e7902a2fdf94dd31aadfcaaa0230" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 48, + "last20": [ + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 688.5, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/init-3.m4s", + "time": 0.356566 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 689.0999999642372, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.357137 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 692.6999999880791, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00001.m4s", + "time": 0.362039 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 693.5, + "mediaType": "audio", + "bufferLevel": 1.621234, + "time": 0.362765 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 693.5, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0.362765 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 693.5, + "mediaType": "audio", + "bufferLevel": 1.621234, + "time": 0.362765 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 698.3000000119209, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00002.m4s", + "time": 0.367674 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 698.6999999880791, + "mediaType": "audio", + "bufferLevel": 3.621238, + "time": 0.368095 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 698.8000000119209, + "mediaType": "audio", + "bufferLevel": 3.621238, + "time": 0.368095 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 739.3000000119209, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/init-1.m4s", + "time": 0.407614 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 739.8000000119209, + "mediaType": "video", + "bufferLevel": 1.591908, + "time": 0.408091 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 745.3999999761581, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00002.m4s", + "time": 0.413696 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 745.8999999761581, + "mediaType": "video", + "bufferLevel": 3.58582, + "time": 0.414179 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 746, + "mediaType": "video", + "bufferLevel": 3.58582, + "time": 0.414179 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 817.5999999642372, + "mediaType": "video", + "bufferLevel": 3.513683, + "time": 0.486316 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 817.5999999642372, + "mediaType": "audio", + "bufferLevel": 3.503017, + "time": 0.486316 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 817.5999999642372, + "mediaType": "audio", + "time": 0.486316 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 817.6999999880791, + "mediaType": "audio", + "oldQuality": 0, + "newQuality": 0, + "time": 0.486316 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 910.0999999642372, + "mediaType": "video", + "bufferLevel": 3.420995, + "time": 0.579004 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 910.1999999880791, + "mediaType": "audio", + "bufferLevel": 3.410329, + "time": 0.579004 + } + ] + }, + "mediaEvents": { + "count": 7, + "last20": [ + { + "name": "loadedmetadata", + "at": 224.39999997615814, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "loadeddata", + "at": 235.69999998807907, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "canplay", + "at": 237.5, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "play", + "at": 302.80000001192093, + "time": 0.012278, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "playing", + "at": 303.19999998807907, + "time": 0.012636, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 551.6999999880791, + "time": 0.220505, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 817.5, + "time": 0.486258, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + } + ] + }, + "tracks": [ + { + "id": 1, + "index": 1, + "lang": "en" + }, + { + "id": 2, + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "height": 90 + }, + { + "height": 180 + } + ], + "buffered": [ + [ + 0, + 3.989333 + ] + ], + "paused": false, + "seeking": false, + "time": 0.592045, + "ready": true, + "width": 160, + "height": 90, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 0.592045, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.421, + "audio": 3.41 + }, + "processors": [ + { + "type": "video", + "level": 3.420995, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.410329, + "target": 4.420999999999999, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 18, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 739.6999999880791, + "time": 0.408008, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.999999 + ] + ], + "levels": { + "video": 1.779, + "audio": 3.621 + }, + "processors": [ + { + "type": "video", + "level": 1.779427, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.621238, + "target": 2.779, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 745.8000000119209, + "time": 0.414134, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 1.592, + "audio": 3.621 + }, + "processors": [ + { + "type": "video", + "level": 1.591908, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.621238, + "target": 2.592, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 817.5, + "time": 0.486258, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.586, + "audio": 3.621 + }, + "processors": [ + { + "type": "video", + "level": 3.58582, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.621238, + "target": 4.586, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 4.5.2: actual source topology replacement and owned cleanup", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1342, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "5f0a1f54cc440a3624ebdb4a3890ddc672af8f3285a40347cedd43a84050ebbb" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "606d8a83abec36bf0859c00d075f586517f3e7902a2fdf94dd31aadfcaaa0230" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 93, + "last20": [ + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1138, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1138.300000011921, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1138.800000011921, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1138.800000011921, + "mediaType": "video", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1138.800000011921, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1139, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1139, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1139, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "QUALITY_CHANGE_REQUESTED", + "at": 1139.300000011921, + "mediaType": "video", + "oldQuality": 0, + "newQuality": 1, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1140, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1140, + "mediaType": "video", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1140, + "mediaType": "video", + "oldQuality": null, + "newQuality": 0, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1140, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1140, + "mediaType": "audio", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1140, + "mediaType": "audio", + "oldQuality": null, + "newQuality": 0, + "time": 0 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 1140, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1142.5, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00002.m4s", + "time": 0.002393 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1142.8999999761581, + "mediaType": "audio", + "bufferLevel": 3.9865739999999996, + "time": 0.002759 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1142.8999999761581, + "mediaType": "audio", + "bufferLevel": 3.9865739999999996, + "time": 0.002759 + }, + { + "name": "STREAM_TEARDOWN_COMPLETE", + "at": 1162.0999999642372, + "time": 0 + } + ] + }, + "mediaEvents": { + "count": 44, + "last20": [ + { + "name": "seeking", + "at": 1091.699999988079, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1100.0999999642372, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "seeked", + "at": 1100.199999988079, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "loadeddata", + "at": 1100.199999988079, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "canplay", + "at": 1100.699999988079, + "time": 0.000352, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "play", + "at": 1100.800000011921, + "time": 0.000453, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "playing", + "at": 1100.800000011921, + "time": 0.000535, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1113.800000011921, + "time": 0.013244, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "pause", + "at": 1114, + "time": 0.013244, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "emptied", + "at": 1115.699999988079, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1115.699999988079, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "loadedmetadata", + "at": 1128.5999999642372, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "seeking", + "at": 1128.800000011921, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1139.8999999761581, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "seeked", + "at": 1140, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "loadeddata", + "at": 1140, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "canplay", + "at": 1140.800000011921, + "time": 0.000571, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "play", + "at": 1142.0999999642372, + "time": 0.00186, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "playing", + "at": 1142.199999988079, + "time": 0.001997, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "emptied", + "at": 1162.5, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + } + ] + }, + "levels": {}, + "buffered": [], + "paused": true, + "seeking": false, + "time": 0, + "ready": true, + "width": 0, + "height": 0, + "readyState": 0, + "destroyed": 4, + "bufferState": { + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + }, + "bufferEvents": { + "count": 62, + "last3": [ + { + "name": "media:playing", + "at": 1142.199999988079, + "time": 0.001997, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.983999 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": [ + { + "type": "video", + "level": 1.999999, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.983999, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.983999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1142.8999999761581, + "time": 0.002678, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.999999 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": [ + { + "type": "video", + "level": 1.999999, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.983999, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:emptied", + "at": 1162.5, + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "blob:http://127.0.0.1:8084/4f20da5f-d33f-4407-a8cd-6b4dd22f1ece", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 5.2.1: asynchronous formatter error clears menus and explicit update recovers", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 958, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "aeead862037b18c9ccc504049a16283bd50d2dabb3453f79bb50d992ef2bee6b" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "47d5beeffde28a61f0f0028870a1a4eff2842da0b1546fc2756b286281e02884" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 43, + "last20": [ + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 523.2000000476837, + "mediaType": "audio", + "time": 0.226683 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 633.5, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.335759 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 633.5, + "mediaType": "audio", + "state": "bufferStalled", + "time": 0.335759 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 633.6000000238419, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.335759 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 638.8000000119209, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/init-3.m4s", + "time": 0.341875 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 639.6000000238419, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.342735 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 642.1000000238419, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00001.m4s", + "time": 0.345224 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 642.5, + "mediaType": "audio", + "bufferLevel": 1.638441, + "time": 0.345558 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 642.5, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0.345558 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 642.5, + "mediaType": "audio", + "bufferLevel": 1.638441, + "time": 0.345558 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 646, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00002.m4s", + "time": 0.349189 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 646.5, + "mediaType": "audio", + "bufferLevel": 3.639671, + "time": 0.349662 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 646.6000000238419, + "mediaType": "audio", + "bufferLevel": 3.639671, + "time": 0.349662 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 697.7000000476837, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00002.m4s", + "time": 0.401318 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 698.2000000476837, + "mediaType": "video", + "bufferLevel": 3.5982079999999996, + "time": 0.401791 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 698.2000000476837, + "mediaType": "video", + "bufferLevel": 3.5982079999999996, + "time": 0.401791 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 788.7000000476837, + "mediaType": "video", + "bufferLevel": 3.508021, + "time": 0.491978 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 788.7000000476837, + "mediaType": "audio", + "bufferLevel": 3.4973549999999998, + "time": 0.491978 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 788.7000000476837, + "mediaType": "audio", + "time": 0.491978 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 788.7000000476837, + "mediaType": "audio", + "time": 0.491978 + } + ] + }, + "mediaEvents": { + "count": 7, + "last20": [ + { + "name": "loadedmetadata", + "at": 183.9000000357628, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "loadeddata", + "at": 192.30000001192093, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "canplay", + "at": 194, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "play", + "at": 267.10000002384186, + "time": 0.011006, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "playing", + "at": 267.60000002384186, + "time": 0.011498, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 522.8000000119209, + "time": 0.226571, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 788.5, + "time": 0.491858, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + } + ] + }, + "tracks": [ + { + "id": "1", + "index": 1, + "lang": "en" + }, + { + "id": "2", + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "id": "0", + "height": 90 + }, + { + "id": "1", + "height": 180 + } + ], + "buffered": [ + [ + 0, + 3.989333 + ] + ], + "paused": false, + "seeking": false, + "time": 0.550104, + "ready": true, + "width": 160, + "height": 90, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 0.550104, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.508, + "audio": 3.497 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 17, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 646.4000000357628, + "time": 0.349625, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.999999 + ] + ], + "levels": { + "video": 1.773, + "audio": 1.638 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 698, + "time": 0.401734, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 1.773, + "audio": 3.64 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 788.5, + "time": 0.491858, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.598, + "audio": 3.64 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 5.2.1: actual source topology replacement and owned cleanup", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1288, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "aeead862037b18c9ccc504049a16283bd50d2dabb3453f79bb50d992ef2bee6b" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "47d5beeffde28a61f0f0028870a1a4eff2842da0b1546fc2756b286281e02884" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 94, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1129.7999999523163, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1133.2999999523163, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1133.699999988079, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1134.0999999642372, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1134.199999988079, + "mediaType": "video", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1134.199999988079, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1134.2999999523163, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1134.3999999761581, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1134.5, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1135.199999988079, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1135.199999988079, + "mediaType": "video", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1135.2999999523163, + "mediaType": "video", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1135.2999999523163, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1135.2999999523163, + "mediaType": "audio", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1135.2999999523163, + "mediaType": "audio", + "time": 0 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 1135.3999999761581, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1137.7999999523163, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00002.m4s", + "time": 0.002203 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1138.2999999523163, + "mediaType": "audio", + "bufferLevel": 3.9866089999999996, + "time": 0.002724 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1138.2999999523163, + "mediaType": "audio", + "bufferLevel": 3.9866089999999996, + "time": 0.002724 + }, + { + "name": "STREAM_TEARDOWN_COMPLETE", + "at": 1160, + "time": 0 + } + ] + }, + "mediaEvents": { + "count": 44, + "last20": [ + { + "name": "seeking", + "at": 1075.8999999761581, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1090.8999999761581, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "seeked", + "at": 1091.199999988079, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "loadeddata", + "at": 1091.199999988079, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "canplay", + "at": 1091.8999999761581, + "time": 0.000515, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "play", + "at": 1092.0999999642372, + "time": 0.000725, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "playing", + "at": 1092.2999999523163, + "time": 0.000872, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1106.699999988079, + "time": 0.014931, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "pause", + "at": 1107, + "time": 0.014931, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "emptied", + "at": 1109.2999999523163, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1109.5, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "loadedmetadata", + "at": 1121.3999999761581, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "seeking", + "at": 1121.699999988079, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1135.0999999642372, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "seeked", + "at": 1135.2999999523163, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "loadeddata", + "at": 1135.3999999761581, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "canplay", + "at": 1136.2999999523163, + "time": 0.000656, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "play", + "at": 1136.5999999642372, + "time": 0.000966, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "playing", + "at": 1136.699999988079, + "time": 0.001112, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "emptied", + "at": 1160.3999999761581, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + } + ] + }, + "levels": {}, + "buffered": [], + "paused": true, + "seeking": false, + "time": 0, + "ready": true, + "width": 0, + "height": 0, + "readyState": 0, + "destroyed": 4, + "bufferState": { + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + }, + "bufferEvents": { + "count": 62, + "last3": [ + { + "name": "media:playing", + "at": 1136.699999988079, + "time": 0.001112, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.983999 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.983999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1138.0999999642372, + "time": 0.002642, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.999999 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:emptied", + "at": 1160.3999999761581, + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "blob:http://127.0.0.1:8084/1e8963dd-8342-49a9-bab7-cc56c7561201", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 4.5.2: asynchronous formatter error clears menus and explicit update recovers", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 992, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "5f0a1f54cc440a3624ebdb4a3890ddc672af8f3285a40347cedd43a84050ebbb" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "fc94a83d967819ee6a6f2e9ca005a7aa8a623f7e7195702c94bb7c47ab0c13ec" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 46, + "last20": [ + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 668.8999999761581, + "mediaType": "audio", + "state": "bufferStalled", + "time": 0.338699 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 669, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.338699 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 672.3000000119209, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/init-3.m4s", + "time": 0.342081 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 672.8000000119209, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.342588 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 675.8000000119209, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00001.m4s", + "time": 0.345517 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 676.3999999761581, + "mediaType": "audio", + "bufferLevel": 1.637834, + "time": 0.346165 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 676.3999999761581, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0.346165 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 676.5, + "mediaType": "audio", + "bufferLevel": 1.637834, + "time": 0.346165 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 678.8000000119209, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00002.m4s", + "time": 0.348513 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 679.1000000238419, + "mediaType": "audio", + "bufferLevel": 3.6404739999999998, + "time": 0.348859 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 679.1999999880791, + "mediaType": "audio", + "bufferLevel": 3.6404739999999998, + "time": 0.348859 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 735.8000000119209, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/init-1.m4s", + "time": 0.405832 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 736.1000000238419, + "mediaType": "video", + "bufferLevel": 1.5938910000000002, + "time": 0.406108 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 740.6999999880791, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00002.m4s", + "time": 0.410715 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 741.1999999880791, + "mediaType": "video", + "bufferLevel": 3.588829, + "time": 0.41117 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 741.1999999880791, + "mediaType": "video", + "bufferLevel": 3.588829, + "time": 0.41117 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 819.3000000119209, + "mediaType": "video", + "bufferLevel": 3.51082, + "time": 0.489179 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 819.5, + "mediaType": "audio", + "bufferLevel": 3.5001539999999998, + "time": 0.489179 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 819.5, + "mediaType": "audio", + "time": 0.489179 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 819.6000000238419, + "mediaType": "audio", + "oldQuality": 0, + "newQuality": 0, + "time": 0.489179 + } + ] + }, + "mediaEvents": { + "count": 7, + "last20": [ + { + "name": "loadedmetadata", + "at": 223.69999998807907, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "loadeddata", + "at": 231, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "canplay", + "at": 234.10000002384186, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "play", + "at": 300.60000002384186, + "time": 0.011205, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "playing", + "at": 301, + "time": 0.011644, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 553.6000000238419, + "time": 0.223506, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 819.1000000238419, + "time": 0.488988, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + } + ] + }, + "tracks": [ + { + "id": 1, + "index": 1, + "lang": "en" + }, + { + "id": 2, + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "height": 90 + }, + { + "height": 180 + } + ], + "buffered": [ + [ + 0, + 3.989333 + ] + ], + "paused": false, + "seeking": false, + "time": 0.555051, + "ready": true, + "width": 160, + "height": 90, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 0.555051, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.511, + "audio": 3.5 + }, + "processors": [ + { + "type": "video", + "level": 3.51082, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.5001539999999998, + "target": 4.511, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 18, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 736, + "time": 0.40606, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.999999 + ] + ], + "levels": { + "video": 1.776, + "audio": 3.64 + }, + "processors": [ + { + "type": "video", + "level": 1.776421, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.6404739999999998, + "target": 2.776, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 741.1000000238419, + "time": 0.411131, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 1.594, + "audio": 3.64 + }, + "processors": [ + { + "type": "video", + "level": 1.5938910000000002, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.6404739999999998, + "target": 2.5940000000000003, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 819.1999999880791, + "time": 0.488988, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.589, + "audio": 3.64 + }, + "processors": [ + { + "type": "video", + "level": 3.588829, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.6404739999999998, + "target": 4.589, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 4.5.2: actual source topology replacement and owned cleanup", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1341, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "5f0a1f54cc440a3624ebdb4a3890ddc672af8f3285a40347cedd43a84050ebbb" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "fc94a83d967819ee6a6f2e9ca005a7aa8a623f7e7195702c94bb7c47ab0c13ec" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 93, + "last20": [ + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1171.699999988079, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1172, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1172.4000000357628, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1172.4000000357628, + "mediaType": "video", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1172.4000000357628, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1172.6000000238419, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1172.6000000238419, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1172.6000000238419, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "QUALITY_CHANGE_REQUESTED", + "at": 1172.800000011921, + "mediaType": "video", + "oldQuality": 0, + "newQuality": 1, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1173.699999988079, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1173.699999988079, + "mediaType": "video", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1173.800000011921, + "mediaType": "video", + "oldQuality": null, + "newQuality": 0, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1173.800000011921, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1173.800000011921, + "mediaType": "audio", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1173.800000011921, + "mediaType": "audio", + "oldQuality": null, + "newQuality": 0, + "time": 0 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 1174, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1175.800000011921, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00002.m4s", + "time": 0.000875 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1176.1000000238419, + "mediaType": "audio", + "bufferLevel": 3.988161, + "time": 0.001172 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1176.1000000238419, + "mediaType": "audio", + "bufferLevel": 3.988161, + "time": 0.001172 + }, + { + "name": "STREAM_TEARDOWN_COMPLETE", + "at": 1196.800000011921, + "time": 0 + } + ] + }, + "mediaEvents": { + "count": 44, + "last20": [ + { + "name": "seeking", + "at": 1123.4000000357628, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1130.699999988079, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "seeked", + "at": 1130.800000011921, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "loadeddata", + "at": 1130.9000000357628, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "canplay", + "at": 1131.4000000357628, + "time": 0.000043, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "play", + "at": 1131.699999988079, + "time": 0.000313, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "playing", + "at": 1131.9000000357628, + "time": 0.000463, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1145.800000011921, + "time": 0.014095, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "pause", + "at": 1146, + "time": 0.014095, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "emptied", + "at": 1147.9000000357628, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1148, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "loadedmetadata", + "at": 1159.300000011921, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "seeking", + "at": 1159.5, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1173.699999988079, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "seeked", + "at": 1173.800000011921, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "loadeddata", + "at": 1174, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "canplay", + "at": 1174.9000000357628, + "time": 0.000103, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "play", + "at": 1175.199999988079, + "time": 0.00029, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "playing", + "at": 1175.300000011921, + "time": 0.000433, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "emptied", + "at": 1197.4000000357628, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + } + ] + }, + "levels": {}, + "buffered": [], + "paused": true, + "seeking": false, + "time": 0, + "ready": true, + "width": 0, + "height": 0, + "readyState": 0, + "destroyed": 4, + "bufferState": { + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + }, + "bufferEvents": { + "count": 62, + "last3": [ + { + "name": "media:playing", + "at": 1175.300000011921, + "time": 0.000433, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.983999 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": [ + { + "type": "video", + "level": 1.999999, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.983999, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.983999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1176, + "time": 0.001121, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.999999 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": [ + { + "type": "video", + "level": 1.999999, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.983999, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:emptied", + "at": 1197.4000000357628, + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "blob:http://127.0.0.1:8084/15fa0bae-08b5-41cd-801a-75bd80a59dc1", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 5.2.1: asynchronous formatter error clears menus and explicit update recovers", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 990, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "aeead862037b18c9ccc504049a16283bd50d2dabb3453f79bb50d992ef2bee6b" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "12287df104f2196207cb20b9ac9f598783aec3c352f431e2c03e71974f3e8960" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 45, + "last20": [ + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 651.3000000119209, + "mediaType": "audio", + "state": "bufferStalled", + "time": 0.347894 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 651.3999999761581, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.347894 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 656.1999999880791, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/init-3.m4s", + "time": 0.352746 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 657.3000000119209, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.353931 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 661.0999999642372, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00001.m4s", + "time": 0.357669 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 661.5, + "mediaType": "audio", + "bufferLevel": 1.6259460000000001, + "time": 0.358053 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 661.5, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0.358053 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 661.5, + "mediaType": "audio", + "bufferLevel": 1.6259460000000001, + "time": 0.358053 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 664.3000000119209, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00002.m4s", + "time": 0.360865 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 664.5999999642372, + "mediaType": "audio", + "bufferLevel": 3.628265, + "time": 0.361068 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 664.6999999880791, + "mediaType": "audio", + "bufferLevel": 3.628265, + "time": 0.361068 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 706.8999999761581, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00002.m4s", + "time": 0.401582 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 707.6999999880791, + "mediaType": "video", + "bufferLevel": 3.597673, + "time": 0.402326 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 707.8000000119209, + "mediaType": "video", + "bufferLevel": 3.597673, + "time": 0.402326 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 792.1999999880791, + "mediaType": "video", + "bufferLevel": 3.51124, + "time": 0.488759 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 792.1999999880791, + "mediaType": "audio", + "bufferLevel": 3.500574, + "time": 0.488759 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 792.1999999880791, + "mediaType": "audio", + "time": 0.488759 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 792.1999999880791, + "mediaType": "audio", + "time": 0.488759 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 882.8000000119209, + "mediaType": "video", + "bufferLevel": 3.4207769999999997, + "time": 0.579222 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 882.8000000119209, + "mediaType": "audio", + "bufferLevel": 3.4101109999999997, + "time": 0.579222 + } + ] + }, + "mediaEvents": { + "count": 7, + "last20": [ + { + "name": "loadedmetadata", + "at": 198, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "loadeddata", + "at": 205.19999998807907, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "canplay", + "at": 208.39999997615814, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "play", + "at": 275.0999999642372, + "time": 0.012071, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "playing", + "at": 275.5, + "time": 0.012614, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 524.1999999880791, + "time": 0.220527, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 791.5, + "time": 0.488062, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + } + ] + }, + "tracks": [ + { + "id": "1", + "index": 1, + "lang": "en" + }, + { + "id": "2", + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "id": "0", + "height": 90 + }, + { + "id": "1", + "height": 180 + } + ], + "buffered": [ + [ + 0, + 3.989333 + ] + ], + "paused": false, + "seeking": false, + "time": 0.581865, + "ready": true, + "width": 160, + "height": 90, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 0.581865, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.421, + "audio": 3.41 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 17, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 664.5, + "time": 0.361068, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.999999 + ] + ], + "levels": { + "video": 1.779, + "audio": 1.626 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 707.5, + "time": 0.402267, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 1.779, + "audio": 3.628 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 791.5, + "time": 0.488062, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.598, + "audio": 3.628 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 5.2.1: actual source topology replacement and owned cleanup", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1315, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "aeead862037b18c9ccc504049a16283bd50d2dabb3453f79bb50d992ef2bee6b" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "12287df104f2196207cb20b9ac9f598783aec3c352f431e2c03e71974f3e8960" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 94, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1116, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1119.199999988079, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1120, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1120.199999988079, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1120.199999988079, + "mediaType": "video", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1120.300000011921, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1120.699999988079, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1120.699999988079, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1120.800000011921, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1122.300000011921, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1122.3999999761581, + "mediaType": "video", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1122.3999999761581, + "mediaType": "video", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1122.3999999761581, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1122.3999999761581, + "mediaType": "audio", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1122.3999999761581, + "mediaType": "audio", + "time": 0 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 1122.699999988079, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1125.199999988079, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00002.m4s", + "time": 0.000836 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1126.6000000238419, + "mediaType": "audio", + "bufferLevel": 3.9871339999999997, + "time": 0.002199 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1126.6000000238419, + "mediaType": "audio", + "bufferLevel": 3.9871339999999997, + "time": 0.002199 + }, + { + "name": "STREAM_TEARDOWN_COMPLETE", + "at": 1150.6000000238419, + "time": 0 + } + ] + }, + "mediaEvents": { + "count": 44, + "last20": [ + { + "name": "seeking", + "at": 1069.1000000238419, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1076.1000000238419, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "seeked", + "at": 1076.199999988079, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "loadeddata", + "at": 1076.3999999761581, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "canplay", + "at": 1077.1000000238419, + "time": 0.00005, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "play", + "at": 1077.3999999761581, + "time": 0.000303, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "playing", + "at": 1077.3999999761581, + "time": 0.000422, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1090.6000000238419, + "time": 0.013266, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "pause", + "at": 1090.8999999761581, + "time": 0.013266, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "emptied", + "at": 1093.199999988079, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1093.300000011921, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "loadedmetadata", + "at": 1108.1000000238419, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "seeking", + "at": 1108.3999999761581, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1122.1000000238419, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "seeked", + "at": 1122.5, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "loadeddata", + "at": 1122.699999988079, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "canplay", + "at": 1124.5, + "time": 0.000071, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "play", + "at": 1125.5, + "time": 0.001071, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "playing", + "at": 1125.800000011921, + "time": 0.001324, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "emptied", + "at": 1151.1000000238419, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + } + ] + }, + "levels": {}, + "buffered": [], + "paused": true, + "seeking": false, + "time": 0, + "ready": true, + "width": 0, + "height": 0, + "readyState": 0, + "destroyed": 4, + "bufferState": { + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + }, + "bufferEvents": { + "count": 62, + "last3": [ + { + "name": "media:playing", + "at": 1125.800000011921, + "time": 0.001324, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.983999 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": true, + "ranges": [ + [ + 0, + 1.983999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1126.5, + "time": 0.002128, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.999999 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:emptied", + "at": 1151.1000000238419, + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "blob:http://127.0.0.1:8084/c640840a-ebc2-4aeb-b935-91786d1690cc", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / candidate DASH / 4.5.2: real MPD decoding and UI selection", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 6245, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "5f0a1f54cc440a3624ebdb4a3890ddc672af8f3285a40347cedd43a84050ebbb" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "606d8a83abec36bf0859c00d075f586517f3e7902a2fdf94dd31aadfcaaa0230" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 115, + "last20": [ + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 4630, + "mediaType": "video", + "state": "bufferLoaded", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4630, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4633, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4633, + "mediaType": "audio", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 4633, + "time": 6 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4694, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00005.m4s", + "time": 6.0422 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4694, + "mediaType": "audio", + "bufferLevel": 3.963133, + "time": 6.0422 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4695, + "mediaType": "audio", + "bufferLevel": 3.963133, + "time": 6.0422 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4887, + "mediaType": "video", + "bufferLevel": 1.7496299999999998, + "time": 6.25037 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4887, + "mediaType": "audio", + "bufferLevel": 3.754963, + "time": 6.25037 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4888, + "mediaType": "video", + "bufferLevel": 1.7496299999999998, + "time": 6.25037 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4888, + "mediaType": "audio", + "bufferLevel": 3.754963, + "time": 6.25037 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 5136, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00005.m4s", + "time": 6.500305 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5137, + "mediaType": "video", + "bufferLevel": 3.499695, + "time": 6.500305 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5137, + "mediaType": "video", + "bufferLevel": 3.499695, + "time": 6.500305 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5177, + "mediaType": "video", + "bufferLevel": 3.458, + "time": 6.542 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5177, + "mediaType": "audio", + "bufferLevel": 3.4633330000000004, + "time": 6.542 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 5201, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00006.m4s", + "time": 6.542 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5202, + "mediaType": "audio", + "bufferLevel": 5.458, + "time": 6.542 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5202, + "mediaType": "audio", + "bufferLevel": 5.458, + "time": 6.542 + } + ] + }, + "mediaEvents": { + "count": 27, + "last20": [ + { + "name": "timeupdate", + "at": 1593, + "time": 0.833605, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + }, + { + "name": "timeupdate", + "at": 1845, + "time": 1.086132, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2135, + "time": 1.375436, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2386, + "time": 1.625386, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2675, + "time": 1.915965, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2927, + "time": 2.167236, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 3218, + "time": 2.458669, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3469, + "time": 2.709841, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3760, + "time": 3.000135, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4239, + "time": 3.458882, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "pause", + "at": 4241, + "time": 3.458882, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "seeking", + "at": 4254, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "play", + "at": 4307, + "time": 6, + "paused": false, + "readyState": 1, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "waiting", + "at": 4307, + "time": 6, + "paused": false, + "readyState": 1, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4632, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "seeked", + "at": 4633, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "canplay", + "at": 4633, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "playing", + "at": 4633, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 4888, + "time": 6.25037, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 5177, + "time": 6.542, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 10 + ] + ] + } + ] + }, + "tracks": [ + { + "id": 1, + "index": 1, + "lang": "en" + }, + { + "id": 2, + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "height": 90 + }, + { + "height": 180 + } + ], + "buffered": [ + [ + 1.984, + 10 + ] + ], + "paused": false, + "seeking": false, + "time": 6.583783, + "ready": true, + "width": 320, + "height": 180, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 6.583783, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 10 + ] + ], + "levels": { + "video": 3.458, + "audio": 5.458 + }, + "processors": [ + { + "type": "video", + "level": 3.458, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 5.458, + "target": 4.458, + "complete": true, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 12 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 48, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 5136, + "time": 6.500305, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 1.984, + 10 + ] + ], + "levels": { + "video": 1.75, + "audio": 3.755 + }, + "processors": [ + { + "type": "video", + "level": 1.7496299999999998, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.754963, + "target": 2.75, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 5177, + "time": 6.542, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 10 + ] + ], + "levels": { + "video": 3.5, + "audio": 3.755 + }, + "processors": [ + { + "type": "video", + "level": 3.499695, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.754963, + "target": 4.5, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 5201, + "time": 6.542, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 10 + ] + ], + "levels": { + "video": 3.458, + "audio": 3.463 + }, + "processors": [ + { + "type": "video", + "level": 3.458, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.4633330000000004, + "target": 4.458, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 12 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / candidate DASH / 5.2.1: real MPD decoding and UI selection", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 5767, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "aeead862037b18c9ccc504049a16283bd50d2dabb3453f79bb50d992ef2bee6b" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "47d5beeffde28a61f0f0028870a1a4eff2842da0b1546fc2756b286281e02884" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 123, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4996, + "mediaType": "video", + "bufferLevel": 3.4093600000000004, + "time": 4.59064 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4996, + "mediaType": "audio", + "bufferLevel": 5.414693000000001, + "time": 4.59064 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 4996, + "mediaType": "audio", + "time": 4.59064 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 4996, + "mediaType": "audio", + "time": 4.59064 + }, + { + "name": "PLAYBACK_SEEKING", + "at": 5009, + "time": 6, + "seekTime": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5009, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5010, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5013, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5013, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 5013, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5183, + "mediaType": "video", + "bufferLevel": 1.9143169999999996, + "time": 6.085683 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5183, + "mediaType": "audio", + "bufferLevel": 3.91965, + "time": 6.085683 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 5220, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00005.m4s", + "time": 6.12587 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5221, + "mediaType": "video", + "bufferLevel": 3.87413, + "time": 6.12587 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5221, + "mediaType": "video", + "bufferLevel": 3.87413, + "time": 6.12587 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5286, + "mediaType": "video", + "bufferLevel": 3.7911710000000003, + "time": 6.208829 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5286, + "mediaType": "audio", + "bufferLevel": 3.7965040000000005, + "time": 6.208829 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 5464, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00006.m4s", + "time": 6.375187 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5464, + "mediaType": "audio", + "bufferLevel": 5.624813, + "time": 6.375187 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5464, + "mediaType": "audio", + "bufferLevel": 5.624813, + "time": 6.375187 + } + ] + }, + "mediaEvents": { + "count": 28, + "last20": [ + { + "name": "timeupdate", + "at": 1525, + "time": 1.125493, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 1816, + "time": 1.416837, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2358, + "time": 1.958852, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2650, + "time": 2.250329, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 3191, + "time": 2.792027, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3482, + "time": 3.083587, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 3768, + "time": 3.369161, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4052, + "time": 3.652969, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4339, + "time": 3.940073, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4626, + "time": 4.226281, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4910, + "time": 4.509877, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 4996, + "time": 4.59064, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "pause", + "at": 4997, + "time": 4.59064, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "seeking", + "at": 5009, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 5012, + "time": 6, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "seeked", + "at": 5013, + "time": 6, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "canplay", + "at": 5013, + "time": 6, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "play", + "at": 5077, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "playing", + "at": 5077, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 5286, + "time": 6.208829, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 10 + ] + ] + } + ] + }, + "tracks": [ + { + "id": "1", + "index": 1, + "lang": "en" + }, + { + "id": "2", + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "id": "0", + "height": 90 + }, + { + "id": "1", + "height": 180 + } + ], + "buffered": [ + [ + 3.989333, + 10 + ] + ], + "paused": false, + "seeking": false, + "time": 6.417071, + "ready": true, + "width": 320, + "height": 180, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 6.417071, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 10 + ] + ], + "levels": { + "video": 3.791, + "audio": 5.625 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 12 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 51, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 5221, + "time": 6.12587, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 3.989333, + 10 + ] + ], + "levels": { + "video": 1.914, + "audio": 3.92 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 5286, + "time": 6.208829, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 10 + ] + ], + "levels": { + "video": 3.874, + "audio": 3.92 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 5464, + "time": 6.375187, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 10 + ] + ], + "levels": { + "video": 3.791, + "audio": 3.797 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 12 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / candidate DASH / 4.5.2: real MPD decoding and UI selection", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 5138, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "5f0a1f54cc440a3624ebdb4a3890ddc672af8f3285a40347cedd43a84050ebbb" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "fc94a83d967819ee6a6f2e9ca005a7aa8a623f7e7195702c94bb7c47ab0c13ec" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 117, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4282, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4282, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4284, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4284, + "mediaType": "audio", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 4284, + "time": 6 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4336, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00005.m4s", + "time": 6.045422 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4336, + "mediaType": "audio", + "bufferLevel": 3.959911, + "time": 6.045422 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4336, + "mediaType": "audio", + "bufferLevel": 3.959911, + "time": 6.045422 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4536, + "mediaType": "video", + "bufferLevel": 1.749631, + "time": 6.250369 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4536, + "mediaType": "audio", + "bufferLevel": 3.754964, + "time": 6.250369 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4789, + "mediaType": "video", + "bufferLevel": 1.4998269999999998, + "time": 6.500173 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4789, + "mediaType": "audio", + "bufferLevel": 3.50516, + "time": 6.500173 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4797, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00005.m4s", + "time": 6.500173 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4798, + "mediaType": "video", + "bufferLevel": 3.499827, + "time": 6.500173 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4798, + "mediaType": "audio", + "bufferLevel": 3.50516, + "time": 6.500173 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4798, + "mediaType": "video", + "bufferLevel": 3.499827, + "time": 6.500173 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4798, + "mediaType": "video", + "bufferLevel": 3.499827, + "time": 6.500173 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4843, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00006.m4s", + "time": 6.540404 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4843, + "mediaType": "audio", + "bufferLevel": 5.459596, + "time": 6.540404 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4843, + "mediaType": "audio", + "bufferLevel": 5.459596, + "time": 6.540404 + } + ] + }, + "mediaEvents": { + "count": 28, + "last20": [ + { + "name": "timeupdate", + "at": 1293, + "time": 0.871771, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 1576, + "time": 1.15477, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 1859, + "time": 1.437257, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2146, + "time": 1.724452, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2428, + "time": 2.006398, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2713, + "time": 2.291067, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2964, + "time": 2.54207, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3255, + "time": 2.833462, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 3800, + "time": 3.376875, + "paused": false, + "readyState": 4, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 3882, + "time": 3.458581, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "pause", + "at": 3884, + "time": 3.458581, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "seeking", + "at": 3896, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "play", + "at": 3947, + "time": 6, + "paused": false, + "readyState": 1, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "waiting", + "at": 3947, + "time": 6, + "paused": false, + "readyState": 1, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4284, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "seeked", + "at": 4284, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "canplay", + "at": 4285, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "playing", + "at": 4285, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 4536, + "time": 6.250369, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 4789, + "time": 6.500173, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + } + ] + }, + "tracks": [ + { + "id": 1, + "index": 1, + "lang": "en" + }, + { + "id": 2, + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "height": 90 + }, + { + "height": 180 + } + ], + "buffered": [ + [ + 1.984, + 10 + ] + ], + "paused": false, + "seeking": false, + "time": 6.583555, + "ready": true, + "width": 320, + "height": 180, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 6.583555, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 10 + ] + ], + "levels": { + "video": 3.5, + "audio": 5.46 + }, + "processors": [ + { + "type": "video", + "level": 3.499827, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 5.459596, + "target": 4.5, + "complete": true, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 12 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 49, + "last3": [ + { + "name": "media:timeupdate", + "at": 4789, + "time": 6.500173, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 1.984, + 8 + ] + ], + "levels": { + "video": 1.75, + "audio": 3.755 + }, + "processors": [ + { + "type": "video", + "level": 1.749631, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.754964, + "target": 2.75, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 8 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 4798, + "time": 6.500173, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 10 + ] + ], + "levels": { + "video": 3.5, + "audio": 3.505 + }, + "processors": [ + { + "type": "video", + "level": 3.499827, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.50516, + "target": 4.5, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 4843, + "time": 6.540404, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 10 + ] + ], + "levels": { + "video": 3.5, + "audio": 3.505 + }, + "processors": [ + { + "type": "video", + "level": 3.499827, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.50516, + "target": 4.5, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 12 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / candidate DASH / 5.2.1: real MPD decoding and UI selection", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 5737, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "aeead862037b18c9ccc504049a16283bd50d2dabb3453f79bb50d992ef2bee6b" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "12287df104f2196207cb20b9ac9f598783aec3c352f431e2c03e71974f3e8960" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 119, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5000, + "mediaType": "video", + "bufferLevel": 3.4581350000000004, + "time": 4.541865 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5000, + "mediaType": "audio", + "bufferLevel": 5.463468000000001, + "time": 4.541865 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 5000, + "mediaType": "audio", + "time": 4.541865 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 5000, + "mediaType": "audio", + "time": 4.541865 + }, + { + "name": "PLAYBACK_SEEKING", + "at": 5014, + "time": 6, + "seekTime": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5014, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5014, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5016, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5016, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 5016, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5184, + "mediaType": "video", + "bufferLevel": 1.9145500000000002, + "time": 6.08545 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5184, + "mediaType": "audio", + "bufferLevel": 3.9198830000000005, + "time": 6.08545 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 5203, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00005.m4s", + "time": 6.125733 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5204, + "mediaType": "video", + "bufferLevel": 3.8742669999999997, + "time": 6.125733 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5204, + "mediaType": "video", + "bufferLevel": 3.8742669999999997, + "time": 6.125733 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5277, + "mediaType": "video", + "bufferLevel": 3.7910690000000002, + "time": 6.208931 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5277, + "mediaType": "audio", + "bufferLevel": 3.7964020000000005, + "time": 6.208931 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 5454, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00006.m4s", + "time": 6.374091 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5454, + "mediaType": "audio", + "bufferLevel": 5.625909, + "time": 6.374091 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5454, + "mediaType": "audio", + "bufferLevel": 5.625909, + "time": 6.374091 + } + ] + }, + "mediaEvents": { + "count": 26, + "last20": [ + { + "name": "timeupdate", + "at": 711, + "time": 0.292008, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 1255, + "time": 0.835227, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 1545, + "time": 1.125521, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 1798, + "time": 1.377641, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2087, + "time": 1.666924, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2378, + "time": 1.958404, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2922, + "time": 2.500401, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 3212, + "time": 2.791915, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3504, + "time": 3.083503, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4004, + "time": 3.583804, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4546, + "time": 4.125284, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 5000, + "time": 4.541865, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "pause", + "at": 5002, + "time": 4.541865, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "seeking", + "at": 5014, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 5016, + "time": 6, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "seeked", + "at": 5016, + "time": 6, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "canplay", + "at": 5016, + "time": 6, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "play", + "at": 5067, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "playing", + "at": 5068, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 5276, + "time": 6.208931, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 10 + ] + ] + } + ] + }, + "tracks": [ + { + "id": "1", + "index": 1, + "lang": "en" + }, + { + "id": "2", + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "id": "0", + "height": 90 + }, + { + "id": "1", + "height": 180 + } + ], + "buffered": [ + [ + 3.989333, + 10 + ] + ], + "paused": false, + "seeking": false, + "time": 6.374091, + "ready": true, + "width": 320, + "height": 180, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 6.374091, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 10 + ] + ], + "levels": { + "video": 3.791, + "audio": 5.626 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 12 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 49, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 5203, + "time": 6.125733, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 3.989333, + 10 + ] + ], + "levels": { + "video": 1.915, + "audio": 3.92 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 5276, + "time": 6.208931, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 10 + ] + ], + "levels": { + "video": 3.874, + "audio": 3.92 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 5454, + "time": 6.374091, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 10 + ] + ], + "levels": { + "video": 3.791, + "audio": 3.796 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 12 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 4.5.2: asynchronous formatter error clears menus and explicit update recovers", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1243, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "5f0a1f54cc440a3624ebdb4a3890ddc672af8f3285a40347cedd43a84050ebbb" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "606d8a83abec36bf0859c00d075f586517f3e7902a2fdf94dd31aadfcaaa0230" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 43, + "last20": [ + { + "name": "TRACK_CHANGE_RENDERED", + "at": 356, + "mediaType": "audio", + "time": 0.000046 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 356, + "mediaType": "audio", + "oldQuality": null, + "newQuality": 0, + "time": 0.000046 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 762, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.375208 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 762, + "mediaType": "audio", + "state": "bufferStalled", + "time": 0.375208 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 762, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.375208 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 768, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/init-3.m4s", + "time": 0.375208 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 769, + "mediaType": "video", + "bufferLevel": 1.624792, + "time": 0.375208 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 769, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.375208 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 769, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.375208 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 776, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00001.m4s", + "time": 0.416842 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 777, + "mediaType": "audio", + "bufferLevel": 1.567158, + "time": 0.416842 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 777, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0.416842 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 777, + "mediaType": "audio", + "bufferLevel": 1.567158, + "time": 0.416842 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 781, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00002.m4s", + "time": 0.416842 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 781, + "mediaType": "audio", + "bufferLevel": 3.572491, + "time": 0.416842 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 781, + "mediaType": "audio", + "bufferLevel": 3.572491, + "time": 0.416842 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 861, + "mediaType": "video", + "bufferLevel": 1.499812, + "time": 0.500188 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 861, + "mediaType": "audio", + "bufferLevel": 3.4891449999999997, + "time": 0.500188 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 861, + "mediaType": "audio", + "time": 0.500188 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 861, + "mediaType": "audio", + "oldQuality": 0, + "newQuality": 0, + "time": 0.500188 + } + ] + }, + "mediaEvents": { + "count": 7, + "last20": [ + { + "name": "loadedmetadata", + "at": 250, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "loadeddata", + "at": 263, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "canplay", + "at": 266, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "play", + "at": 356, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 356, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 356, + "time": 0.000046, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 860, + "time": 0.500188, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + } + ] + }, + "tracks": [ + { + "id": 1, + "index": 1, + "lang": "en" + }, + { + "id": 2, + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "height": 90 + }, + { + "height": 180 + } + ], + "buffered": [ + [ + 0, + 2 + ] + ], + "paused": false, + "seeking": false, + "time": 0.62532, + "ready": true, + "width": 160, + "height": 90, + "readyState": 3, + "destroyed": 0, + "bufferState": { + "time": 0.62532, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 1.5, + "audio": 3.489 + }, + "processors": [ + { + "type": "video", + "level": 1.499812, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.4891449999999997, + "target": 2.5, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 16, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 776, + "time": 0.416842, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 1.984 + ] + ], + "levels": { + "video": 1.625, + "audio": 0 + }, + "processors": [ + { + "type": "video", + "level": 1.624792, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 0, + "target": 2.625, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.984 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 781, + "time": 0.416842, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 1.625, + "audio": 1.567 + }, + "processors": [ + { + "type": "video", + "level": 1.624792, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.567158, + "target": 2.625, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 860, + "time": 0.500188, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 1.625, + "audio": 3.572 + }, + "processors": [ + { + "type": "video", + "level": 1.624792, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.572491, + "target": 2.625, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 4.5.2: actual source topology replacement and owned cleanup", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1614, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "5f0a1f54cc440a3624ebdb4a3890ddc672af8f3285a40347cedd43a84050ebbb" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "606d8a83abec36bf0859c00d075f586517f3e7902a2fdf94dd31aadfcaaa0230" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 98, + "last20": [ + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1289, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1289, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1289, + "mediaType": "video", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1289, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "QUALITY_CHANGE_REQUESTED", + "at": 1290, + "mediaType": "video", + "oldQuality": 0, + "newQuality": 1, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1290, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1290, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1290, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1290, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1295, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1295, + "mediaType": "video", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1295, + "mediaType": "video", + "oldQuality": null, + "newQuality": 0, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1295, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1295, + "mediaType": "audio", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1295, + "mediaType": "audio", + "oldQuality": null, + "newQuality": 0, + "time": 0 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 1295, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1296, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00002.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1298, + "mediaType": "audio", + "bufferLevel": 3.989333, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1298, + "mediaType": "audio", + "bufferLevel": 3.989333, + "time": 0 + }, + { + "name": "STREAM_TEARDOWN_COMPLETE", + "at": 1330, + "time": 0 + } + ] + }, + "mediaEvents": { + "count": 45, + "last20": [ + { + "name": "seeking", + "at": 1221, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1234, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "seeked", + "at": 1235, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "loadeddata", + "at": 1235, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "canplay", + "at": 1236, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "play", + "at": 1236, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 1236, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 1254, + "time": 0.00002, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "pause", + "at": 1254, + "time": 0.00002, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "emptied", + "at": 1257, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1257, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "loadedmetadata", + "at": 1276, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "seeking", + "at": 1278, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1294, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "seeked", + "at": 1295, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "loadeddata", + "at": 1295, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "canplay", + "at": 1296, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "play", + "at": 1297, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "playing", + "at": 1297, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "emptied", + "at": 1331, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + } + ] + }, + "levels": {}, + "buffered": [], + "paused": true, + "seeking": false, + "time": 0, + "ready": true, + "width": 0, + "height": 0, + "readyState": 0, + "destroyed": 4, + "bufferState": { + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + }, + "bufferEvents": { + "count": 63, + "last3": [ + { + "name": "media:playing", + "at": 1297, + "time": 0, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": [ + { + "type": "video", + "level": 2, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.984, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": true, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1298, + "time": 0, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": [ + { + "type": "video", + "level": 2, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.984, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:emptied", + "at": 1331, + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "NS_BINDING_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 5.2.1: asynchronous formatter error clears menus and explicit update recovers", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1214, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "aeead862037b18c9ccc504049a16283bd50d2dabb3453f79bb50d992ef2bee6b" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "47d5beeffde28a61f0f0028870a1a4eff2842da0b1546fc2756b286281e02884" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 47, + "last20": [ + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 740, + "mediaType": "audio", + "state": "bufferStalled", + "time": 0.375288 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 740, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.375288 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 748, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/init-3.m4s", + "time": 0.375288 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 750, + "mediaType": "video", + "bufferLevel": 1.624712, + "time": 0.375288 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 750, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.375288 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 750, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.375288 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 754, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00001.m4s", + "time": 0.375288 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 754, + "mediaType": "audio", + "bufferLevel": 1.608712, + "time": 0.375288 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 754, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0.375288 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 754, + "mediaType": "audio", + "bufferLevel": 1.608712, + "time": 0.375288 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 758, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00002.m4s", + "time": 0.415846 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 758, + "mediaType": "audio", + "bufferLevel": 3.5734869999999996, + "time": 0.415846 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 759, + "mediaType": "audio", + "bufferLevel": 3.5734869999999996, + "time": 0.415846 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 760, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00002.m4s", + "time": 0.415846 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 761, + "mediaType": "video", + "bufferLevel": 3.584154, + "time": 0.415846 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 761, + "mediaType": "video", + "bufferLevel": 3.584154, + "time": 0.415846 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 928, + "mediaType": "video", + "bufferLevel": 3.41583, + "time": 0.58417 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 928, + "mediaType": "audio", + "bufferLevel": 3.405163, + "time": 0.58417 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 929, + "mediaType": "audio", + "time": 0.58417 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 929, + "mediaType": "audio", + "time": 0.58417 + } + ] + }, + "mediaEvents": { + "count": 8, + "last20": [ + { + "name": "loadedmetadata", + "at": 251, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "loadeddata", + "at": 258, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "canplay", + "at": 260, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "play", + "at": 342, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 342, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 350, + "time": 0.006339, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 634, + "time": 0.292289, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 927, + "time": 0.58417, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + } + ] + }, + "tracks": [ + { + "id": "1", + "index": 1, + "lang": "en" + }, + { + "id": "2", + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "id": "0", + "height": 90 + }, + { + "id": "1", + "height": 180 + } + ], + "buffered": [ + [ + 0, + 3.989333 + ] + ], + "paused": false, + "seeking": false, + "time": 0.625623, + "ready": true, + "width": 160, + "height": 90, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 0.625623, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.416, + "audio": 3.405 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 18, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 758, + "time": 0.415846, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 1.625, + "audio": 1.609 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 761, + "time": 0.415846, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 1.625, + "audio": 3.573 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 927, + "time": 0.58417, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.584, + "audio": 3.573 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 5.2.1: actual source topology replacement and owned cleanup", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1681, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "aeead862037b18c9ccc504049a16283bd50d2dabb3453f79bb50d992ef2bee6b" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "47d5beeffde28a61f0f0028870a1a4eff2842da0b1546fc2756b286281e02884" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 104, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1353, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1358, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1358, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1358, + "mediaType": "video", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1358, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1360, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1360, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1360, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1360, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1364, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1364, + "mediaType": "video", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1364, + "mediaType": "video", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1364, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1364, + "mediaType": "audio", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1364, + "mediaType": "audio", + "time": 0 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 1365, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1367, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00002.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1371, + "mediaType": "audio", + "bufferLevel": 3.989333, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1371, + "mediaType": "audio", + "bufferLevel": 3.989333, + "time": 0 + }, + { + "name": "STREAM_TEARDOWN_COMPLETE", + "at": 1398, + "time": 0 + } + ] + }, + "mediaEvents": { + "count": 45, + "last20": [ + { + "name": "seeking", + "at": 1273, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1288, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "seeked", + "at": 1288, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "loadeddata", + "at": 1289, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "canplay", + "at": 1289, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "play", + "at": 1290, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 1290, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 1316, + "time": 0.000022, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "pause", + "at": 1316, + "time": 0.000022, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "emptied", + "at": 1321, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1321, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "loadedmetadata", + "at": 1345, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "seeking", + "at": 1345, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1364, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "seeked", + "at": 1364, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "loadeddata", + "at": 1365, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "canplay", + "at": 1366, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "play", + "at": 1366, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "playing", + "at": 1366, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "emptied", + "at": 1399, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + } + ] + }, + "levels": {}, + "buffered": [], + "paused": true, + "seeking": false, + "time": 0, + "ready": true, + "width": 0, + "height": 0, + "readyState": 0, + "destroyed": 4, + "bufferState": { + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + }, + "bufferEvents": { + "count": 64, + "last3": [ + { + "name": "media:playing", + "at": 1366, + "time": 0, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 1.984 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.984 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1371, + "time": 0, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:emptied", + "at": 1399, + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "NS_BINDING_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 4.5.2: asynchronous formatter error clears menus and explicit update recovers", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1310, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "5f0a1f54cc440a3624ebdb4a3890ddc672af8f3285a40347cedd43a84050ebbb" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "fc94a83d967819ee6a6f2e9ca005a7aa8a623f7e7195702c94bb7c47ab0c13ec" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 53, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 797, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.417351 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 800, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00002.m4s", + "time": 0.417351 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 800, + "mediaType": "video", + "bufferLevel": 3.582649, + "time": 0.417351 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 800, + "mediaType": "video", + "bufferLevel": 3.582649, + "time": 0.417351 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 803, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/init-3.m4s", + "time": 0.417351 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 803, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.417351 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 810, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00001.m4s", + "time": 0.417351 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 811, + "mediaType": "audio", + "bufferLevel": 1.566649, + "time": 0.417351 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 812, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0.417351 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 812, + "mediaType": "audio", + "bufferLevel": 1.566649, + "time": 0.417351 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 817, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00002.m4s", + "time": 0.417351 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 817, + "mediaType": "audio", + "bufferLevel": 3.5719819999999998, + "time": 0.417351 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 817, + "mediaType": "audio", + "bufferLevel": 3.5719819999999998, + "time": 0.417351 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 821, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00003.m4s", + "time": 0.417351 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 822, + "mediaType": "audio", + "bufferLevel": 5.577315, + "time": 0.417351 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 822, + "mediaType": "audio", + "bufferLevel": 5.577315, + "time": 0.417351 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 919, + "mediaType": "video", + "bufferLevel": 3.456452, + "time": 0.543548 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 920, + "mediaType": "audio", + "bufferLevel": 5.451117999999999, + "time": 0.543548 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 920, + "mediaType": "audio", + "time": 0.543548 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 920, + "mediaType": "audio", + "oldQuality": 0, + "newQuality": 0, + "time": 0.543548 + } + ] + }, + "mediaEvents": { + "count": 8, + "last20": [ + { + "name": "loadedmetadata", + "at": 263, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "loadeddata", + "at": 276, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "canplay", + "at": 281, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "play", + "at": 374, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 375, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 376, + "time": 0.000058, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 667, + "time": 0.291951, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 919, + "time": 0.543548, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + } + ] + }, + "tracks": [ + { + "id": 1, + "index": 1, + "lang": "en" + }, + { + "id": 2, + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "height": 90 + }, + { + "height": 180 + } + ], + "buffered": [ + [ + 0, + 4 + ] + ], + "paused": false, + "seeking": false, + "time": 0.667252, + "ready": true, + "width": 160, + "height": 90, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 0.667252, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 4 + ] + ], + "levels": { + "video": 3.456, + "audio": 5.451 + }, + "processors": [ + { + "type": "video", + "level": 3.456452, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 5.451117999999999, + "target": 4.4559999999999995, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 5.994666 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 20, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 817, + "time": 0.417351, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.583, + "audio": 1.567 + }, + "processors": [ + { + "type": "video", + "level": 3.582649, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.566649, + "target": 4.583, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 822, + "time": 0.417351, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 4 + ] + ], + "levels": { + "video": 3.583, + "audio": 3.572 + }, + "processors": [ + { + "type": "video", + "level": 3.582649, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.5719819999999998, + "target": 4.583, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 5.994666 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 919, + "time": 0.543548, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 4 + ] + ], + "levels": { + "video": 3.583, + "audio": 5.577 + }, + "processors": [ + { + "type": "video", + "level": 3.582649, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 5.577315, + "target": 4.583, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 5.994666 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 4.5.2: actual source topology replacement and owned cleanup", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2209, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "5f0a1f54cc440a3624ebdb4a3890ddc672af8f3285a40347cedd43a84050ebbb" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "fc94a83d967819ee6a6f2e9ca005a7aa8a623f7e7195702c94bb7c47ab0c13ec" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 98, + "last20": [ + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1283, + "mediaType": "video", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1283, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "QUALITY_CHANGE_REQUESTED", + "at": 1283, + "mediaType": "video", + "oldQuality": 0, + "newQuality": 1, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1285, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/init-2.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1286, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1289, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1289, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1289, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1289, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1293, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1293, + "mediaType": "video", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1293, + "mediaType": "video", + "oldQuality": null, + "newQuality": 0, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1293, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1293, + "mediaType": "audio", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1293, + "mediaType": "audio", + "oldQuality": null, + "newQuality": 0, + "time": 0 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 1294, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1299, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00002.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1300, + "mediaType": "audio", + "bufferLevel": 3.989333, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1300, + "mediaType": "audio", + "bufferLevel": 3.989333, + "time": 0 + }, + { + "name": "STREAM_TEARDOWN_COMPLETE", + "at": 1328, + "time": 0 + } + ] + }, + "mediaEvents": { + "count": 45, + "last20": [ + { + "name": "seeking", + "at": 1217, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1232, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "seeked", + "at": 1232, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "loadeddata", + "at": 1232, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "canplay", + "at": 1234, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "play", + "at": 1234, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 1234, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 1254, + "time": 0.000022, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "pause", + "at": 1255, + "time": 0.000022, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "emptied", + "at": 1258, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1258, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "loadedmetadata", + "at": 1281, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "seeking", + "at": 1282, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1293, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "seeked", + "at": 1293, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "loadeddata", + "at": 1294, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "canplay", + "at": 1296, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "play", + "at": 1299, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 1299, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "emptied", + "at": 1332, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + } + ] + }, + "levels": {}, + "buffered": [], + "paused": true, + "seeking": false, + "time": 0, + "ready": true, + "width": 0, + "height": 0, + "readyState": 0, + "destroyed": 4, + "bufferState": { + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + }, + "bufferEvents": { + "count": 62, + "last3": [ + { + "name": "media:playing", + "at": 1299, + "time": 0, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": [ + { + "type": "video", + "level": 2, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.984, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": true, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1300, + "time": 0, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": [ + { + "type": "video", + "level": 2, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.984, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:emptied", + "at": 1332, + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 5.2.1: asynchronous formatter error clears menus and explicit update recovers", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1267, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "aeead862037b18c9ccc504049a16283bd50d2dabb3453f79bb50d992ef2bee6b" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "12287df104f2196207cb20b9ac9f598783aec3c352f431e2c03e71974f3e8960" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 47, + "last20": [ + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 756, + "mediaType": "audio", + "state": "bufferStalled", + "time": 0.375418 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 756, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.375418 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 766, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/init-3.m4s", + "time": 0.375418 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 768, + "mediaType": "video", + "bufferLevel": 1.624582, + "time": 0.375418 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 769, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.375418 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 770, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.375418 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 774, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00001.m4s", + "time": 0.415561 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 774, + "mediaType": "audio", + "bufferLevel": 1.568439, + "time": 0.415561 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 774, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0.415561 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 775, + "mediaType": "audio", + "bufferLevel": 1.568439, + "time": 0.415561 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 781, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00002.m4s", + "time": 0.415561 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 781, + "mediaType": "audio", + "bufferLevel": 3.573772, + "time": 0.415561 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 781, + "mediaType": "audio", + "bufferLevel": 3.573772, + "time": 0.415561 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 793, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00002.m4s", + "time": 0.415561 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 794, + "mediaType": "video", + "bufferLevel": 3.584439, + "time": 0.415561 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 795, + "mediaType": "video", + "bufferLevel": 3.584439, + "time": 0.415561 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 938, + "mediaType": "video", + "bufferLevel": 3.416515, + "time": 0.583485 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 938, + "mediaType": "audio", + "bufferLevel": 3.4058479999999998, + "time": 0.583485 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 939, + "mediaType": "audio", + "time": 0.583485 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 939, + "mediaType": "audio", + "time": 0.583485 + } + ] + }, + "mediaEvents": { + "count": 8, + "last20": [ + { + "name": "loadedmetadata", + "at": 282, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "loadeddata", + "at": 290, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "canplay", + "at": 293, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "play", + "at": 353, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 355, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 361, + "time": 0.005945, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 649, + "time": 0.294174, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 938, + "time": 0.583485, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + } + ] + }, + "tracks": [ + { + "id": "1", + "index": 1, + "lang": "en" + }, + { + "id": "2", + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "id": "0", + "height": 90 + }, + { + "id": "1", + "height": 180 + } + ], + "buffered": [ + [ + 0, + 3.989333 + ] + ], + "paused": false, + "seeking": false, + "time": 0.625229, + "ready": true, + "width": 160, + "height": 90, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 0.625229, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.417, + "audio": 3.406 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 18, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 781, + "time": 0.415561, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 1.625, + "audio": 1.568 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 793, + "time": 0.415561, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 1.625, + "audio": 3.574 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 938, + "time": 0.583485, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.584, + "audio": 3.574 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 5.2.1: actual source topology replacement and owned cleanup", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1635, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "aeead862037b18c9ccc504049a16283bd50d2dabb3453f79bb50d992ef2bee6b" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "12287df104f2196207cb20b9ac9f598783aec3c352f431e2c03e71974f3e8960" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 100, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1317, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1322, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1324, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1324, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1324, + "mediaType": "video", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1324, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1324, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1325, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1325, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1328, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1329, + "mediaType": "video", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1329, + "mediaType": "video", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1329, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1329, + "mediaType": "audio", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1329, + "mediaType": "audio", + "time": 0 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 1329, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1331, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00002.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1333, + "mediaType": "audio", + "bufferLevel": 3.989333, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1333, + "mediaType": "audio", + "bufferLevel": 3.989333, + "time": 0 + }, + { + "name": "STREAM_TEARDOWN_COMPLETE", + "at": 1363, + "time": 0 + } + ] + }, + "mediaEvents": { + "count": 45, + "last20": [ + { + "name": "seeking", + "at": 1248, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1260, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "seeked", + "at": 1261, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "loadeddata", + "at": 1261, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "canplay", + "at": 1263, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "play", + "at": 1263, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 1263, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 1282, + "time": 0.000017, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "pause", + "at": 1282, + "time": 0.000017, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "emptied", + "at": 1286, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1286, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "loadedmetadata", + "at": 1308, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "seeking", + "at": 1309, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1327, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "seeked", + "at": 1329, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "loadeddata", + "at": 1329, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "canplay", + "at": 1331, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "play", + "at": 1331, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 1332, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "emptied", + "at": 1364, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + } + ] + }, + "levels": {}, + "buffered": [], + "paused": true, + "seeking": false, + "time": 0, + "ready": true, + "width": 0, + "height": 0, + "readyState": 0, + "destroyed": 4, + "bufferState": { + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + }, + "bufferEvents": { + "count": 63, + "last3": [ + { + "name": "media:playing", + "at": 1332, + "time": 0, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": true, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1332, + "time": 0, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:emptied", + "at": 1364, + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "NS_BINDING_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / candidate DASH / 4.5.2: real MPD decoding and UI selection", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 703, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "50814999c954467929d559219f988f0ebb5cb2f8863fc275d6c661719204ae60" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / candidate DASH / 5.2.1: real MPD decoding and UI selection", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 471, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "65b556bfe803f178a2d800b5416bf78cf5ae8b6976822a9d5876c6b23fb0cca4" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / candidate DASH / 4.5.2: real MPD decoding and UI selection", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 430, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "50814999c954467929d559219f988f0ebb5cb2f8863fc275d6c661719204ae60" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / candidate DASH / 5.2.1: real MPD decoding and UI selection", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 450, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "65b556bfe803f178a2d800b5416bf78cf5ae8b6976822a9d5876c6b23fb0cca4" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 4.5.2: asynchronous formatter error clears menus and explicit update recovers", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 453, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "50814999c954467929d559219f988f0ebb5cb2f8863fc275d6c661719204ae60" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 4.5.2: actual source topology replacement and owned cleanup", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 464, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "50814999c954467929d559219f988f0ebb5cb2f8863fc275d6c661719204ae60" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 5.2.1: asynchronous formatter error clears menus and explicit update recovers", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 417, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "65b556bfe803f178a2d800b5416bf78cf5ae8b6976822a9d5876c6b23fb0cca4" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 5.2.1: actual source topology replacement and owned cleanup", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 469, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "65b556bfe803f178a2d800b5416bf78cf5ae8b6976822a9d5876c6b23fb0cca4" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 4.5.2: asynchronous formatter error clears menus and explicit update recovers", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 410, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "50814999c954467929d559219f988f0ebb5cb2f8863fc275d6c661719204ae60" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 4.5.2: actual source topology replacement and owned cleanup", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 403, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "50814999c954467929d559219f988f0ebb5cb2f8863fc275d6c661719204ae60" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 5.2.1: asynchronous formatter error clears menus and explicit update recovers", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 422, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "65b556bfe803f178a2d800b5416bf78cf5ae8b6976822a9d5876c6b23fb0cca4" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 5.2.1: actual source topology replacement and owned cleanup", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 412, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "65b556bfe803f178a2d800b5416bf78cf5ae8b6976822a9d5876c6b23fb0cca4" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + } + ] + }, + { + "name": "sdk-legacy", + "report": { + "file": "refactor/.cache/dash-cleanup-browser-sdk-legacy.json", + "sha256": "dc879464e7c52b6f735e90af89c95857ca19419fe9980ddb24b1f80d1c68e983", + "bytes": 3253387 + }, + "stats": { + "startTime": "2026-09-15T07:53:20.701Z", + "duration": 78736.408, + "expected": 24, + "skipped": 12, + "unexpected": 0, + "flaky": 0 + }, + "cases": [ + { + "title": "dash-sdk.spec.js / published core / candidate DASH / 4.5.2: real MPD decoding and UI selection", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 4512, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "787e4db769908a75feb5fdbe366cefa4174e88b25721d019d17c559d40a001d9" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "90f08d5c8a4836e537c8eeab68eef8e2ef16a4f43429ad6c2ced526122dad8d2" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 108, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3827.199999988079, + "mediaType": "audio", + "bufferLevel": 4.583107, + "time": 3.416892 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 3827.199999988079, + "mediaType": "audio", + "time": 3.416892 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 3827.199999988079, + "mediaType": "audio", + "oldQuality": 0, + "newQuality": 0, + "time": 3.416892 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3844.300000011921, + "mediaType": "video", + "bufferLevel": 0, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 3844.300000011921, + "mediaType": "video", + "state": "bufferStalled", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3844.300000011921, + "mediaType": "audio", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKING", + "at": 3844.699999988079, + "time": 6, + "seekTime": 6 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 3849.400000035763, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/init-1.m4s", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3849.900000035763, + "mediaType": "video", + "bufferLevel": 0, + "time": 6 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 3853.699999988079, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00004.m4s", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3854.400000035763, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 3854.400000035763, + "mediaType": "video", + "state": "bufferLoaded", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3854.5, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3855.600000023842, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3855.600000023842, + "mediaType": "audio", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 3855.699999988079, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4161, + "mediaType": "video", + "bufferLevel": 1.7626150000000003, + "time": 6.237384 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4161, + "mediaType": "audio", + "bufferLevel": 1.7626150000000003, + "time": 6.237384 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4161.199999988079, + "mediaType": "video", + "bufferLevel": 1.7624870000000001, + "time": 6.237512 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4161.199999988079, + "mediaType": "audio", + "bufferLevel": 1.7624870000000001, + "time": 6.237512 + } + ] + }, + "mediaEvents": { + "count": 27, + "last20": [ + { + "name": "timeupdate", + "at": 1162.800000011921, + "time": 0.753812, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + }, + { + "name": "timeupdate", + "at": 1429.4000000357628, + "time": 1.021992, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1694.1000000238419, + "time": 1.285127, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1960.4000000357628, + "time": 1.55146, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 2226.5, + "time": 1.817541, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 2490.900000035763, + "time": 2.082654, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 2757.100000023842, + "time": 2.348892, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3029.400000035763, + "time": 2.621472, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3287.900000035763, + "time": 2.870565, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3553.800000011921, + "time": 3.140469, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3827, + "time": 3.416815, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3844.100000023842, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 5.999999 + ] + ] + }, + { + "name": "pause", + "at": 3844.400000035763, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 5.999999 + ] + ] + }, + { + "name": "seeking", + "at": 3844.600000023842, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3855.5, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "seeked", + "at": 3855.600000023842, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "canplay", + "at": 3855.699999988079, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "play", + "at": 3893.800000011921, + "time": 6.01244, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "playing", + "at": 3894, + "time": 6.012607, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4161.100000023842, + "time": 6.237465, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + } + ] + }, + "tracks": [ + { + "id": 1, + "index": 1, + "lang": "en" + }, + { + "id": 2, + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "height": 90 + }, + { + "height": 180 + } + ], + "buffered": [ + [ + 1.984, + 7.999999 + ] + ], + "paused": false, + "seeking": false, + "time": 6.38566, + "ready": true, + "width": 320, + "height": 180, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 6.38566, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 1.762, + "audio": 1.762 + }, + "processors": [ + { + "type": "video", + "level": 1.7624870000000001, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.7624870000000001, + "target": 2.762, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 7.999999 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 46, + "last3": [ + { + "name": "media:play", + "at": 3893.800000011921, + "time": 6.01244, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 2, + "audio": 2 + }, + "processors": [ + { + "type": "video", + "level": 1.9999989999999999, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.9999989999999999, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 7.999999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:playing", + "at": 3894, + "time": 6.012607, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 2, + "audio": 2 + }, + "processors": [ + { + "type": "video", + "level": 1.9999989999999999, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.9999989999999999, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 7.999999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 4161.100000023842, + "time": 6.237465, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 1.763, + "audio": 1.763 + }, + "processors": [ + { + "type": "video", + "level": 1.7626150000000003, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.7626150000000003, + "target": 2.763, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 7.999999 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00005.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / candidate DASH / 5.2.1: real MPD decoding and UI selection", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 6403, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "021b9f587d36f5ec0dc531951a49510dd743a45e054d944de672fc54e70f2975" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "d527b58d2137b979b65e15809736a21dded3df4b0d821349c01b520efa1a09c4" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 133, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5779.399999976158, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5779.399999976158, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 5779.5, + "mediaType": "audio", + "time": 6 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 5779.5, + "mediaType": "audio", + "time": 6 + }, + { + "name": "PLAYBACK_SEEKING", + "at": 5781.199999988079, + "time": 6, + "seekTime": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5781.5, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5781.5, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5781.899999976158, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5781.899999976158, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 5782, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5925.199999988079, + "mediaType": "video", + "bufferLevel": 1.9195250000000001, + "time": 6.080474 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5925.199999988079, + "mediaType": "audio", + "bufferLevel": 3.9248590000000005, + "time": 6.080474 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6059.5, + "mediaType": "video", + "bufferLevel": 1.7822459999999998, + "time": 6.217753 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6059.699999988079, + "mediaType": "audio", + "bufferLevel": 3.78758, + "time": 6.217753 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 6151.699999988079, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00005.m4s", + "time": 6.310356 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6152.599999964237, + "mediaType": "video", + "bufferLevel": 3.6888120000000004, + "time": 6.311187 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6152.699999988079, + "mediaType": "video", + "bufferLevel": 3.6888120000000004, + "time": 6.311187 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 6244.199999988079, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00006.m4s", + "time": 6.403826 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6244.599999964237, + "mediaType": "audio", + "bufferLevel": 5.595778000000001, + "time": 6.404221 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6244.699999988079, + "mediaType": "audio", + "bufferLevel": 5.595778000000001, + "time": 6.404221 + } + ] + }, + "mediaEvents": { + "count": 34, + "last20": [ + { + "name": "timeupdate", + "at": 2991.699999988079, + "time": 2.620289, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3258.5, + "time": 2.886267, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3525.199999988079, + "time": 3.150378, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3792.399999976158, + "time": 3.420274, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4054, + "time": 3.680151, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4317.199999988079, + "time": 3.940173, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4591.599999964237, + "time": 4.220381, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4847.899999976158, + "time": 4.475573, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 5125.899999976158, + "time": 4.753944, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 5392, + "time": 5.020651, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 5650.699999988079, + "time": 5.27794, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 5779.299999952316, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "pause", + "at": 5780.399999976158, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "seeking", + "at": 5781, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 5781.799999952316, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "seeked", + "at": 5781.899999976158, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "canplay", + "at": 5782.199999988079, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "play", + "at": 5808.699999988079, + "time": 6.009756, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "playing", + "at": 5808.899999976158, + "time": 6.009995, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 6058.799999952316, + "time": 6.217237, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + } + ] + }, + "tracks": [ + { + "id": "1", + "index": 1, + "lang": "en" + }, + { + "id": "2", + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "id": "0", + "height": 90 + }, + { + "id": "1", + "height": 180 + } + ], + "buffered": [ + [ + 3.989333, + 9.999999 + ] + ], + "paused": false, + "seeking": false, + "time": 6.408681, + "ready": true, + "width": 320, + "height": 180, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 6.408681, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 9.999999 + ] + ], + "levels": { + "video": 3.689, + "audio": 5.596 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 9.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 11.999999 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 57, + "last3": [ + { + "name": "media:timeupdate", + "at": 6058.799999952316, + "time": 6.217237, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 7.999999 + ] + ], + "levels": { + "video": 1.92, + "audio": 3.925 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 6152.199999988079, + "time": 6.31112, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 9.999999 + ] + ], + "levels": { + "video": 1.782, + "audio": 3.788 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 9.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 6244.5, + "time": 6.404189, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 9.999999 + ] + ], + "levels": { + "video": 3.689, + "audio": 3.788 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 9.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 11.999999 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / candidate DASH / 4.5.2: real MPD decoding and UI selection", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 4512, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "787e4db769908a75feb5fdbe366cefa4174e88b25721d019d17c559d40a001d9" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "f38fe6182adcd493ca10fc858fa9811287c6d5083edc08e400e7d3bcf8895a1b" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 109, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3910.100000023842, + "mediaType": "audio", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 3910.100000023842, + "mediaType": "audio", + "time": 6 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 3910.100000023842, + "mediaType": "audio", + "oldQuality": 0, + "newQuality": 0, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKING", + "at": 3911.600000023842, + "time": 6, + "seekTime": 6 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 3916, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/init-1.m4s", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3916.399999976158, + "mediaType": "video", + "bufferLevel": 0, + "time": 6 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 3919.600000023842, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00004.m4s", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3920, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 3920.100000023842, + "mediaType": "video", + "state": "bufferLoaded", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3920.199999988079, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3921.399999976158, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 3921.399999976158, + "mediaType": "audio", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 3921.600000023842, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4172.100000023842, + "mediaType": "video", + "bufferLevel": 1.8197289999999997, + "time": 6.18027 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4172.100000023842, + "mediaType": "audio", + "bufferLevel": 1.8197289999999997, + "time": 6.18027 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4203.399999976158, + "mediaType": "video", + "bufferLevel": 1.7884849999999997, + "time": 6.211514 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4203.5, + "mediaType": "audio", + "bufferLevel": 1.7884849999999997, + "time": 6.211514 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4383.5, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00005.m4s", + "time": 6.387859 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4384.100000023842, + "mediaType": "audio", + "bufferLevel": 3.616834, + "time": 6.388499 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4384.199999988079, + "mediaType": "audio", + "bufferLevel": 3.616834, + "time": 6.388499 + } + ] + }, + "mediaEvents": { + "count": 27, + "last20": [ + { + "name": "timeupdate", + "at": 1152.6000000238419, + "time": 0.742723, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + }, + { + "name": "timeupdate", + "at": 1417.8999999761581, + "time": 1.007683, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1683.5, + "time": 1.273157, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1949.800000011921, + "time": 1.540194, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 2215, + "time": 1.805329, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 2484, + "time": 2.073511, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 2745.800000011921, + "time": 2.336186, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3011.199999988079, + "time": 2.59896, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3276.699999988079, + "time": 2.860863, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3542.5, + "time": 3.120598, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3808.699999988079, + "time": 3.3975, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3909.899999976158, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 5.999999 + ] + ] + }, + { + "name": "pause", + "at": 3911.300000011921, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 5.999999 + ] + ] + }, + { + "name": "seeking", + "at": 3911.5, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3921.399999976158, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "seeked", + "at": 3921.5, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "canplay", + "at": 3921.699999988079, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "play", + "at": 3959.5, + "time": 6.011562, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "playing", + "at": 3959.699999988079, + "time": 6.011723, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4203.399999976158, + "time": 6.211435, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 1.984, + 7.999999 + ] + ] + } + ] + }, + "tracks": [ + { + "id": 1, + "index": 1, + "lang": "en" + }, + { + "id": 2, + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "height": 90 + }, + { + "height": 180 + } + ], + "buffered": [ + [ + 1.984, + 7.999999 + ] + ], + "paused": false, + "seeking": false, + "time": 6.392761, + "ready": true, + "width": 320, + "height": 180, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 6.392761, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 1.788, + "audio": 3.617 + }, + "processors": [ + { + "type": "video", + "level": 1.7884849999999997, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.616834, + "target": 2.7880000000000003, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 47, + "last3": [ + { + "name": "media:playing", + "at": 3959.699999988079, + "time": 6.011723, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 2, + "audio": 2 + }, + "processors": [ + { + "type": "video", + "level": 1.9999989999999999, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.9999989999999999, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 7.999999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 4203.399999976158, + "time": 6.211435, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 1.82, + "audio": 1.82 + }, + "processors": [ + { + "type": "video", + "level": 1.8197289999999997, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.8197289999999997, + "target": 2.8200000000000003, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 7.999999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 4384.100000023842, + "time": 6.388461, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 7.999999 + ] + ], + "levels": { + "video": 1.788, + "audio": 1.788 + }, + "processors": [ + { + "type": "video", + "level": 1.7884849999999997, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.7884849999999997, + "target": 2.7880000000000003, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00005.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / candidate DASH / 5.2.1: real MPD decoding and UI selection", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 6374, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "021b9f587d36f5ec0dc531951a49510dd743a45e054d944de672fc54e70f2975" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "bef6f3836baac9d99d7bdf7360a2cf5841debbb5b8035a8c3021abd6b8a88bf0" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 137, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5756.699999988079, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5756.699999988079, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 5756.799999952316, + "mediaType": "audio", + "time": 6 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 5756.799999952316, + "mediaType": "audio", + "time": 6 + }, + { + "name": "PLAYBACK_SEEKING", + "at": 5759.299999952316, + "time": 6, + "seekTime": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5759.5, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5759.599999964237, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5762.799999952316, + "mediaType": "video", + "bufferLevel": 1.9999989999999999, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5762.799999952316, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 5763.099999964237, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5937.5, + "mediaType": "video", + "bufferLevel": 1.899756, + "time": 6.100243 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5937.5, + "mediaType": "audio", + "bufferLevel": 3.9050900000000004, + "time": 6.100243 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6054.099999964237, + "mediaType": "video", + "bufferLevel": 1.7825730000000002, + "time": 6.217426 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6054.199999988079, + "mediaType": "audio", + "bufferLevel": 3.7879070000000006, + "time": 6.217426 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 6092, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00005.m4s", + "time": 6.245009 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6092.399999976158, + "mediaType": "video", + "bufferLevel": 3.7544830000000005, + "time": 6.245516 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6092.5, + "mediaType": "video", + "bufferLevel": 3.7544830000000005, + "time": 6.245516 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 6238.5, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00006.m4s", + "time": 6.401745 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6239, + "mediaType": "audio", + "bufferLevel": 5.597802000000001, + "time": 6.402197 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 6239.099999964237, + "mediaType": "audio", + "bufferLevel": 5.597802000000001, + "time": 6.402197 + } + ] + }, + "mediaEvents": { + "count": 34, + "last20": [ + { + "name": "timeupdate", + "at": 2976, + "time": 2.608187, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3243, + "time": 2.866069, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3506.099999964237, + "time": 3.13895, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 3778.599999964237, + "time": 3.408575, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4038.399999976158, + "time": 3.669461, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4303.899999976158, + "time": 3.936046, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4571.899999976158, + "time": 4.200609, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 4837.5, + "time": 4.460408, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 5104, + "time": 4.736929, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 5380.799999952316, + "time": 5.010726, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 5655.599999964237, + "time": 5.280357, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 5756.5, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "pause", + "at": 5758.599999964237, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "seeking", + "at": 5759.099999964237, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 5762.5, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "seeked", + "at": 5762.899999976158, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "canplay", + "at": 5763.199999988079, + "time": 6, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "play", + "at": 5804.399999976158, + "time": 6.010148, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "playing", + "at": 5804.699999988079, + "time": 6.010471, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 6054.099999964237, + "time": 6.217319, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 7.999999 + ] + ] + } + ] + }, + "tracks": [ + { + "id": "1", + "index": 1, + "lang": "en" + }, + { + "id": "2", + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "id": "0", + "height": 90 + }, + { + "id": "1", + "height": 180 + } + ], + "buffered": [ + [ + 3.989333, + 9.999999 + ] + ], + "paused": false, + "seeking": false, + "time": 6.404775, + "ready": true, + "width": 320, + "height": 180, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 6.404775, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 9.999999 + ] + ], + "levels": { + "video": 3.754, + "audio": 5.598 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 9.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 11.999999 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 57, + "last3": [ + { + "name": "media:timeupdate", + "at": 6054.099999964237, + "time": 6.217319, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 7.999999 + ] + ], + "levels": { + "video": 1.9, + "audio": 3.905 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 7.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 6092.299999952316, + "time": 6.245481, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 9.999999 + ] + ], + "levels": { + "video": 1.783, + "audio": 3.788 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 9.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 6238.799999952316, + "time": 6.402142, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 3.989333, + 9.999999 + ] + ], + "levels": { + "video": 3.754, + "audio": 3.788 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 9.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 11.999999 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 4.5.2: asynchronous formatter error clears menus and explicit update recovers", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1039, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "787e4db769908a75feb5fdbe366cefa4174e88b25721d019d17c559d40a001d9" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "90f08d5c8a4836e537c8eeab68eef8e2ef16a4f43429ad6c2ced526122dad8d2" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 48, + "last20": [ + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 669.8000000119209, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/init-3.m4s", + "time": 0.356365 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 670.5999999642372, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.357108 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 673.5, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00001.m4s", + "time": 0.360056 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 674.3000000119209, + "mediaType": "audio", + "bufferLevel": 1.623729, + "time": 0.36027 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 674.3000000119209, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0.36027 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 674.3000000119209, + "mediaType": "audio", + "bufferLevel": 1.623729, + "time": 0.36027 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 678, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00002.m4s", + "time": 0.363942 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 678.3999999761581, + "mediaType": "audio", + "bufferLevel": 3.624983, + "time": 0.36435 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 678.3999999761581, + "mediaType": "audio", + "bufferLevel": 3.624983, + "time": 0.36435 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 715.3999999761581, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/init-1.m4s", + "time": 0.402387 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 715.8000000119209, + "mediaType": "video", + "bufferLevel": 1.5973140000000001, + "time": 0.402685 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 719.5999999642372, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00002.m4s", + "time": 0.406498 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 720.3000000119209, + "mediaType": "video", + "bufferLevel": 3.592843, + "time": 0.407156 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 720.3000000119209, + "mediaType": "video", + "bufferLevel": 3.592843, + "time": 0.407156 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 791.3000000119209, + "mediaType": "video", + "bufferLevel": 3.5218939999999996, + "time": 0.478105 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 791.3000000119209, + "mediaType": "audio", + "bufferLevel": 3.511228, + "time": 0.478105 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 791.3000000119209, + "mediaType": "audio", + "time": 0.478105 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 791.3000000119209, + "mediaType": "audio", + "oldQuality": 0, + "newQuality": 0, + "time": 0.478105 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 900.1999999880791, + "mediaType": "video", + "bufferLevel": 3.41274, + "time": 0.587259 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 900.1999999880791, + "mediaType": "audio", + "bufferLevel": 3.402074, + "time": 0.587259 + } + ] + }, + "mediaEvents": { + "count": 7, + "last20": [ + { + "name": "loadedmetadata", + "at": 204.0999999642372, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "loadeddata", + "at": 216.39999997615814, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "canplay", + "at": 218.0999999642372, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "play", + "at": 284.30000001192093, + "time": 0.011556, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "playing", + "at": 284.69999998807907, + "time": 0.011956, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 526, + "time": 0.212577, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 791, + "time": 0.478009, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + } + ] + }, + "tracks": [ + { + "id": 1, + "index": 1, + "lang": "en" + }, + { + "id": 2, + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "height": 90 + }, + { + "height": 180 + } + ], + "buffered": [ + [ + 0, + 3.989333 + ] + ], + "paused": false, + "seeking": false, + "time": 0.591423, + "ready": true, + "width": 160, + "height": 90, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 0.591423, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.413, + "audio": 3.402 + }, + "processors": [ + { + "type": "video", + "level": 3.41274, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.402074, + "target": 4.413, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 18, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 715.6999999880791, + "time": 0.402638, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.999999 + ] + ], + "levels": { + "video": 1.772, + "audio": 3.625 + }, + "processors": [ + { + "type": "video", + "level": 1.772183, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.624983, + "target": 2.7720000000000002, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 720.0999999642372, + "time": 0.407101, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 1.597, + "audio": 3.625 + }, + "processors": [ + { + "type": "video", + "level": 1.5973140000000001, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.624983, + "target": 2.597, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 791.0999999642372, + "time": 0.478009, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.593, + "audio": 3.625 + }, + "processors": [ + { + "type": "video", + "level": 3.592843, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.624983, + "target": 4.593, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 4.5.2: actual source topology replacement and owned cleanup", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1308, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "787e4db769908a75feb5fdbe366cefa4174e88b25721d019d17c559d40a001d9" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "90f08d5c8a4836e537c8eeab68eef8e2ef16a4f43429ad6c2ced526122dad8d2" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 93, + "last20": [ + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1134.699999988079, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1135, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1135.3999999761581, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1135.3999999761581, + "mediaType": "video", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1135.3999999761581, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1135.5, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1135.5, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1135.5, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "QUALITY_CHANGE_REQUESTED", + "at": 1135.699999988079, + "mediaType": "video", + "oldQuality": 0, + "newQuality": 1, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1136.3999999761581, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1136.5, + "mediaType": "video", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1136.5, + "mediaType": "video", + "oldQuality": null, + "newQuality": 0, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1136.5, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1136.5, + "mediaType": "audio", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1136.5, + "mediaType": "audio", + "oldQuality": null, + "newQuality": 0, + "time": 0 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 1136.5999999642372, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1139.0999999642372, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00002.m4s", + "time": 0.002405 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1140.0999999642372, + "mediaType": "audio", + "bufferLevel": 3.985883, + "time": 0.00345 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1140.0999999642372, + "mediaType": "audio", + "bufferLevel": 3.985883, + "time": 0.00345 + }, + { + "name": "STREAM_TEARDOWN_COMPLETE", + "at": 1158.199999988079, + "time": 0 + } + ] + }, + "mediaEvents": { + "count": 44, + "last20": [ + { + "name": "seeking", + "at": 1091.0999999642372, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1098.5999999642372, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "seeked", + "at": 1098.699999988079, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "loadeddata", + "at": 1098.800000011921, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "canplay", + "at": 1099.300000011921, + "time": 0.000362, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "play", + "at": 1099.5, + "time": 0.000558, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "playing", + "at": 1099.699999988079, + "time": 0.000654, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1111.300000011921, + "time": 0.012187, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "pause", + "at": 1111.5999999642372, + "time": 0.012187, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "emptied", + "at": 1113.3999999761581, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1113.5, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "loadedmetadata", + "at": 1123.5999999642372, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "seeking", + "at": 1123.800000011921, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1136.3999999761581, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "seeked", + "at": 1136.5, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "loadeddata", + "at": 1136.5999999642372, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "canplay", + "at": 1137.300000011921, + "time": 0.000647, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "play", + "at": 1137.5, + "time": 0.000778, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "playing", + "at": 1137.5, + "time": 0.000871, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "emptied", + "at": 1159, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + } + ] + }, + "levels": {}, + "buffered": [], + "paused": true, + "seeking": false, + "time": 0, + "ready": true, + "width": 0, + "height": 0, + "readyState": 0, + "destroyed": 4, + "bufferState": { + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + }, + "bufferEvents": { + "count": 62, + "last3": [ + { + "name": "media:playing", + "at": 1137.5, + "time": 0.000871, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.983999 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": [ + { + "type": "video", + "level": 1.999999, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.983999, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.983999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1140, + "time": 0.003349, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.999999 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": [ + { + "type": "video", + "level": 1.999999, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.983999, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:emptied", + "at": 1159, + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "blob:http://127.0.0.1:8084/78736f34-473c-46eb-a3fb-a0825d648ac2", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 5.2.1: asynchronous formatter error clears menus and explicit update recovers", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 918, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "021b9f587d36f5ec0dc531951a49510dd743a45e054d944de672fc54e70f2975" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "d527b58d2137b979b65e15809736a21dded3df4b0d821349c01b520efa1a09c4" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 43, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 508.30000001192093, + "mediaType": "audio", + "bufferLevel": 3.7473769999999997, + "time": 0.241956 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 605, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.338633 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 605, + "mediaType": "audio", + "state": "bufferStalled", + "time": 0.338633 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 605.1999999880791, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.338633 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 609.6000000238419, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/init-3.m4s", + "time": 0.343734 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 610.5, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.344702 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 613.1999999880791, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00001.m4s", + "time": 0.347394 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 613.6999999880791, + "mediaType": "audio", + "bufferLevel": 1.6362510000000001, + "time": 0.347748 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 613.6999999880791, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0.347748 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 613.6999999880791, + "mediaType": "audio", + "bufferLevel": 1.6362510000000001, + "time": 0.347748 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 616.4000000357628, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00002.m4s", + "time": 0.350571 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 617, + "mediaType": "audio", + "bufferLevel": 3.6383199999999998, + "time": 0.351013 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 617, + "mediaType": "audio", + "bufferLevel": 3.6383199999999998, + "time": 0.351013 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 690.4000000357628, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00002.m4s", + "time": 0.424185 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 690.8000000119209, + "mediaType": "video", + "bufferLevel": 3.575406, + "time": 0.424593 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 690.8000000119209, + "mediaType": "video", + "bufferLevel": 3.575406, + "time": 0.424593 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 758.1999999880791, + "mediaType": "video", + "bufferLevel": 3.5084839999999997, + "time": 0.491515 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 758.3000000119209, + "mediaType": "audio", + "bufferLevel": 3.4978179999999996, + "time": 0.491515 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 758.3000000119209, + "mediaType": "audio", + "time": 0.491515 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 758.3000000119209, + "mediaType": "audio", + "time": 0.491515 + } + ] + }, + "mediaEvents": { + "count": 7, + "last20": [ + { + "name": "loadedmetadata", + "at": 177.60000002384186, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "loadeddata", + "at": 185.4000000357628, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "canplay", + "at": 187.19999998807907, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "play", + "at": 239.19999998807907, + "time": 0.013399, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "playing", + "at": 239.69999998807907, + "time": 0.013922, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 491.60000002384186, + "time": 0.224119, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 758, + "time": 0.491381, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + } + ] + }, + "tracks": [ + { + "id": "1", + "index": 1, + "lang": "en" + }, + { + "id": "2", + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "id": "0", + "height": 90 + }, + { + "id": "1", + "height": 180 + } + ], + "buffered": [ + [ + 0, + 3.989333 + ] + ], + "paused": false, + "seeking": false, + "time": 0.553819, + "ready": true, + "width": 160, + "height": 90, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 0.553819, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.508, + "audio": 3.498 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 17, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 616.8000000119209, + "time": 0.350968, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.999999 + ] + ], + "levels": { + "video": 1.758, + "audio": 1.636 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 690.6999999880791, + "time": 0.424555, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 1.758, + "audio": 3.638 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 758.1000000238419, + "time": 0.491381, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.575, + "audio": 3.638 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 5.2.1: actual source topology replacement and owned cleanup", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1258, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "021b9f587d36f5ec0dc531951a49510dd743a45e054d944de672fc54e70f2975" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "d527b58d2137b979b65e15809736a21dded3df4b0d821349c01b520efa1a09c4" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 94, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1106.2999999523163, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1111.5, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1112, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1112.8999999761581, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1112.8999999761581, + "mediaType": "video", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1113, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1113.199999988079, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1113.199999988079, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1113.199999988079, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1114.199999988079, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1114.199999988079, + "mediaType": "video", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1114.199999988079, + "mediaType": "video", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1114.199999988079, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1114.199999988079, + "mediaType": "audio", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1114.199999988079, + "mediaType": "audio", + "time": 0 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 1114.2999999523163, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1116.2999999523163, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00002.m4s", + "time": 0.001746 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1117.7999999523163, + "mediaType": "audio", + "bufferLevel": 3.986064, + "time": 0.003269 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1117.7999999523163, + "mediaType": "audio", + "bufferLevel": 3.986064, + "time": 0.003269 + }, + { + "name": "STREAM_TEARDOWN_COMPLETE", + "at": 1137.5, + "time": 0 + } + ] + }, + "mediaEvents": { + "count": 44, + "last20": [ + { + "name": "seeking", + "at": 1063.199999988079, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1070.5, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "seeked", + "at": 1070.5999999642372, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "loadeddata", + "at": 1070.699999988079, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "canplay", + "at": 1071.2999999523163, + "time": 0.000448, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "play", + "at": 1071.3999999761581, + "time": 0.000612, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "playing", + "at": 1071.5999999642372, + "time": 0.000733, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1084.5, + "time": 0.013462, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "pause", + "at": 1084.699999988079, + "time": 0.013462, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "emptied", + "at": 1087, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1087.199999988079, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "loadedmetadata", + "at": 1099.5, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "seeking", + "at": 1099.7999999523163, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1114, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "seeked", + "at": 1114.199999988079, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "loadeddata", + "at": 1114.2999999523163, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "canplay", + "at": 1115, + "time": 0.000522, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "play", + "at": 1115.199999988079, + "time": 0.000708, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "playing", + "at": 1115.2999999523163, + "time": 0.000847, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "emptied", + "at": 1137.8999999761581, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + } + ] + }, + "levels": {}, + "buffered": [], + "paused": true, + "seeking": false, + "time": 0, + "ready": true, + "width": 0, + "height": 0, + "readyState": 0, + "destroyed": 4, + "bufferState": { + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + }, + "bufferEvents": { + "count": 62, + "last3": [ + { + "name": "media:playing", + "at": 1115.2999999523163, + "time": 0.000847, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.983999 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.983999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1117.699999988079, + "time": 0.003211, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.999999 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:emptied", + "at": 1137.8999999761581, + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "blob:http://127.0.0.1:8084/af393c09-0a0a-48cd-b6a3-be287291cc6d", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 4.5.2: asynchronous formatter error clears menus and explicit update recovers", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1025, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "787e4db769908a75feb5fdbe366cefa4174e88b25721d019d17c559d40a001d9" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "f38fe6182adcd493ca10fc858fa9811287c6d5083edc08e400e7d3bcf8895a1b" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 46, + "last20": [ + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 670.5, + "mediaType": "audio", + "state": "bufferStalled", + "time": 0.342825 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 670.5999999642372, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.342825 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 673.8000000119209, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/init-3.m4s", + "time": 0.346058 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 674.3999999761581, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.346649 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 677, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00001.m4s", + "time": 0.349336 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 677.8000000119209, + "mediaType": "audio", + "bufferLevel": 1.633917, + "time": 0.350082 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 677.8000000119209, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0.350082 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 677.8000000119209, + "mediaType": "audio", + "bufferLevel": 1.633917, + "time": 0.350082 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 680.6999999880791, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00002.m4s", + "time": 0.35296 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 681.0999999642372, + "mediaType": "audio", + "bufferLevel": 3.636012, + "time": 0.353321 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 681.1999999880791, + "mediaType": "audio", + "bufferLevel": 3.636012, + "time": 0.353321 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 731, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/init-1.m4s", + "time": 0.402057 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 733.0999999642372, + "mediaType": "video", + "bufferLevel": 1.59597, + "time": 0.404029 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 739.6999999880791, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00002.m4s", + "time": 0.410764 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 740.1999999880791, + "mediaType": "video", + "bufferLevel": 3.588767, + "time": 0.411232 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 740.1999999880791, + "mediaType": "video", + "bufferLevel": 3.588767, + "time": 0.411232 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 815.8000000119209, + "mediaType": "video", + "bufferLevel": 3.512893, + "time": 0.487106 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 815.8000000119209, + "mediaType": "audio", + "bufferLevel": 3.502227, + "time": 0.487106 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 815.8000000119209, + "mediaType": "audio", + "time": 0.487106 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 815.8999999761581, + "mediaType": "audio", + "oldQuality": 0, + "newQuality": 0, + "time": 0.487106 + } + ] + }, + "mediaEvents": { + "count": 7, + "last20": [ + { + "name": "loadedmetadata", + "at": 220.0999999642372, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "loadeddata", + "at": 227.69999998807907, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "canplay", + "at": 231, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "play", + "at": 298.30000001192093, + "time": 0.010699, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "playing", + "at": 298.80000001192093, + "time": 0.011182, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 550.1999999880791, + "time": 0.222042, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 815.6999999880791, + "time": 0.487004, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + } + ] + }, + "tracks": [ + { + "id": 1, + "index": 1, + "lang": "en" + }, + { + "id": 2, + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "height": 90 + }, + { + "height": 180 + } + ], + "buffered": [ + [ + 0, + 3.989333 + ] + ], + "paused": false, + "seeking": false, + "time": 0.565869, + "ready": true, + "width": 160, + "height": 90, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 0.565869, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.513, + "audio": 3.502 + }, + "processors": [ + { + "type": "video", + "level": 3.512893, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.502227, + "target": 4.513, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 18, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 732.6999999880791, + "time": 0.403822, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.999999 + ] + ], + "levels": { + "video": 1.778, + "audio": 3.636 + }, + "processors": [ + { + "type": "video", + "level": 1.777856, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.636012, + "target": 2.778, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 740.0999999642372, + "time": 0.411192, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 1.596, + "audio": 3.636 + }, + "processors": [ + { + "type": "video", + "level": 1.59597, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.636012, + "target": 2.596, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 815.6999999880791, + "time": 0.487004, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.589, + "audio": 3.636 + }, + "processors": [ + { + "type": "video", + "level": 3.588767, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.636012, + "target": 4.589, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 4.5.2: actual source topology replacement and owned cleanup", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1309, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "787e4db769908a75feb5fdbe366cefa4174e88b25721d019d17c559d40a001d9" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "f38fe6182adcd493ca10fc858fa9811287c6d5083edc08e400e7d3bcf8895a1b" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 93, + "last20": [ + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1146.5, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1146.8999999761581, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1146.8999999761581, + "mediaType": "video", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1147, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1147.0999999642372, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_REQUESTED", + "at": 1147.5, + "mediaType": "video", + "oldQuality": 0, + "newQuality": 1, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1148.0999999642372, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1148.0999999642372, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1148.0999999642372, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1149, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1149.0999999642372, + "mediaType": "video", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1149.0999999642372, + "mediaType": "video", + "oldQuality": null, + "newQuality": 0, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1149.0999999642372, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1149.0999999642372, + "mediaType": "audio", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1149.0999999642372, + "mediaType": "audio", + "oldQuality": null, + "newQuality": 0, + "time": 0 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 1149.199999988079, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1151.199999988079, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00002.m4s", + "time": 0.00086 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1153.3999999761581, + "mediaType": "audio", + "bufferLevel": 3.986309, + "time": 0.003024 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1153.3999999761581, + "mediaType": "audio", + "bufferLevel": 3.986309, + "time": 0.003024 + }, + { + "name": "STREAM_TEARDOWN_COMPLETE", + "at": 1174.2999999523163, + "time": 0 + } + ] + }, + "mediaEvents": { + "count": 44, + "last20": [ + { + "name": "seeking", + "at": 1100.7999999523163, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1107.0999999642372, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "seeked", + "at": 1107.2999999523163, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "loadeddata", + "at": 1107.3999999761581, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "canplay", + "at": 1108.199999988079, + "time": 0.000048, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "play", + "at": 1108.3999999761581, + "time": 0.000229, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "playing", + "at": 1108.5999999642372, + "time": 0.000474, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1121.5999999642372, + "time": 0.013224, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "pause", + "at": 1121.8999999761581, + "time": 0.013224, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "emptied", + "at": 1124, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1124.199999988079, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "loadedmetadata", + "at": 1136.3999999761581, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "seeking", + "at": 1136.5999999642372, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1148.8999999761581, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "seeked", + "at": 1149.0999999642372, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "loadeddata", + "at": 1149.199999988079, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "canplay", + "at": 1150.5, + "time": 0.000111, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "play", + "at": 1150.5999999642372, + "time": 0.000313, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "playing", + "at": 1150.7999999523163, + "time": 0.000445, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "emptied", + "at": 1174.8999999761581, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + } + ] + }, + "levels": {}, + "buffered": [], + "paused": true, + "seeking": false, + "time": 0, + "ready": true, + "width": 0, + "height": 0, + "readyState": 0, + "destroyed": 4, + "bufferState": { + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + }, + "bufferEvents": { + "count": 62, + "last3": [ + { + "name": "media:playing", + "at": 1150.7999999523163, + "time": 0.000445, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.983999 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": [ + { + "type": "video", + "level": 1.999999, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.983999, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.983999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1153.199999988079, + "time": 0.002918, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.999999 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": [ + { + "type": "video", + "level": 1.999999, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.983999, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:emptied", + "at": 1174.8999999761581, + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "blob:http://127.0.0.1:8084/6f28b1aa-b05a-4aac-b2e8-69fe016d0803", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 5.2.1: asynchronous formatter error clears menus and explicit update recovers", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 975, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "021b9f587d36f5ec0dc531951a49510dd743a45e054d944de672fc54e70f2975" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "bef6f3836baac9d99d7bdf7360a2cf5841debbb5b8035a8c3021abd6b8a88bf0" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 43, + "last20": [ + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 510.7000000476837, + "mediaType": "audio", + "time": 0.220733 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 633.1000000238419, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.342804 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 633.2000000476837, + "mediaType": "audio", + "state": "bufferStalled", + "time": 0.342804 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 633.2000000476837, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.342804 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 637.6000000238419, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/init-3.m4s", + "time": 0.347316 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 638.1000000238419, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.347776 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 642.6000000238419, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00001.m4s", + "time": 0.352246 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 643.1000000238419, + "mediaType": "audio", + "bufferLevel": 1.631284, + "time": 0.352715 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 643.1000000238419, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0.352715 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 643.2000000476837, + "mediaType": "audio", + "bufferLevel": 1.631284, + "time": 0.352715 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 647, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00002.m4s", + "time": 0.356669 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 647.4000000357628, + "mediaType": "audio", + "bufferLevel": 3.6323239999999997, + "time": 0.357009 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 647.4000000357628, + "mediaType": "audio", + "bufferLevel": 3.6323239999999997, + "time": 0.357009 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 696.6000000238419, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00002.m4s", + "time": 0.407758 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 697.2000000476837, + "mediaType": "video", + "bufferLevel": 3.591679, + "time": 0.40832 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 697.2000000476837, + "mediaType": "video", + "bufferLevel": 3.591679, + "time": 0.40832 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 776.7000000476837, + "mediaType": "video", + "bufferLevel": 3.512594, + "time": 0.487405 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 776.9000000357628, + "mediaType": "audio", + "bufferLevel": 3.501928, + "time": 0.487405 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 777, + "mediaType": "audio", + "time": 0.487405 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 777, + "mediaType": "audio", + "time": 0.487405 + } + ] + }, + "mediaEvents": { + "count": 7, + "last20": [ + { + "name": "loadedmetadata", + "at": 186.30000001192093, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "loadeddata", + "at": 193.10000002384186, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "canplay", + "at": 196.60000002384186, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "play", + "at": 261.4000000357628, + "time": 0.013154, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "playing", + "at": 262.5, + "time": 0.014183, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 510.10000002384186, + "time": 0.220609, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 775.9000000357628, + "time": 0.486708, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + } + ] + }, + "tracks": [ + { + "id": "1", + "index": 1, + "lang": "en" + }, + { + "id": "2", + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "id": "0", + "height": 90 + }, + { + "id": "1", + "height": 180 + } + ], + "buffered": [ + [ + 0, + 3.989333 + ] + ], + "paused": false, + "seeking": false, + "time": 0.575872, + "ready": true, + "width": 160, + "height": 90, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 0.575872, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.513, + "audio": 3.502 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 17, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 647.2000000476837, + "time": 0.356974, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.999999 + ] + ], + "levels": { + "video": 1.779, + "audio": 1.631 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 697, + "time": 0.408268, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 1.779, + "audio": 3.632 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 776, + "time": 0.486708, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.592, + "audio": 3.632 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 5.2.1: actual source topology replacement and owned cleanup", + "project": "chromium", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1309, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "021b9f587d36f5ec0dc531951a49510dd743a45e054d944de672fc54e70f2975" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "bef6f3836baac9d99d7bdf7360a2cf5841debbb5b8035a8c3021abd6b8a88bf0" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 94, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1141.699999988079, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1145.7999999523163, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1146.199999988079, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1146.5999999642372, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1146.5999999642372, + "mediaType": "video", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1146.5999999642372, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1146.8999999761581, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1146.8999999761581, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1146.8999999761581, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1147.7999999523163, + "mediaType": "video", + "bufferLevel": 1.999999, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1147.7999999523163, + "mediaType": "video", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1147.7999999523163, + "mediaType": "video", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1147.7999999523163, + "mediaType": "audio", + "bufferLevel": 1.983999, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1147.7999999523163, + "mediaType": "audio", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1147.7999999523163, + "mediaType": "audio", + "time": 0 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 1148, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1150.199999988079, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00002.m4s", + "time": 0.001134 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1150.5, + "mediaType": "audio", + "bufferLevel": 3.987831, + "time": 0.001502 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1150.5, + "mediaType": "audio", + "bufferLevel": 3.987831, + "time": 0.001502 + }, + { + "name": "STREAM_TEARDOWN_COMPLETE", + "at": 1172.7999999523163, + "time": 0 + } + ] + }, + "mediaEvents": { + "count": 44, + "last20": [ + { + "name": "seeking", + "at": 1099.7999999523163, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1108.2999999523163, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "seeked", + "at": 1108.699999988079, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "loadeddata", + "at": 1108.7999999523163, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "canplay", + "at": 1109.5, + "time": 0.000072, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "play", + "at": 1109.699999988079, + "time": 0.000291, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "playing", + "at": 1109.7999999523163, + "time": 0.000425, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "timeupdate", + "at": 1121.5999999642372, + "time": 0.01197, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "pause", + "at": 1121.7999999523163, + "time": 0.01197, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.999999 + ] + ] + }, + { + "name": "emptied", + "at": 1124, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1124.199999988079, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "loadedmetadata", + "at": 1135.199999988079, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "seeking", + "at": 1135.3999999761581, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1147.5, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "seeked", + "at": 1147.8999999761581, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "loadeddata", + "at": 1148, + "time": 0, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "canplay", + "at": 1149, + "time": 0.000056, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "play", + "at": 1149.2999999523163, + "time": 0.000277, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "playing", + "at": 1149.3999999761581, + "time": 0.000433, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 1.983999 + ] + ] + }, + { + "name": "emptied", + "at": 1173.199999988079, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + } + ] + }, + "levels": {}, + "buffered": [], + "paused": true, + "seeking": false, + "time": 0, + "ready": true, + "width": 0, + "height": 0, + "readyState": 0, + "destroyed": 4, + "bufferState": { + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + }, + "bufferEvents": { + "count": 62, + "last3": [ + { + "name": "media:playing", + "at": 1149.3999999761581, + "time": 0.000433, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.983999 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.983999 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1150.5, + "time": 0.001458, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 1.999999 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": { + "unavailable": "TypeError: dash?.getActiveStream(...)?.getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 1.999999 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:emptied", + "at": 1173.199999988079, + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "153.0.8010.12", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.12 Safari/537.36", + "media": { + "source": "blob:http://127.0.0.1:8084/45760688-b006-4b14-ac7a-ab066facbcf9", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "net::ERR_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / candidate DASH / 4.5.2: real MPD decoding and UI selection", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 5880, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "787e4db769908a75feb5fdbe366cefa4174e88b25721d019d17c559d40a001d9" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "90f08d5c8a4836e537c8eeab68eef8e2ef16a4f43429ad6c2ced526122dad8d2" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 105, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4436, + "mediaType": "audio", + "bufferLevel": 4.374483, + "time": 3.625517 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4436, + "mediaType": "audio", + "bufferLevel": 4.374483, + "time": 3.625517 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4490, + "mediaType": "video", + "bufferLevel": 2.333113, + "time": 3.666887 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4490, + "mediaType": "audio", + "bufferLevel": 4.333113, + "time": 3.666887 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 4490, + "mediaType": "audio", + "time": 3.666887 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 4490, + "mediaType": "audio", + "oldQuality": 0, + "newQuality": 0, + "time": 3.666887 + }, + { + "name": "PLAYBACK_SEEKING", + "at": 4508, + "time": 6, + "seekTime": 6 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4652, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00004.m4s", + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4653, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4653, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4656, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4656, + "mediaType": "audio", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 4657, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4841, + "mediaType": "video", + "bufferLevel": 1.8325170000000002, + "time": 6.167483 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4841, + "mediaType": "audio", + "bufferLevel": 1.8325170000000002, + "time": 6.167483 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4909, + "mediaType": "video", + "bufferLevel": 1.748914, + "time": 6.251086 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4909, + "mediaType": "audio", + "bufferLevel": 1.748914, + "time": 6.251086 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4942, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00005.m4s", + "time": 6.251086 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4943, + "mediaType": "audio", + "bufferLevel": 3.7542470000000003, + "time": 6.251086 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4943, + "mediaType": "audio", + "bufferLevel": 3.7542470000000003, + "time": 6.251086 + } + ] + }, + "mediaEvents": { + "count": 26, + "last20": [ + { + "name": "timeupdate", + "at": 1079, + "time": 0.292508, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 1581, + "time": 0.792287, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + }, + { + "name": "timeupdate", + "at": 1871, + "time": 1.08372, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2163, + "time": 1.375392, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2663, + "time": 1.875705, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2954, + "time": 2.167087, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 3454, + "time": 2.666963, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3745, + "time": 2.958643, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4038, + "time": 3.250439, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4329, + "time": 3.541996, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4490, + "time": 3.666887, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "pause", + "at": 4491, + "time": 3.666887, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "seeking", + "at": 4508, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "play", + "at": 4573, + "time": 6, + "paused": false, + "readyState": 1, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "waiting", + "at": 4573, + "time": 6, + "paused": false, + "readyState": 1, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4656, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "seeked", + "at": 4656, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "canplay", + "at": 4657, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "playing", + "at": 4657, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 4909, + "time": 6.251086, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + } + ] + }, + "tracks": [ + { + "id": 1, + "index": 1, + "lang": "en" + }, + { + "id": 2, + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "height": 90 + }, + { + "height": 180 + } + ], + "buffered": [ + [ + 1.984, + 8 + ] + ], + "paused": false, + "seeking": false, + "time": 6.33535, + "ready": true, + "width": 320, + "height": 180, + "readyState": 3, + "destroyed": 0, + "bufferState": { + "time": 6.33535, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 1.984, + 8 + ] + ], + "levels": { + "video": 1.749, + "audio": 3.754 + }, + "processors": [ + { + "type": "video", + "level": 1.748914, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.7542470000000003, + "target": 2.749, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 8 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 45, + "last3": [ + { + "name": "media:playing", + "at": 4657, + "time": 6, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 1.984, + 8 + ] + ], + "levels": { + "video": 2, + "audio": 2 + }, + "processors": [ + { + "type": "video", + "level": 2, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 2, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 8 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 8 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 4909, + "time": 6.251086, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 1.984, + 8 + ] + ], + "levels": { + "video": 1.833, + "audio": 1.833 + }, + "processors": [ + { + "type": "video", + "level": 1.8325170000000002, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.8325170000000002, + "target": 2.833, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 8 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 8 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 4943, + "time": 6.251086, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 1.984, + 8 + ] + ], + "levels": { + "video": 1.749, + "audio": 1.749 + }, + "processors": [ + { + "type": "video", + "level": 1.748914, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.748914, + "target": 2.749, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 8 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / candidate DASH / 5.2.1: real MPD decoding and UI selection", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 5714, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "021b9f587d36f5ec0dc531951a49510dd743a45e054d944de672fc54e70f2975" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "d527b58d2137b979b65e15809736a21dded3df4b0d821349c01b520efa1a09c4" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 119, + "last20": [ + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4885, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00004.m4s", + "time": 4.41704 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4886, + "mediaType": "audio", + "bufferLevel": 3.58296, + "time": 4.41704 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4886, + "mediaType": "audio", + "bufferLevel": 3.58296, + "time": 4.41704 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4893, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00005.m4s", + "time": 4.41704 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4893, + "mediaType": "audio", + "bufferLevel": 5.588293, + "time": 4.41704 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4894, + "mediaType": "audio", + "bufferLevel": 5.588293, + "time": 4.41704 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4939, + "mediaType": "video", + "bufferLevel": 3.5380589999999996, + "time": 4.461941 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4939, + "mediaType": "audio", + "bufferLevel": 5.543392, + "time": 4.461941 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 4939, + "mediaType": "audio", + "time": 4.461941 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 4940, + "mediaType": "audio", + "time": 4.461941 + }, + { + "name": "PLAYBACK_SEEKING", + "at": 4954, + "time": 6, + "seekTime": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4954, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4954, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4956, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4956, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 4957, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5227, + "mediaType": "video", + "bufferLevel": 1.792103, + "time": 6.207897 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5227, + "mediaType": "audio", + "bufferLevel": 3.7974360000000003, + "time": 6.207897 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5255, + "mediaType": "video", + "bufferLevel": 1.792103, + "time": 6.207897 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5255, + "mediaType": "audio", + "bufferLevel": 3.7974360000000003, + "time": 6.207897 + } + ] + }, + "mediaEvents": { + "count": 28, + "last20": [ + { + "name": "timeupdate", + "at": 1316, + "time": 0.875401, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 1570, + "time": 1.125477, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 1858, + "time": 1.41718, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2149, + "time": 1.708661, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2401, + "time": 1.960087, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2691, + "time": 2.250337, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2982, + "time": 2.541763, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 3524, + "time": 3.083461, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4066, + "time": 3.625617, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4571, + "time": 4.125232, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4860, + "time": 4.41704, + "paused": false, + "readyState": 4, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 4939, + "time": 4.461941, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "pause", + "at": 4941, + "time": 4.461941, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "seeking", + "at": 4954, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 4956, + "time": 6, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "seeked", + "at": 4956, + "time": 6, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "canplay", + "at": 4957, + "time": 6, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "play", + "at": 5019, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "playing", + "at": 5019, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 5227, + "time": 6.207897, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + } + ] + }, + "tracks": [ + { + "id": "1", + "index": 1, + "lang": "en" + }, + { + "id": "2", + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "id": "0", + "height": 90 + }, + { + "id": "1", + "height": 180 + } + ], + "buffered": [ + [ + 3.989333, + 8 + ] + ], + "paused": false, + "seeking": false, + "time": 6.417261, + "ready": true, + "width": 320, + "height": 180, + "readyState": 3, + "destroyed": 0, + "bufferState": { + "time": 6.417261, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 3.989333, + 8 + ] + ], + "levels": { + "video": 1.792, + "audio": 3.797 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 8 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 49, + "last3": [ + { + "name": "media:play", + "at": 5019, + "time": 6, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 3.989333, + 8 + ] + ], + "levels": { + "video": 2, + "audio": 4.005 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 8 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:playing", + "at": 5019, + "time": 6, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 3.989333, + 8 + ] + ], + "levels": { + "video": 2, + "audio": 4.005 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 8 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 5227, + "time": 6.207897, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 3.989333, + 8 + ] + ], + "levels": { + "video": 2, + "audio": 4.005 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 8 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / candidate DASH / 4.5.2: real MPD decoding and UI selection", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 5245, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "787e4db769908a75feb5fdbe366cefa4174e88b25721d019d17c559d40a001d9" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "f38fe6182adcd493ca10fc858fa9811287c6d5083edc08e400e7d3bcf8895a1b" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 113, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4275, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4275, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4277, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4277, + "mediaType": "audio", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 4277, + "time": 6 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4431, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00005.m4s", + "time": 6.123895 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4431, + "mediaType": "audio", + "bufferLevel": 3.881438, + "time": 6.123895 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4431, + "mediaType": "audio", + "bufferLevel": 3.881438, + "time": 6.123895 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4528, + "mediaType": "video", + "bufferLevel": 1.749791, + "time": 6.250209 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4528, + "mediaType": "audio", + "bufferLevel": 3.7551240000000004, + "time": 6.250209 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4779, + "mediaType": "video", + "bufferLevel": 1.4994079999999999, + "time": 6.500592 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4779, + "mediaType": "audio", + "bufferLevel": 3.504741, + "time": 6.500592 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4784, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00005.m4s", + "time": 6.500592 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4784, + "mediaType": "video", + "bufferLevel": 3.499408, + "time": 6.500592 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4784, + "mediaType": "audio", + "bufferLevel": 3.504741, + "time": 6.500592 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4785, + "mediaType": "video", + "bufferLevel": 3.499408, + "time": 6.500592 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4785, + "mediaType": "video", + "bufferLevel": 3.499408, + "time": 6.500592 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4942, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00006.m4s", + "time": 6.624199 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4943, + "mediaType": "audio", + "bufferLevel": 5.335041, + "time": 6.664959 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4943, + "mediaType": "audio", + "bufferLevel": 5.335041, + "time": 6.664959 + } + ] + }, + "mediaEvents": { + "count": 26, + "last20": [ + { + "name": "timeupdate", + "at": 726, + "time": 0.291932, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 1267, + "time": 0.833735, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 1770, + "time": 1.335288, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2059, + "time": 1.625552, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2351, + "time": 1.917397, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2642, + "time": 2.208833, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2931, + "time": 2.497905, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3185, + "time": 2.751149, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 5.994666 + ] + ] + }, + { + "name": "timeupdate", + "at": 3475, + "time": 3.041901, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 3960, + "time": 3.493796, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "pause", + "at": 3962, + "time": 3.493796, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "seeking", + "at": 3980, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "play", + "at": 4042, + "time": 6, + "paused": false, + "readyState": 1, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "waiting", + "at": 4042, + "time": 6, + "paused": false, + "readyState": 1, + "buffered": [ + [ + 1.984, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4277, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "seeked", + "at": 4277, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "canplay", + "at": 4277, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "playing", + "at": 4277, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 4528, + "time": 6.250209, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 4778, + "time": 6.500592, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 1.984, + 8 + ] + ] + } + ] + }, + "tracks": [ + { + "id": 1, + "index": 1, + "lang": "en" + }, + { + "id": 2, + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "height": 90 + }, + { + "height": 180 + } + ], + "buffered": [ + [ + 1.984, + 10 + ] + ], + "paused": false, + "seeking": false, + "time": 6.664959, + "ready": true, + "width": 320, + "height": 180, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 6.664959, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 10 + ] + ], + "levels": { + "video": 3.499, + "audio": 5.335 + }, + "processors": [ + { + "type": "video", + "level": 3.499408, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 5.335041, + "target": 4.4990000000000006, + "complete": true, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 12 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 47, + "last3": [ + { + "name": "media:timeupdate", + "at": 4778, + "time": 6.500592, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 1.984, + 8 + ] + ], + "levels": { + "video": 1.75, + "audio": 3.755 + }, + "processors": [ + { + "type": "video", + "level": 1.749791, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.7551240000000004, + "target": 2.75, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 8 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 4785, + "time": 6.500592, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 10 + ] + ], + "levels": { + "video": 3.499, + "audio": 3.505 + }, + "processors": [ + { + "type": "video", + "level": 3.499408, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.504741, + "target": 4.4990000000000006, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 4943, + "time": 6.664959, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 1.984, + 10 + ] + ], + "levels": { + "video": 3.499, + "audio": 3.505 + }, + "processors": [ + { + "type": "video", + "level": 3.499408, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.504741, + "target": 4.4990000000000006, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 10 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 1.984, + 12 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / candidate DASH / 5.2.1: real MPD decoding and UI selection", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 5801, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "021b9f587d36f5ec0dc531951a49510dd743a45e054d944de672fc54e70f2975" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "bef6f3836baac9d99d7bdf7360a2cf5841debbb5b8035a8c3021abd6b8a88bf0" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 119, + "last20": [ + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4987, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00004.m4s", + "time": 4.541046 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4988, + "mediaType": "audio", + "bufferLevel": 3.4589540000000003, + "time": 4.541046 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4988, + "mediaType": "audio", + "bufferLevel": 3.4589540000000003, + "time": 4.541046 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 4993, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00005.m4s", + "time": 4.541046 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4994, + "mediaType": "audio", + "bufferLevel": 5.464287000000001, + "time": 4.541046 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 4994, + "mediaType": "audio", + "bufferLevel": 5.464287000000001, + "time": 4.541046 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5052, + "mediaType": "video", + "bufferLevel": 3.374681, + "time": 4.625319 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5052, + "mediaType": "audio", + "bufferLevel": 5.380014, + "time": 4.625319 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 5052, + "mediaType": "audio", + "time": 4.625319 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 5052, + "mediaType": "audio", + "time": 4.625319 + }, + { + "name": "PLAYBACK_SEEKING", + "at": 5069, + "time": 6, + "seekTime": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5069, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5070, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5072, + "mediaType": "video", + "bufferLevel": 2, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5072, + "mediaType": "audio", + "bufferLevel": 4.005333, + "time": 6 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 5072, + "time": 6 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5301, + "mediaType": "video", + "bufferLevel": 1.87453, + "time": 6.12547 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5301, + "mediaType": "audio", + "bufferLevel": 3.8798630000000003, + "time": 6.12547 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5344, + "mediaType": "video", + "bufferLevel": 1.7912559999999997, + "time": 6.208744 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 5344, + "mediaType": "audio", + "bufferLevel": 3.796589, + "time": 6.208744 + } + ] + }, + "mediaEvents": { + "count": 28, + "last20": [ + { + "name": "timeupdate", + "at": 1259, + "time": 0.835513, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + }, + { + "name": "timeupdate", + "at": 1548, + "time": 1.125488, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 1839, + "time": 1.416904, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2339, + "time": 1.917114, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 2631, + "time": 2.208522, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + }, + { + "name": "timeupdate", + "at": 3135, + "time": 2.712146, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 3423, + "time": 3.00026, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 3718, + "time": 3.295659, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4007, + "time": 3.584025, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4547, + "time": 4.12512, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 6 + ] + ] + }, + { + "name": "timeupdate", + "at": 4801, + "time": 4.375467, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 5052, + "time": 4.625319, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "pause", + "at": 5054, + "time": 4.625319, + "paused": true, + "readyState": 4, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "seeking", + "at": 5069, + "time": 6, + "paused": true, + "readyState": 1, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 5072, + "time": 6, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "seeked", + "at": 5072, + "time": 6, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "canplay", + "at": 5072, + "time": 6, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "play", + "at": 5133, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "playing", + "at": 5134, + "time": 6, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + }, + { + "name": "timeupdate", + "at": 5343, + "time": 6.208744, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 3.989333, + 8 + ] + ] + } + ] + }, + "tracks": [ + { + "id": "1", + "index": 1, + "lang": "en" + }, + { + "id": "2", + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "id": "0", + "height": 90 + }, + { + "id": "1", + "height": 180 + } + ], + "buffered": [ + [ + 3.989333, + 8 + ] + ], + "paused": false, + "seeking": false, + "time": 6.418314, + "ready": true, + "width": 320, + "height": 180, + "readyState": 3, + "destroyed": 0, + "bufferState": { + "time": 6.418314, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 3.989333, + 8 + ] + ], + "levels": { + "video": 1.791, + "audio": 3.797 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 8 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 49, + "last3": [ + { + "name": "media:play", + "at": 5133, + "time": 6, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 3.989333, + 8 + ] + ], + "levels": { + "video": 2, + "audio": 4.005 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 8 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:playing", + "at": 5134, + "time": 6, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 3.989333, + 8 + ] + ], + "levels": { + "video": 2, + "audio": 4.005 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 8 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 5343, + "time": 6.208744, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 3.989333, + 8 + ] + ], + "levels": { + "video": 1.875, + "audio": 3.88 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 8 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 3.989333, + 10.005333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 4.5.2: asynchronous formatter error clears menus and explicit update recovers", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1253, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "787e4db769908a75feb5fdbe366cefa4174e88b25721d019d17c559d40a001d9" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "90f08d5c8a4836e537c8eeab68eef8e2ef16a4f43429ad6c2ced526122dad8d2" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 50, + "last20": [ + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 738, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/init-3.m4s", + "time": 0.375222 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 739, + "mediaType": "video", + "bufferLevel": 1.624778, + "time": 0.375222 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 739, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.375222 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 739, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.375222 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 743, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00001.m4s", + "time": 0.417133 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 743, + "mediaType": "audio", + "bufferLevel": 1.566867, + "time": 0.417133 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 743, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0.417133 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 743, + "mediaType": "audio", + "bufferLevel": 1.566867, + "time": 0.417133 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 749, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/init-1.m4s", + "time": 0.417133 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 749, + "mediaType": "video", + "bufferLevel": 1.582867, + "time": 0.417133 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 750, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00002.m4s", + "time": 0.417133 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 751, + "mediaType": "audio", + "bufferLevel": 3.5721999999999996, + "time": 0.417133 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 751, + "mediaType": "audio", + "bufferLevel": 3.5721999999999996, + "time": 0.417133 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 754, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00002.m4s", + "time": 0.417133 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 755, + "mediaType": "video", + "bufferLevel": 3.5828670000000002, + "time": 0.417133 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 755, + "mediaType": "video", + "bufferLevel": 3.5828670000000002, + "time": 0.417133 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 909, + "mediaType": "video", + "bufferLevel": 3.416433, + "time": 0.583567 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 909, + "mediaType": "audio", + "bufferLevel": 3.405766, + "time": 0.583567 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 909, + "mediaType": "audio", + "time": 0.583567 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 909, + "mediaType": "audio", + "oldQuality": 0, + "newQuality": 0, + "time": 0.583567 + } + ] + }, + "mediaEvents": { + "count": 8, + "last20": [ + { + "name": "loadedmetadata", + "at": 238, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "loadeddata", + "at": 247, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "canplay", + "at": 250, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "play", + "at": 325, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 326, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 327, + "time": 0.000031, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 618, + "time": 0.292156, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 909, + "time": 0.583567, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + } + ] + }, + "tracks": [ + { + "id": 1, + "index": 1, + "lang": "en" + }, + { + "id": 2, + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "height": 90 + }, + { + "height": 180 + } + ], + "buffered": [ + [ + 0, + 3.989333 + ] + ], + "paused": false, + "seeking": false, + "time": 0.66724, + "ready": true, + "width": 160, + "height": 90, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 0.66724, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.416, + "audio": 3.406 + }, + "processors": [ + { + "type": "video", + "level": 3.416433, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.405766, + "target": 4.416, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 19, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 751, + "time": 0.417133, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 1.583, + "audio": 1.567 + }, + "processors": [ + { + "type": "video", + "level": 1.582867, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.566867, + "target": 2.583, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 755, + "time": 0.417133, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 1.583, + "audio": 3.572 + }, + "processors": [ + { + "type": "video", + "level": 1.582867, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.5721999999999996, + "target": 2.583, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 909, + "time": 0.583567, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.583, + "audio": 3.572 + }, + "processors": [ + { + "type": "video", + "level": 3.5828670000000002, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.5721999999999996, + "target": 4.583, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 4.5.2: actual source topology replacement and owned cleanup", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1614, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "787e4db769908a75feb5fdbe366cefa4174e88b25721d019d17c559d40a001d9" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "90f08d5c8a4836e537c8eeab68eef8e2ef16a4f43429ad6c2ced526122dad8d2" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 99, + "last20": [ + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1261, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1262, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1262, + "mediaType": "video", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1262, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "QUALITY_CHANGE_REQUESTED", + "at": 1263, + "mediaType": "video", + "oldQuality": 0, + "newQuality": 1, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1263, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1263, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1263, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1264, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1267, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1267, + "mediaType": "video", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1267, + "mediaType": "video", + "oldQuality": null, + "newQuality": 0, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1267, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1267, + "mediaType": "audio", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1267, + "mediaType": "audio", + "oldQuality": null, + "newQuality": 0, + "time": 0 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 1268, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1270, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00002.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1274, + "mediaType": "audio", + "bufferLevel": 3.989333, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1274, + "mediaType": "audio", + "bufferLevel": 3.989333, + "time": 0 + }, + { + "name": "STREAM_TEARDOWN_COMPLETE", + "at": 1302, + "time": 0 + } + ] + }, + "mediaEvents": { + "count": 45, + "last20": [ + { + "name": "seeking", + "at": 1202, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1214, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "seeked", + "at": 1215, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "loadeddata", + "at": 1215, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "canplay", + "at": 1216, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "play", + "at": 1216, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 1216, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 1234, + "time": 0.000017, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "pause", + "at": 1234, + "time": 0.000017, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "emptied", + "at": 1237, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1240, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "loadedmetadata", + "at": 1252, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "seeking", + "at": 1253, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1267, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "seeked", + "at": 1267, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "loadeddata", + "at": 1268, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "canplay", + "at": 1269, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "play", + "at": 1270, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 1270, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "emptied", + "at": 1303, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + } + ] + }, + "levels": {}, + "buffered": [], + "paused": true, + "seeking": false, + "time": 0, + "ready": true, + "width": 0, + "height": 0, + "readyState": 0, + "destroyed": 4, + "bufferState": { + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + }, + "bufferEvents": { + "count": 63, + "last3": [ + { + "name": "media:playing", + "at": 1270, + "time": 0, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": [ + { + "type": "video", + "level": 2, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.984, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": true, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1274, + "time": 0, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": [ + { + "type": "video", + "level": 2, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.984, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:emptied", + "at": 1303, + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 5.2.1: asynchronous formatter error clears menus and explicit update recovers", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1232, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "021b9f587d36f5ec0dc531951a49510dd743a45e054d944de672fc54e70f2975" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "d527b58d2137b979b65e15809736a21dded3df4b0d821349c01b520efa1a09c4" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 50, + "last20": [ + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 761, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00002.m4s", + "time": 0.416845 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 761, + "mediaType": "video", + "bufferLevel": 3.583155, + "time": 0.416845 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 761, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.416845 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 761, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.416845 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 763, + "mediaType": "video", + "bufferLevel": 3.583155, + "time": 0.416845 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 764, + "mediaType": "video", + "bufferLevel": 3.583155, + "time": 0.416845 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 767, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00001.m4s", + "time": 0.416845 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 767, + "mediaType": "audio", + "bufferLevel": 1.567155, + "time": 0.416845 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 767, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0.416845 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 767, + "mediaType": "audio", + "bufferLevel": 1.567155, + "time": 0.416845 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 772, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00002.m4s", + "time": 0.416845 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 773, + "mediaType": "audio", + "bufferLevel": 3.572488, + "time": 0.416845 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 773, + "mediaType": "audio", + "bufferLevel": 3.572488, + "time": 0.416845 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 778, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00003.m4s", + "time": 0.416845 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 778, + "mediaType": "audio", + "bufferLevel": 5.577820999999999, + "time": 0.416845 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 778, + "mediaType": "audio", + "bufferLevel": 5.577820999999999, + "time": 0.416845 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 924, + "mediaType": "video", + "bufferLevel": 3.416572, + "time": 0.583428 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 924, + "mediaType": "audio", + "bufferLevel": 5.411238, + "time": 0.583428 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 924, + "mediaType": "audio", + "time": 0.583428 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 924, + "mediaType": "audio", + "time": 0.583428 + } + ] + }, + "mediaEvents": { + "count": 8, + "last20": [ + { + "name": "loadedmetadata", + "at": 248, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "loadeddata", + "at": 257, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "canplay", + "at": 258, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "play", + "at": 340, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 340, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 347, + "time": 0.005454, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 632, + "time": 0.292155, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 923, + "time": 0.583428, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 4 + ] + ] + } + ] + }, + "tracks": [ + { + "id": "1", + "index": 1, + "lang": "en" + }, + { + "id": "2", + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "id": "0", + "height": 90 + }, + { + "id": "1", + "height": 180 + } + ], + "buffered": [ + [ + 0, + 4 + ] + ], + "paused": false, + "seeking": false, + "time": 0.625445, + "ready": true, + "width": 160, + "height": 90, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 0.625445, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 4 + ] + ], + "levels": { + "video": 3.417, + "audio": 5.411 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 5.994666 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 19, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 773, + "time": 0.416845, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.583, + "audio": 1.567 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 778, + "time": 0.416845, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 4 + ] + ], + "levels": { + "video": 3.583, + "audio": 3.572 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 5.994666 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 923, + "time": 0.583428, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 4 + ] + ], + "levels": { + "video": 3.583, + "audio": 5.578 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 5.994666 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 5.2.1: actual source topology replacement and owned cleanup", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1698, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "021b9f587d36f5ec0dc531951a49510dd743a45e054d944de672fc54e70f2975" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "d527b58d2137b979b65e15809736a21dded3df4b0d821349c01b520efa1a09c4" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 99, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1317, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1320, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1320, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1320, + "mediaType": "video", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1320, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1321, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1321, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1321, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1321, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1325, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1325, + "mediaType": "video", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1325, + "mediaType": "video", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1325, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1325, + "mediaType": "audio", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1325, + "mediaType": "audio", + "time": 0 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 1326, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1331, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00002.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1332, + "mediaType": "audio", + "bufferLevel": 3.989333, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1332, + "mediaType": "audio", + "bufferLevel": 3.989333, + "time": 0 + }, + { + "name": "STREAM_TEARDOWN_COMPLETE", + "at": 1365, + "time": 0 + } + ] + }, + "mediaEvents": { + "count": 45, + "last20": [ + { + "name": "seeking", + "at": 1242, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1256, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "seeked", + "at": 1257, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "loadeddata", + "at": 1257, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "canplay", + "at": 1258, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "play", + "at": 1258, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 1258, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 1279, + "time": 0.000016, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "pause", + "at": 1279, + "time": 0.000016, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "emptied", + "at": 1284, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1284, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "loadedmetadata", + "at": 1306, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "seeking", + "at": 1307, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1325, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "seeked", + "at": 1326, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "loadeddata", + "at": 1326, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "canplay", + "at": 1328, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "play", + "at": 1331, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 1331, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "emptied", + "at": 1366, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + } + ] + }, + "levels": {}, + "buffered": [], + "paused": true, + "seeking": false, + "time": 0, + "ready": true, + "width": 0, + "height": 0, + "readyState": 0, + "destroyed": 4, + "bufferState": { + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + }, + "bufferEvents": { + "count": 63, + "last3": [ + { + "name": "media:playing", + "at": 1331, + "time": 0, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": true, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1332, + "time": 0, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:emptied", + "at": 1366, + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "NS_BINDING_ABORTED" + } + }, + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "NS_BINDING_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 4.5.2: asynchronous formatter error clears menus and explicit update recovers", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1220, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "787e4db769908a75feb5fdbe366cefa4174e88b25721d019d17c559d40a001d9" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "f38fe6182adcd493ca10fc858fa9811287c6d5083edc08e400e7d3bcf8895a1b" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 52, + "last20": [ + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 747, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/init-3.m4s", + "time": 0.375692 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 748, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.375692 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 753, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00001.m4s", + "time": 0.375692 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 754, + "mediaType": "audio", + "bufferLevel": 1.608308, + "time": 0.375692 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 754, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0.375692 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 754, + "mediaType": "audio", + "bufferLevel": 1.608308, + "time": 0.375692 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 759, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00002.m4s", + "time": 0.375692 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 759, + "mediaType": "audio", + "bufferLevel": 3.613641, + "time": 0.375692 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 759, + "mediaType": "audio", + "bufferLevel": 3.613641, + "time": 0.375692 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 769, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/init-1.m4s", + "time": 0.417295 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 769, + "mediaType": "video", + "bufferLevel": 1.582705, + "time": 0.417295 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 773, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-1-00002.m4s", + "time": 0.417295 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 775, + "mediaType": "video", + "bufferLevel": 3.582705, + "time": 0.417295 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 775, + "mediaType": "video", + "bufferLevel": 3.582705, + "time": 0.417295 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 928, + "mediaType": "video", + "bufferLevel": 3.416214, + "time": 0.583786 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 928, + "mediaType": "audio", + "bufferLevel": 3.405547, + "time": 0.583786 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 928, + "mediaType": "audio", + "time": 0.583786 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 928, + "mediaType": "audio", + "oldQuality": 0, + "newQuality": 0, + "time": 0.583786 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 955, + "mediaType": "video", + "bufferLevel": 3.416214, + "time": 0.583786 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 955, + "mediaType": "audio", + "bufferLevel": 3.405547, + "time": 0.583786 + } + ] + }, + "mediaEvents": { + "count": 8, + "last20": [ + { + "name": "loadedmetadata", + "at": 252, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "loadeddata", + "at": 266, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "canplay", + "at": 270, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "play", + "at": 345, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 345, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 345, + "time": 0.000029, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 636, + "time": 0.292198, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 928, + "time": 0.583786, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + } + ] + }, + "tracks": [ + { + "id": 1, + "index": 1, + "lang": "en" + }, + { + "id": 2, + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "height": 90 + }, + { + "height": 180 + } + ], + "buffered": [ + [ + 0, + 3.989333 + ] + ], + "paused": false, + "seeking": false, + "time": 0.625089, + "ready": true, + "width": 160, + "height": 90, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 0.625089, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.416, + "audio": 3.406 + }, + "processors": [ + { + "type": "video", + "level": 3.416214, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.405547, + "target": 4.416, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 19, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 769, + "time": 0.417295, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 1.708, + "audio": 3.614 + }, + "processors": [ + { + "type": "video", + "level": 1.707802, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.613641, + "target": 2.708, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 775, + "time": 0.417295, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 1.583, + "audio": 3.614 + }, + "processors": [ + { + "type": "video", + "level": 1.582705, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.613641, + "target": 2.583, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 928, + "time": 0.583786, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.583, + "audio": 3.614 + }, + "processors": [ + { + "type": "video", + "level": 3.582705, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 3.613641, + "target": 4.583, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 4.5.2: actual source topology replacement and owned cleanup", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 2281, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "787e4db769908a75feb5fdbe366cefa4174e88b25721d019d17c559d40a001d9" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "f38fe6182adcd493ca10fc858fa9811287c6d5083edc08e400e7d3bcf8895a1b" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 99, + "last20": [ + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1302, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1303, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1303, + "mediaType": "video", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1304, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "QUALITY_CHANGE_REQUESTED", + "at": 1304, + "mediaType": "video", + "oldQuality": 0, + "newQuality": 1, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1305, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1306, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1306, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1306, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1309, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1309, + "mediaType": "video", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1309, + "mediaType": "video", + "oldQuality": null, + "newQuality": 0, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1309, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1309, + "mediaType": "audio", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1309, + "mediaType": "audio", + "oldQuality": null, + "newQuality": 0, + "time": 0 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 1310, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1313, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00002.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1314, + "mediaType": "audio", + "bufferLevel": 3.989333, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1314, + "mediaType": "audio", + "bufferLevel": 3.989333, + "time": 0 + }, + { + "name": "STREAM_TEARDOWN_COMPLETE", + "at": 1344, + "time": 0 + } + ] + }, + "mediaEvents": { + "count": 45, + "last20": [ + { + "name": "seeking", + "at": 1232, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1247, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "seeked", + "at": 1248, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "loadeddata", + "at": 1248, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "canplay", + "at": 1249, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "play", + "at": 1250, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 1250, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 1271, + "time": 0.000017, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "pause", + "at": 1271, + "time": 0.000017, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "emptied", + "at": 1276, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1276, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "loadedmetadata", + "at": 1292, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "seeking", + "at": 1293, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1309, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "seeked", + "at": 1310, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "loadeddata", + "at": 1310, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "canplay", + "at": 1312, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "play", + "at": 1313, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 1313, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "emptied", + "at": 1345, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + } + ] + }, + "levels": {}, + "buffered": [], + "paused": true, + "seeking": false, + "time": 0, + "ready": true, + "width": 0, + "height": 0, + "readyState": 0, + "destroyed": 4, + "bufferState": { + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + }, + "bufferEvents": { + "count": 63, + "last3": [ + { + "name": "media:playing", + "at": 1313, + "time": 0, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": [ + { + "type": "video", + "level": 2, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.984, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": true, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1314, + "time": 0, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": [ + { + "type": "video", + "level": 2, + "target": 2, + "complete": false, + "pruning": false, + "hasTarget": true + }, + { + "type": "audio", + "level": 1.984, + "target": 3, + "complete": false, + "pruning": false, + "hasTarget": true + } + ], + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:emptied", + "at": 1345, + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [ + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported", + "Settings parameter streaming.buffer.bufferTimeDefault is not supported" + ], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "NS_BINDING_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 5.2.1: asynchronous formatter error clears menus and explicit update recovers", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1908, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "021b9f587d36f5ec0dc531951a49510dd743a45e054d944de672fc54e70f2975" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "bef6f3836baac9d99d7bdf7360a2cf5841debbb5b8035a8c3021abd6b8a88bf0" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 52, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 762, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0.416796 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 767, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00001.m4s", + "time": 0.416796 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 767, + "mediaType": "audio", + "bufferLevel": 1.567204, + "time": 0.416796 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 767, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0.416796 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 767, + "mediaType": "audio", + "bufferLevel": 1.567204, + "time": 0.416796 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 774, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00002.m4s", + "time": 0.416796 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 774, + "mediaType": "audio", + "bufferLevel": 3.5725369999999996, + "time": 0.416796 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 774, + "mediaType": "audio", + "bufferLevel": 3.5725369999999996, + "time": 0.416796 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 777, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00002.m4s", + "time": 0.416796 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 777, + "mediaType": "video", + "bufferLevel": 3.583204, + "time": 0.416796 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 777, + "mediaType": "video", + "bufferLevel": 3.583204, + "time": 0.416796 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1176, + "mediaType": "video", + "bufferLevel": 3.166398, + "time": 0.833602 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1176, + "mediaType": "audio", + "bufferLevel": 3.155731, + "time": 0.833602 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1176, + "mediaType": "audio", + "time": 0.833602 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1177, + "mediaType": "audio", + "time": 0.833602 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1287, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-3-00003.m4s", + "time": 0.916969 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1288, + "mediaType": "video", + "bufferLevel": 3.083031, + "time": 0.916969 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1288, + "mediaType": "audio", + "bufferLevel": 5.077697, + "time": 0.916969 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1288, + "mediaType": "audio", + "bufferLevel": 5.077697, + "time": 0.916969 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1288, + "mediaType": "audio", + "bufferLevel": 5.077697, + "time": 0.916969 + } + ] + }, + "mediaEvents": { + "count": 8, + "last20": [ + { + "name": "loadedmetadata", + "at": 262, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "loadeddata", + "at": 271, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "canplay", + "at": 275, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "play", + "at": 342, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 343, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 347, + "time": 0.003745, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 635, + "time": 0.291994, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 1176, + "time": 0.833602, + "paused": false, + "readyState": 4, + "buffered": [ + [ + 0, + 3.989333 + ] + ] + } + ] + }, + "tracks": [ + { + "id": "1", + "index": 1, + "lang": "en" + }, + { + "id": "2", + "index": 2, + "lang": "fr" + } + ], + "levels": [ + { + "id": "0", + "height": 90 + }, + { + "id": "1", + "height": 180 + } + ], + "buffered": [ + [ + 0, + 4 + ] + ], + "paused": false, + "seeking": false, + "time": 1.292106, + "ready": true, + "width": 160, + "height": 90, + "readyState": 4, + "destroyed": 0, + "bufferState": { + "time": 1.292106, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 4 + ] + ], + "levels": { + "video": 3.083, + "audio": 5.078 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 5.994666 + ] + ], + "timestampOffset": 0 + } + ] + }, + "bufferEvents": { + "count": 19, + "last3": [ + { + "name": "sourcebuffer:updateend", + "at": 777, + "time": 0.416796, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 1.583, + "audio": 3.573 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:timeupdate", + "at": 1176, + "time": 0.833602, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 3.989333 + ] + ], + "levels": { + "video": 3.583, + "audio": 3.573 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1288, + "time": 0.916969, + "paused": false, + "seeking": false, + "readyState": 4, + "video": [ + [ + 0, + 4 + ] + ], + "levels": { + "video": 3.083, + "audio": 5.078 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 4 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 5.994666 + ] + ], + "timestampOffset": 0 + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 5.2.1: actual source topology replacement and owned cleanup", + "project": "firefox", + "status": "passed", + "annotations": [], + "retry": 0, + "duration": 1692, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "021b9f587d36f5ec0dc531951a49510dd743a45e054d944de672fc54e70f2975" + }, + { + "name": "dash-plugin-inputs", + "inputRef": "bef6f3836baac9d99d7bdf7360a2cf5841debbb5b8035a8c3021abd6b8a88bf0" + }, + { + "name": "dash-sdk-state", + "value": { + "errors": [], + "events": { + "count": 105, + "last20": [ + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1377, + "mediaType": "audio", + "bufferLevel": 0, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1379, + "mediaType": "video", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1379, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1379, + "mediaType": "video", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1379, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1382, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00001.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1382, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_STATE_CHANGED", + "at": 1382, + "mediaType": "audio", + "state": "bufferLoaded", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1382, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1385, + "mediaType": "video", + "bufferLevel": 2, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1385, + "mediaType": "video", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1385, + "mediaType": "video", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1385, + "mediaType": "audio", + "bufferLevel": 1.984, + "time": 0 + }, + { + "name": "TRACK_CHANGE_RENDERED", + "at": 1385, + "mediaType": "audio", + "time": 0 + }, + { + "name": "QUALITY_CHANGE_RENDERED", + "at": 1385, + "mediaType": "audio", + "time": 0 + }, + { + "name": "PLAYBACK_SEEKED", + "at": 1386, + "time": 0 + }, + { + "name": "FRAGMENT_LOADING_COMPLETED", + "at": 1388, + "mediaType": "audio", + "url": "http://127.0.0.1:8084/dash-fixture/chunk-2-00002.m4s", + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1389, + "mediaType": "audio", + "bufferLevel": 3.989333, + "time": 0 + }, + { + "name": "BUFFER_LEVEL_UPDATED", + "at": 1390, + "mediaType": "audio", + "bufferLevel": 3.989333, + "time": 0 + }, + { + "name": "STREAM_TEARDOWN_COMPLETE", + "at": 1418, + "time": 0 + } + ] + }, + "mediaEvents": { + "count": 45, + "last20": [ + { + "name": "seeking", + "at": 1303, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1317, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "seeked", + "at": 1318, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "loadeddata", + "at": 1318, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "canplay", + "at": 1319, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "play", + "at": 1319, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 1319, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "timeupdate", + "at": 1338, + "time": 0.000019, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "pause", + "at": 1339, + "time": 0.000019, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "emptied", + "at": 1343, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1343, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + }, + { + "name": "loadedmetadata", + "at": 1368, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "seeking", + "at": 1368, + "time": 0, + "paused": true, + "readyState": 1, + "buffered": [] + }, + { + "name": "timeupdate", + "at": 1385, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "seeked", + "at": 1385, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "loadeddata", + "at": 1386, + "time": 0, + "paused": true, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "canplay", + "at": 1387, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 1.984 + ] + ] + }, + { + "name": "play", + "at": 1388, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "playing", + "at": 1388, + "time": 0, + "paused": false, + "readyState": 3, + "buffered": [ + [ + 0, + 2 + ] + ] + }, + { + "name": "emptied", + "at": 1420, + "time": 0, + "paused": true, + "readyState": 0, + "buffered": [] + } + ] + }, + "levels": {}, + "buffered": [], + "paused": true, + "seeking": false, + "time": 0, + "ready": true, + "width": 0, + "height": 0, + "readyState": 0, + "destroyed": 4, + "bufferState": { + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + }, + "bufferEvents": { + "count": 64, + "last3": [ + { + "name": "media:playing", + "at": 1388, + "time": 0, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": true, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "sourcebuffer:updateend", + "at": 1389, + "time": 0, + "paused": false, + "seeking": false, + "readyState": 3, + "video": [ + [ + 0, + 2 + ] + ], + "levels": { + "video": 2, + "audio": 1.984 + }, + "processors": { + "unavailable": "TypeError: dash.getActiveStream().getProcessors is not a function" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 2 + ] + ], + "timestampOffset": 0 + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "open", + "updating": false, + "ranges": [ + [ + 0, + 3.989333 + ] + ], + "timestampOffset": 0 + } + ] + }, + { + "name": "media:emptied", + "at": 1420, + "time": 0, + "paused": true, + "seeking": false, + "readyState": 0, + "video": [], + "levels": { + "video": 0, + "audio": 0 + }, + "processors": { + "unavailable": "You must first call initialize() and set a source before calling this method" + }, + "buffers": [ + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "video/mp4;codecs=\"avc1.42c01e\"", + "sourceState": "closed", + "error": "InvalidStateError" + }, + { + "mime": "audio/mp4;codecs=\"mp4a.40.2\"", + "sourceState": "closed", + "error": "InvalidStateError" + } + ] + } + ] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "155.0", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:155.0) Gecko/20100101 Firefox/155.0", + "media": { + "source": "", + "width": 0, + "height": 0, + "duration": null, + "currentTime": 0 + } + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [ + { + "url": "http://127.0.0.1:8084/dash-fixture/chunk-0-00001.m4s", + "resourceType": "xhr", + "failure": { + "errorText": "NS_BINDING_ABORTED" + } + } + ] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / candidate DASH / 4.5.2: real MPD decoding and UI selection", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 460, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "782c4d36f5d06fab7d002557abc1b418d35caa85bccfcb0678b87313d90f48b8" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / candidate DASH / 5.2.1: real MPD decoding and UI selection", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 461, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "2f5ca82f1811d3d6edf0acfd716990070aeb9adebc416141888b4efd5d51ba47" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / candidate DASH / 4.5.2: real MPD decoding and UI selection", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 426, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "782c4d36f5d06fab7d002557abc1b418d35caa85bccfcb0678b87313d90f48b8" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / candidate DASH / 5.2.1: real MPD decoding and UI selection", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 489, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "2f5ca82f1811d3d6edf0acfd716990070aeb9adebc416141888b4efd5d51ba47" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 4.5.2: asynchronous formatter error clears menus and explicit update recovers", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 437, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "782c4d36f5d06fab7d002557abc1b418d35caa85bccfcb0678b87313d90f48b8" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 4.5.2: actual source topology replacement and owned cleanup", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 413, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "782c4d36f5d06fab7d002557abc1b418d35caa85bccfcb0678b87313d90f48b8" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 5.2.1: asynchronous formatter error clears menus and explicit update recovers", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 412, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "2f5ca82f1811d3d6edf0acfd716990070aeb9adebc416141888b4efd5d51ba47" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / published core / DASH 5.2.1: actual source topology replacement and owned cleanup", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 437, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "2f5ca82f1811d3d6edf0acfd716990070aeb9adebc416141888b4efd5d51ba47" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=published", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 4.5.2: asynchronous formatter error clears menus and explicit update recovers", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 430, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "782c4d36f5d06fab7d002557abc1b418d35caa85bccfcb0678b87313d90f48b8" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 4.5.2: actual source topology replacement and owned cleanup", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 410, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "782c4d36f5d06fab7d002557abc1b418d35caa85bccfcb0678b87313d90f48b8" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 5.2.1: asynchronous formatter error clears menus and explicit update recovers", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 415, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "2f5ca82f1811d3d6edf0acfd716990070aeb9adebc416141888b4efd5d51ba47" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + }, + { + "title": "dash-sdk.spec.js / candidate core / DASH 5.2.1: actual source topology replacement and owned cleanup", + "project": "webkit", + "status": "skipped", + "annotations": [ + { + "type": "skip", + "description": "Actual SDK reports no MediaSource support; this engine has no DASH playback acceptance", + "location": { + "file": "D:\\github\\ArtPlayer\\test\\browser\\dash-sdk.spec.js", + "line": 129, + "column": 8 + } + } + ], + "retry": 0, + "duration": 425, + "errors": [], + "attachments": [ + { + "name": "dash-sdk-inputs", + "inputRef": "2f5ca82f1811d3d6edf0acfd716990070aeb9adebc416141888b4efd5d51ba47" + }, + { + "name": "dash-sdk-state", + "value": { + "buffered": [], + "bufferState": { + "video": [], + "levels": null, + "buffers": [] + }, + "bufferEvents": { + "count": 0, + "last3": [] + } + } + }, + { + "name": "browser-evidence", + "value": { + "browser": "26.6", + "platform": "win32", + "state": { + "url": "http://127.0.0.1:8084/test/player.html?core=candidate", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15", + "media": null + }, + "errors": [], + "consoleErrors": [], + "failedRequests": [] + } + } + ] + } + ] + } + ], + "inputAttachments": { + "6dd66977a65816b83e7f78cf6822b4f30f5eeba638f738e7e1be4fef825299c7": { + "published": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "796ae3e84c8a63f22368c43549332d706b33e5cd2d8c9019ec17da61db3f9390", + "candidate": { + "kind": "source-build", + "file": null, + "sha256": "796ae3e84c8a63f22368c43549332d706b33e5cd2d8c9019ec17da61db3f9390" + }, + "scope": "Real ArtPlayer DOM and native MP4 with controlled SDK methods. No dash.js instance, MPD, ABR or adaptive media validation.", + "core": "published", + "plugin": "candidate", + "selected": { + "kind": "source-build", + "file": null, + "sha256": "796ae3e84c8a63f22368c43549332d706b33e5cd2d8c9019ec17da61db3f9390" + } + }, + "0abbb3a2be61465d01ae68ce0ca7ca646a2dd5731656f24ae1f1a8269cc8c726": { + "published": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "796ae3e84c8a63f22368c43549332d706b33e5cd2d8c9019ec17da61db3f9390", + "candidate": { + "kind": "source-build", + "file": null, + "sha256": "796ae3e84c8a63f22368c43549332d706b33e5cd2d8c9019ec17da61db3f9390" + }, + "scope": "Real ArtPlayer DOM and native MP4 with controlled SDK methods. No dash.js instance, MPD, ABR or adaptive media validation.", + "core": "candidate", + "plugin": "candidate", + "selected": { + "kind": "source-build", + "file": null, + "sha256": "796ae3e84c8a63f22368c43549332d706b33e5cd2d8c9019ec17da61db3f9390" + } + }, + "45eb529a8430e1007e799d5be1c12f043690acd2c6934be37e272da1fc64e7cd": { + "published": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57", + "candidate": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57" + }, + "scope": "Real ArtPlayer DOM and native MP4 with controlled SDK methods. No dash.js instance, MPD, ABR or adaptive media validation.", + "core": "published", + "plugin": "candidate", + "selected": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57" + } + }, + "9fafcaaac39b0b06fee4d4cbc39c2ba97ecb518e67779e072b4e4e070b1f7030": { + "published": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57", + "candidate": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57" + }, + "scope": "Real ArtPlayer DOM and native MP4 with controlled SDK methods. No dash.js instance, MPD, ABR or adaptive media validation.", + "core": "published", + "plugin": "published", + "selected": { + "kind": "published", + "sha256": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145" + } + }, + "c6fa2dbd79452345587b42a9e0e1d1b185c87e2def70ab753c49832aab7c8fbe": { + "published": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57", + "candidate": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57" + }, + "scope": "Real ArtPlayer DOM and native MP4 with controlled SDK methods. No dash.js instance, MPD, ABR or adaptive media validation.", + "core": "candidate", + "plugin": "candidate", + "selected": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57" + } + }, + "5c3ba9e96bb64ec02a78a12810ff016495d43e7b6d4fa76a22f30a0de613e52c": { + "published": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57", + "candidate": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57" + }, + "scope": "Real ArtPlayer DOM and native MP4 with controlled SDK methods. No dash.js instance, MPD, ABR or adaptive media validation.", + "core": "candidate", + "plugin": "published", + "selected": { + "kind": "published", + "sha256": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145" + } + }, + "edc94c18f3f538e2c977e1af98348ffa5cb13f8b49c7dfe6630e7bd59c528b27": { + "published": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e", + "candidate": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js", + "sha256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e" + }, + "scope": "Real ArtPlayer DOM and native MP4 with controlled SDK methods. No dash.js instance, MPD, ABR or adaptive media validation.", + "core": "published", + "plugin": "candidate", + "selected": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js", + "sha256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e" + } + }, + "66092a7cd847ac983fc7ab57305f618370dcdfd3a39dffdd31cf331ef2f454a9": { + "published": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e", + "candidate": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js", + "sha256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e" + }, + "scope": "Real ArtPlayer DOM and native MP4 with controlled SDK methods. No dash.js instance, MPD, ABR or adaptive media validation.", + "core": "candidate", + "plugin": "candidate", + "selected": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js", + "sha256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e" + } + }, + "5f0a1f54cc440a3624ebdb4a3890ddc672af8f3285a40347cedd43a84050ebbb": { + "sdk": { + "name": "dashjs", + "version": "4.5.2", + "tarball": "https://registry.npmjs.org/dashjs/-/dashjs-4.5.2.tgz", + "integrity": "sha512-WXPk0lPDSaHjiSVoVRh2jQPiMmB1alKUH8hV2CVmaI0vPUeT1wIY7madVE38SthfOmwS9IJViv1RrxrxdGjElg==", + "sha256": "9a0944c48deb0fd8f92b0eea436c5b0d0aea9237c7da0078c0310f1430d0a31f", + "files": { + "package/package.json": "62b2295c4a92ec996ff066f7e5739893c46fce44d80c940c61ced9d5710226d1", + "package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28", + "package/index.d.ts": "13e6bd0a3c77e2db9378e355915929ed3dda5d8de9c48f446c9d3e9fb7154dbd", + "package/dist/dash.all.min.js": "17849c05872997095a63d74bde3fed6f79c14c6a48cdf904833d880b93a476da" + } + }, + "codeMember": "package/dist/dash.all.min.js", + "pluginRelease": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "candidateSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57", + "availableCandidate": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57" + }, + "pluginLoaded": false, + "media": { + "kind": "generated-dash-media", + "version": "ffmpeg version 2025-11-12-git-6cdd2cbe32-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers", + "duration": 12, + "videoHeights": [ + 90, + 180 + ], + "audio": [ + { + "lang": "en", + "frequency": 440 + }, + { + "lang": "fr", + "frequency": 880 + } + ], + "commands": [ + [ + "-hide_banner", + "-loglevel", + "error", + "-n", + "-f", + "lavfi", + "-i", + "testsrc2=size=160x90:rate=24", + "-f", + "lavfi", + "-i", + "testsrc2=size=320x180:rate=24", + "-f", + "lavfi", + "-i", + "sine=frequency=440:sample_rate=48000", + "-f", + "lavfi", + "-i", + "sine=frequency=880:sample_rate=48000", + "-t", + "12", + "-map", + "0:v", + "-map", + "1:v", + "-map", + "2:a", + "-map", + "3:a", + "-c:v", + "libx264", + "-pix_fmt", + "yuv420p", + "-profile:v", + "baseline", + "-level:v", + "3.0", + "-b:v:0", + "150k", + "-b:v:1", + "350k", + "-g", + "48", + "-keyint_min", + "48", + "-sc_threshold", + "0", + "-c:a", + "aac", + "-b:a", + "48k", + "-ac", + "2", + "-metadata:s:a:0", + "language=en", + "-metadata:s:a:1", + "language=fr", + "-f", + "dash", + "-seg_duration", + "2", + "-use_template", + "1", + "-use_timeline", + "1", + "-adaptation_sets", + "id=0,streams=0,1 id=1,streams=2 id=2,streams=3", + "-init_seg_name", + "init-$RepresentationID$.m4s", + "-media_seg_name", + "chunk-$RepresentationID$-$Number%05d$.m4s", + "master.mpd" + ] + ], + "files": { + "chunk-0-00001.m4s": { + "sha256": "0bc9f5c9bfc50526dfdc0241ac5d2da2332097d738450a41887bceb8d0b1f305", + "bytes": 32029 + }, + "chunk-0-00002.m4s": { + "sha256": "a3baefa3f68381a844419beabdee422dc4298c102a7b45a9da16d89b74f461fc", + "bytes": 41742 + }, + "chunk-0-00003.m4s": { + "sha256": "f2540e0a1871967a910e25567aa19ce9aaef002bba84f8cdda8ca9bbc8abd40e", + "bytes": 36346 + }, + "chunk-0-00004.m4s": { + "sha256": "21905f15e90b22cd868d55924d44723b9a02a7b1132384a60b526e49646e9e07", + "bytes": 41226 + }, + "chunk-0-00005.m4s": { + "sha256": "9d0cb0486da40f3a4e6819a5964d4db945305d328cce6ce2c21a60a57c413f42", + "bytes": 35119 + }, + "chunk-0-00006.m4s": { + "sha256": "f52fd4ecf9d0276261b183c6e44096ad2f28267a5f2a0a15ac65cec8705b605f", + "bytes": 38357 + }, + "chunk-1-00001.m4s": { + "sha256": "389d6f02741679ed7ef43f529bbec746b5e1b62a97519ca80be16f114e76845c", + "bytes": 72180 + }, + "chunk-1-00002.m4s": { + "sha256": "5cc737843b84a064acb65d985b2ea7ff151c26937f5bf48cacdf0f39c9e60122", + "bytes": 94545 + }, + "chunk-1-00003.m4s": { + "sha256": "2a1b56d88858f3d9b6070ab8645d878b12f8baa29c567b038d190f89c2f863e6", + "bytes": 84303 + }, + "chunk-1-00004.m4s": { + "sha256": "be7198ae2b2d04e27748fcbe8669734a7ead3a51c25fb7f1c9d981740bf5f92d", + "bytes": 95672 + }, + "chunk-1-00005.m4s": { + "sha256": "502e3dd1ce6ca85c442ba849e605a1b0cb1ca23472af6fe6e0dacaea8a38d5dc", + "bytes": 82244 + }, + "chunk-1-00006.m4s": { + "sha256": "34d6e27576dc3c834d0aff9e5925581a899c354c4fdd34fc639cc63f9807c62f", + "bytes": 90139 + }, + "chunk-2-00001.m4s": { + "sha256": "23eaaffa433ed1808f57b95e14b85fba15b2d7e8eea6c51fd02ce409dbccf7de", + "bytes": 12437 + }, + "chunk-2-00002.m4s": { + "sha256": "f40e15cb8d377dcd4eeac508493694e4a131fd4a0d970ff2636b1b40fc728f0a", + "bytes": 12641 + }, + "chunk-2-00003.m4s": { + "sha256": "e1a1f49359d23f460f9b0a32df5f5da7ba6d234fe59cc4a9c0a5f7e201fed643", + "bytes": 12663 + }, + "chunk-2-00004.m4s": { + "sha256": "a5b0625a33a62cf2b73414c92b7c9f6ac945650d3ff6dadaff26705d10920bf6", + "bytes": 12657 + }, + "chunk-2-00005.m4s": { + "sha256": "ed446e2eb99474765e9b0eb40728bd5d79eba79e74b5fa688a0dbddfb3f4b82a", + "bytes": 12682 + }, + "chunk-2-00006.m4s": { + "sha256": "6b969d834a87836f84eac8769fba2962c8303aacbb832f4710e642a371c6e38e", + "bytes": 13008 + }, + "chunk-3-00001.m4s": { + "sha256": "9171ffc0421c4dc0f874eb8801c2df0b4bf312981a8841455b13081cca1b0feb", + "bytes": 12453 + }, + "chunk-3-00002.m4s": { + "sha256": "da7a827ad08e9b48647f2bc6c90d5db1b53ef15965575d38b7e9facbddd37fc1", + "bytes": 12644 + }, + "chunk-3-00003.m4s": { + "sha256": "3d5f9fd99a21ce3d59f11416936d79252a12bc95560988f1abe4ccf802733ebc", + "bytes": 12643 + }, + "chunk-3-00004.m4s": { + "sha256": "eeca9b9a3f91c8491ad663cb5d686b168c530dc771d46c35ff5919b3a8b4ee37", + "bytes": 12678 + }, + "chunk-3-00005.m4s": { + "sha256": "747526362131944d696b09059ba0a19c106e363a30fa07cf7ec86081c4e277e8", + "bytes": 12582 + }, + "chunk-3-00006.m4s": { + "sha256": "5234fd26fd201536c839a1740d3bd57a5fe8c86e3e180f7f1e4c70cc41f30072", + "bytes": 13077 + }, + "init-0.m4s": { + "sha256": "d0a16341c48647e27452db83de88f88209dbec7e539e159e5057469d28980881", + "bytes": 827 + }, + "init-1.m4s": { + "sha256": "3e814e958e68e98f947883a2b7511a36fb06db127ea074ccd569af0200839948", + "bytes": 828 + }, + "init-2.m4s": { + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423", + "bytes": 764 + }, + "init-3.m4s": { + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423", + "bytes": 764 + }, + "master.mpd": { + "sha256": "6a4cb0a956861dee9aff1c592525c41fb4cf660be86b4c3892a91a46aeec53ef", + "bytes": 2986 + }, + "single.mpd": { + "sha256": "bdbd8a027281cefec1d4021d7e5a2731875188eb331612bc35eef75f265a700b", + "bytes": 1227 + }, + "video-only.mpd": { + "sha256": "b7f8d37c023810ecc38a2564d4644eda4b5a0b0dd2d10dfd39f70a4b49be0566", + "bytes": 1622 + } + } + }, + "capability": { + "sdk": true, + "mse": "function", + "managed": "undefined", + "avc": true, + "aac": true + } + }, + "606d8a83abec36bf0859c00d075f586517f3e7902a2fdf94dd31aadfcaaa0230": { + "version": "4.5.2", + "core": "published", + "plugin": "candidate", + "selected": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57" + } + }, + "aeead862037b18c9ccc504049a16283bd50d2dabb3453f79bb50d992ef2bee6b": { + "sdk": { + "name": "dashjs", + "version": "5.2.1", + "tarball": "https://registry.npmjs.org/dashjs/-/dashjs-5.2.1.tgz", + "integrity": "sha512-axcJmLeJCTJMLUfQRErUJB1KOiU5iHF+DMLBc3FKeox1HPYtGUQlC6Xm5Mm6vhBUR3CHHLIPOqw0JDIqMtP+Dw==", + "sha256": "4eacb0cc3525276666ca3f084611cdabb5a2264d128dfe0750fe106fbddd088f", + "files": { + "package/package.json": "f89fa389855d2a21b380fa69c84735da25bd93e3b9d7c39bd0d634493425fd8c", + "package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28", + "package/index.d.ts": "03b420509a480f893bf8253232cfd28428dc0be5f254fefe99a91e65847c010e", + "package/dist/modern/umd/dash.all.min.js": "3a22b1f4576ab294f41e56f156cec7972a5f83edda379416778293ff22d2eb49" + } + }, + "codeMember": "package/dist/modern/umd/dash.all.min.js", + "pluginRelease": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "candidateSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57", + "availableCandidate": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57" + }, + "pluginLoaded": false, + "media": { + "kind": "generated-dash-media", + "version": "ffmpeg version 2025-11-12-git-6cdd2cbe32-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers", + "duration": 12, + "videoHeights": [ + 90, + 180 + ], + "audio": [ + { + "lang": "en", + "frequency": 440 + }, + { + "lang": "fr", + "frequency": 880 + } + ], + "commands": [ + [ + "-hide_banner", + "-loglevel", + "error", + "-n", + "-f", + "lavfi", + "-i", + "testsrc2=size=160x90:rate=24", + "-f", + "lavfi", + "-i", + "testsrc2=size=320x180:rate=24", + "-f", + "lavfi", + "-i", + "sine=frequency=440:sample_rate=48000", + "-f", + "lavfi", + "-i", + "sine=frequency=880:sample_rate=48000", + "-t", + "12", + "-map", + "0:v", + "-map", + "1:v", + "-map", + "2:a", + "-map", + "3:a", + "-c:v", + "libx264", + "-pix_fmt", + "yuv420p", + "-profile:v", + "baseline", + "-level:v", + "3.0", + "-b:v:0", + "150k", + "-b:v:1", + "350k", + "-g", + "48", + "-keyint_min", + "48", + "-sc_threshold", + "0", + "-c:a", + "aac", + "-b:a", + "48k", + "-ac", + "2", + "-metadata:s:a:0", + "language=en", + "-metadata:s:a:1", + "language=fr", + "-f", + "dash", + "-seg_duration", + "2", + "-use_template", + "1", + "-use_timeline", + "1", + "-adaptation_sets", + "id=0,streams=0,1 id=1,streams=2 id=2,streams=3", + "-init_seg_name", + "init-$RepresentationID$.m4s", + "-media_seg_name", + "chunk-$RepresentationID$-$Number%05d$.m4s", + "master.mpd" + ] + ], + "files": { + "chunk-0-00001.m4s": { + "sha256": "0bc9f5c9bfc50526dfdc0241ac5d2da2332097d738450a41887bceb8d0b1f305", + "bytes": 32029 + }, + "chunk-0-00002.m4s": { + "sha256": "a3baefa3f68381a844419beabdee422dc4298c102a7b45a9da16d89b74f461fc", + "bytes": 41742 + }, + "chunk-0-00003.m4s": { + "sha256": "f2540e0a1871967a910e25567aa19ce9aaef002bba84f8cdda8ca9bbc8abd40e", + "bytes": 36346 + }, + "chunk-0-00004.m4s": { + "sha256": "21905f15e90b22cd868d55924d44723b9a02a7b1132384a60b526e49646e9e07", + "bytes": 41226 + }, + "chunk-0-00005.m4s": { + "sha256": "9d0cb0486da40f3a4e6819a5964d4db945305d328cce6ce2c21a60a57c413f42", + "bytes": 35119 + }, + "chunk-0-00006.m4s": { + "sha256": "f52fd4ecf9d0276261b183c6e44096ad2f28267a5f2a0a15ac65cec8705b605f", + "bytes": 38357 + }, + "chunk-1-00001.m4s": { + "sha256": "389d6f02741679ed7ef43f529bbec746b5e1b62a97519ca80be16f114e76845c", + "bytes": 72180 + }, + "chunk-1-00002.m4s": { + "sha256": "5cc737843b84a064acb65d985b2ea7ff151c26937f5bf48cacdf0f39c9e60122", + "bytes": 94545 + }, + "chunk-1-00003.m4s": { + "sha256": "2a1b56d88858f3d9b6070ab8645d878b12f8baa29c567b038d190f89c2f863e6", + "bytes": 84303 + }, + "chunk-1-00004.m4s": { + "sha256": "be7198ae2b2d04e27748fcbe8669734a7ead3a51c25fb7f1c9d981740bf5f92d", + "bytes": 95672 + }, + "chunk-1-00005.m4s": { + "sha256": "502e3dd1ce6ca85c442ba849e605a1b0cb1ca23472af6fe6e0dacaea8a38d5dc", + "bytes": 82244 + }, + "chunk-1-00006.m4s": { + "sha256": "34d6e27576dc3c834d0aff9e5925581a899c354c4fdd34fc639cc63f9807c62f", + "bytes": 90139 + }, + "chunk-2-00001.m4s": { + "sha256": "23eaaffa433ed1808f57b95e14b85fba15b2d7e8eea6c51fd02ce409dbccf7de", + "bytes": 12437 + }, + "chunk-2-00002.m4s": { + "sha256": "f40e15cb8d377dcd4eeac508493694e4a131fd4a0d970ff2636b1b40fc728f0a", + "bytes": 12641 + }, + "chunk-2-00003.m4s": { + "sha256": "e1a1f49359d23f460f9b0a32df5f5da7ba6d234fe59cc4a9c0a5f7e201fed643", + "bytes": 12663 + }, + "chunk-2-00004.m4s": { + "sha256": "a5b0625a33a62cf2b73414c92b7c9f6ac945650d3ff6dadaff26705d10920bf6", + "bytes": 12657 + }, + "chunk-2-00005.m4s": { + "sha256": "ed446e2eb99474765e9b0eb40728bd5d79eba79e74b5fa688a0dbddfb3f4b82a", + "bytes": 12682 + }, + "chunk-2-00006.m4s": { + "sha256": "6b969d834a87836f84eac8769fba2962c8303aacbb832f4710e642a371c6e38e", + "bytes": 13008 + }, + "chunk-3-00001.m4s": { + "sha256": "9171ffc0421c4dc0f874eb8801c2df0b4bf312981a8841455b13081cca1b0feb", + "bytes": 12453 + }, + "chunk-3-00002.m4s": { + "sha256": "da7a827ad08e9b48647f2bc6c90d5db1b53ef15965575d38b7e9facbddd37fc1", + "bytes": 12644 + }, + "chunk-3-00003.m4s": { + "sha256": "3d5f9fd99a21ce3d59f11416936d79252a12bc95560988f1abe4ccf802733ebc", + "bytes": 12643 + }, + "chunk-3-00004.m4s": { + "sha256": "eeca9b9a3f91c8491ad663cb5d686b168c530dc771d46c35ff5919b3a8b4ee37", + "bytes": 12678 + }, + "chunk-3-00005.m4s": { + "sha256": "747526362131944d696b09059ba0a19c106e363a30fa07cf7ec86081c4e277e8", + "bytes": 12582 + }, + "chunk-3-00006.m4s": { + "sha256": "5234fd26fd201536c839a1740d3bd57a5fe8c86e3e180f7f1e4c70cc41f30072", + "bytes": 13077 + }, + "init-0.m4s": { + "sha256": "d0a16341c48647e27452db83de88f88209dbec7e539e159e5057469d28980881", + "bytes": 827 + }, + "init-1.m4s": { + "sha256": "3e814e958e68e98f947883a2b7511a36fb06db127ea074ccd569af0200839948", + "bytes": 828 + }, + "init-2.m4s": { + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423", + "bytes": 764 + }, + "init-3.m4s": { + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423", + "bytes": 764 + }, + "master.mpd": { + "sha256": "6a4cb0a956861dee9aff1c592525c41fb4cf660be86b4c3892a91a46aeec53ef", + "bytes": 2986 + }, + "single.mpd": { + "sha256": "bdbd8a027281cefec1d4021d7e5a2731875188eb331612bc35eef75f265a700b", + "bytes": 1227 + }, + "video-only.mpd": { + "sha256": "b7f8d37c023810ecc38a2564d4644eda4b5a0b0dd2d10dfd39f70a4b49be0566", + "bytes": 1622 + } + } + }, + "capability": { + "sdk": true, + "mse": "function", + "managed": "undefined", + "avc": true, + "aac": true + } + }, + "47d5beeffde28a61f0f0028870a1a4eff2842da0b1546fc2756b286281e02884": { + "version": "5.2.1", + "core": "published", + "plugin": "candidate", + "selected": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57" + } + }, + "fc94a83d967819ee6a6f2e9ca005a7aa8a623f7e7195702c94bb7c47ab0c13ec": { + "version": "4.5.2", + "core": "candidate", + "plugin": "candidate", + "selected": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57" + } + }, + "12287df104f2196207cb20b9ac9f598783aec3c352f431e2c03e71974f3e8960": { + "version": "5.2.1", + "core": "candidate", + "plugin": "candidate", + "selected": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57" + } + }, + "50814999c954467929d559219f988f0ebb5cb2f8863fc275d6c661719204ae60": { + "sdk": { + "name": "dashjs", + "version": "4.5.2", + "tarball": "https://registry.npmjs.org/dashjs/-/dashjs-4.5.2.tgz", + "integrity": "sha512-WXPk0lPDSaHjiSVoVRh2jQPiMmB1alKUH8hV2CVmaI0vPUeT1wIY7madVE38SthfOmwS9IJViv1RrxrxdGjElg==", + "sha256": "9a0944c48deb0fd8f92b0eea436c5b0d0aea9237c7da0078c0310f1430d0a31f", + "files": { + "package/package.json": "62b2295c4a92ec996ff066f7e5739893c46fce44d80c940c61ced9d5710226d1", + "package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28", + "package/index.d.ts": "13e6bd0a3c77e2db9378e355915929ed3dda5d8de9c48f446c9d3e9fb7154dbd", + "package/dist/dash.all.min.js": "17849c05872997095a63d74bde3fed6f79c14c6a48cdf904833d880b93a476da" + } + }, + "codeMember": "package/dist/dash.all.min.js", + "pluginRelease": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "candidateSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57", + "availableCandidate": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57" + }, + "pluginLoaded": false, + "media": { + "kind": "generated-dash-media", + "version": "ffmpeg version 2025-11-12-git-6cdd2cbe32-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers", + "duration": 12, + "videoHeights": [ + 90, + 180 + ], + "audio": [ + { + "lang": "en", + "frequency": 440 + }, + { + "lang": "fr", + "frequency": 880 + } + ], + "commands": [ + [ + "-hide_banner", + "-loglevel", + "error", + "-n", + "-f", + "lavfi", + "-i", + "testsrc2=size=160x90:rate=24", + "-f", + "lavfi", + "-i", + "testsrc2=size=320x180:rate=24", + "-f", + "lavfi", + "-i", + "sine=frequency=440:sample_rate=48000", + "-f", + "lavfi", + "-i", + "sine=frequency=880:sample_rate=48000", + "-t", + "12", + "-map", + "0:v", + "-map", + "1:v", + "-map", + "2:a", + "-map", + "3:a", + "-c:v", + "libx264", + "-pix_fmt", + "yuv420p", + "-profile:v", + "baseline", + "-level:v", + "3.0", + "-b:v:0", + "150k", + "-b:v:1", + "350k", + "-g", + "48", + "-keyint_min", + "48", + "-sc_threshold", + "0", + "-c:a", + "aac", + "-b:a", + "48k", + "-ac", + "2", + "-metadata:s:a:0", + "language=en", + "-metadata:s:a:1", + "language=fr", + "-f", + "dash", + "-seg_duration", + "2", + "-use_template", + "1", + "-use_timeline", + "1", + "-adaptation_sets", + "id=0,streams=0,1 id=1,streams=2 id=2,streams=3", + "-init_seg_name", + "init-$RepresentationID$.m4s", + "-media_seg_name", + "chunk-$RepresentationID$-$Number%05d$.m4s", + "master.mpd" + ] + ], + "files": { + "chunk-0-00001.m4s": { + "sha256": "0bc9f5c9bfc50526dfdc0241ac5d2da2332097d738450a41887bceb8d0b1f305", + "bytes": 32029 + }, + "chunk-0-00002.m4s": { + "sha256": "a3baefa3f68381a844419beabdee422dc4298c102a7b45a9da16d89b74f461fc", + "bytes": 41742 + }, + "chunk-0-00003.m4s": { + "sha256": "f2540e0a1871967a910e25567aa19ce9aaef002bba84f8cdda8ca9bbc8abd40e", + "bytes": 36346 + }, + "chunk-0-00004.m4s": { + "sha256": "21905f15e90b22cd868d55924d44723b9a02a7b1132384a60b526e49646e9e07", + "bytes": 41226 + }, + "chunk-0-00005.m4s": { + "sha256": "9d0cb0486da40f3a4e6819a5964d4db945305d328cce6ce2c21a60a57c413f42", + "bytes": 35119 + }, + "chunk-0-00006.m4s": { + "sha256": "f52fd4ecf9d0276261b183c6e44096ad2f28267a5f2a0a15ac65cec8705b605f", + "bytes": 38357 + }, + "chunk-1-00001.m4s": { + "sha256": "389d6f02741679ed7ef43f529bbec746b5e1b62a97519ca80be16f114e76845c", + "bytes": 72180 + }, + "chunk-1-00002.m4s": { + "sha256": "5cc737843b84a064acb65d985b2ea7ff151c26937f5bf48cacdf0f39c9e60122", + "bytes": 94545 + }, + "chunk-1-00003.m4s": { + "sha256": "2a1b56d88858f3d9b6070ab8645d878b12f8baa29c567b038d190f89c2f863e6", + "bytes": 84303 + }, + "chunk-1-00004.m4s": { + "sha256": "be7198ae2b2d04e27748fcbe8669734a7ead3a51c25fb7f1c9d981740bf5f92d", + "bytes": 95672 + }, + "chunk-1-00005.m4s": { + "sha256": "502e3dd1ce6ca85c442ba849e605a1b0cb1ca23472af6fe6e0dacaea8a38d5dc", + "bytes": 82244 + }, + "chunk-1-00006.m4s": { + "sha256": "34d6e27576dc3c834d0aff9e5925581a899c354c4fdd34fc639cc63f9807c62f", + "bytes": 90139 + }, + "chunk-2-00001.m4s": { + "sha256": "23eaaffa433ed1808f57b95e14b85fba15b2d7e8eea6c51fd02ce409dbccf7de", + "bytes": 12437 + }, + "chunk-2-00002.m4s": { + "sha256": "f40e15cb8d377dcd4eeac508493694e4a131fd4a0d970ff2636b1b40fc728f0a", + "bytes": 12641 + }, + "chunk-2-00003.m4s": { + "sha256": "e1a1f49359d23f460f9b0a32df5f5da7ba6d234fe59cc4a9c0a5f7e201fed643", + "bytes": 12663 + }, + "chunk-2-00004.m4s": { + "sha256": "a5b0625a33a62cf2b73414c92b7c9f6ac945650d3ff6dadaff26705d10920bf6", + "bytes": 12657 + }, + "chunk-2-00005.m4s": { + "sha256": "ed446e2eb99474765e9b0eb40728bd5d79eba79e74b5fa688a0dbddfb3f4b82a", + "bytes": 12682 + }, + "chunk-2-00006.m4s": { + "sha256": "6b969d834a87836f84eac8769fba2962c8303aacbb832f4710e642a371c6e38e", + "bytes": 13008 + }, + "chunk-3-00001.m4s": { + "sha256": "9171ffc0421c4dc0f874eb8801c2df0b4bf312981a8841455b13081cca1b0feb", + "bytes": 12453 + }, + "chunk-3-00002.m4s": { + "sha256": "da7a827ad08e9b48647f2bc6c90d5db1b53ef15965575d38b7e9facbddd37fc1", + "bytes": 12644 + }, + "chunk-3-00003.m4s": { + "sha256": "3d5f9fd99a21ce3d59f11416936d79252a12bc95560988f1abe4ccf802733ebc", + "bytes": 12643 + }, + "chunk-3-00004.m4s": { + "sha256": "eeca9b9a3f91c8491ad663cb5d686b168c530dc771d46c35ff5919b3a8b4ee37", + "bytes": 12678 + }, + "chunk-3-00005.m4s": { + "sha256": "747526362131944d696b09059ba0a19c106e363a30fa07cf7ec86081c4e277e8", + "bytes": 12582 + }, + "chunk-3-00006.m4s": { + "sha256": "5234fd26fd201536c839a1740d3bd57a5fe8c86e3e180f7f1e4c70cc41f30072", + "bytes": 13077 + }, + "init-0.m4s": { + "sha256": "d0a16341c48647e27452db83de88f88209dbec7e539e159e5057469d28980881", + "bytes": 827 + }, + "init-1.m4s": { + "sha256": "3e814e958e68e98f947883a2b7511a36fb06db127ea074ccd569af0200839948", + "bytes": 828 + }, + "init-2.m4s": { + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423", + "bytes": 764 + }, + "init-3.m4s": { + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423", + "bytes": 764 + }, + "master.mpd": { + "sha256": "6a4cb0a956861dee9aff1c592525c41fb4cf660be86b4c3892a91a46aeec53ef", + "bytes": 2986 + }, + "single.mpd": { + "sha256": "bdbd8a027281cefec1d4021d7e5a2731875188eb331612bc35eef75f265a700b", + "bytes": 1227 + }, + "video-only.mpd": { + "sha256": "b7f8d37c023810ecc38a2564d4644eda4b5a0b0dd2d10dfd39f70a4b49be0566", + "bytes": 1622 + } + } + }, + "capability": { + "sdk": false, + "mse": "undefined", + "managed": "undefined", + "avc": false, + "aac": false + } + }, + "65b556bfe803f178a2d800b5416bf78cf5ae8b6976822a9d5876c6b23fb0cca4": { + "sdk": { + "name": "dashjs", + "version": "5.2.1", + "tarball": "https://registry.npmjs.org/dashjs/-/dashjs-5.2.1.tgz", + "integrity": "sha512-axcJmLeJCTJMLUfQRErUJB1KOiU5iHF+DMLBc3FKeox1HPYtGUQlC6Xm5Mm6vhBUR3CHHLIPOqw0JDIqMtP+Dw==", + "sha256": "4eacb0cc3525276666ca3f084611cdabb5a2264d128dfe0750fe106fbddd088f", + "files": { + "package/package.json": "f89fa389855d2a21b380fa69c84735da25bd93e3b9d7c39bd0d634493425fd8c", + "package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28", + "package/index.d.ts": "03b420509a480f893bf8253232cfd28428dc0be5f254fefe99a91e65847c010e", + "package/dist/modern/umd/dash.all.min.js": "3a22b1f4576ab294f41e56f156cec7972a5f83edda379416778293ff22d2eb49" + } + }, + "codeMember": "package/dist/modern/umd/dash.all.min.js", + "pluginRelease": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "candidateSHA256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57", + "availableCandidate": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57" + }, + "pluginLoaded": false, + "media": { + "kind": "generated-dash-media", + "version": "ffmpeg version 2025-11-12-git-6cdd2cbe32-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers", + "duration": 12, + "videoHeights": [ + 90, + 180 + ], + "audio": [ + { + "lang": "en", + "frequency": 440 + }, + { + "lang": "fr", + "frequency": 880 + } + ], + "commands": [ + [ + "-hide_banner", + "-loglevel", + "error", + "-n", + "-f", + "lavfi", + "-i", + "testsrc2=size=160x90:rate=24", + "-f", + "lavfi", + "-i", + "testsrc2=size=320x180:rate=24", + "-f", + "lavfi", + "-i", + "sine=frequency=440:sample_rate=48000", + "-f", + "lavfi", + "-i", + "sine=frequency=880:sample_rate=48000", + "-t", + "12", + "-map", + "0:v", + "-map", + "1:v", + "-map", + "2:a", + "-map", + "3:a", + "-c:v", + "libx264", + "-pix_fmt", + "yuv420p", + "-profile:v", + "baseline", + "-level:v", + "3.0", + "-b:v:0", + "150k", + "-b:v:1", + "350k", + "-g", + "48", + "-keyint_min", + "48", + "-sc_threshold", + "0", + "-c:a", + "aac", + "-b:a", + "48k", + "-ac", + "2", + "-metadata:s:a:0", + "language=en", + "-metadata:s:a:1", + "language=fr", + "-f", + "dash", + "-seg_duration", + "2", + "-use_template", + "1", + "-use_timeline", + "1", + "-adaptation_sets", + "id=0,streams=0,1 id=1,streams=2 id=2,streams=3", + "-init_seg_name", + "init-$RepresentationID$.m4s", + "-media_seg_name", + "chunk-$RepresentationID$-$Number%05d$.m4s", + "master.mpd" + ] + ], + "files": { + "chunk-0-00001.m4s": { + "sha256": "0bc9f5c9bfc50526dfdc0241ac5d2da2332097d738450a41887bceb8d0b1f305", + "bytes": 32029 + }, + "chunk-0-00002.m4s": { + "sha256": "a3baefa3f68381a844419beabdee422dc4298c102a7b45a9da16d89b74f461fc", + "bytes": 41742 + }, + "chunk-0-00003.m4s": { + "sha256": "f2540e0a1871967a910e25567aa19ce9aaef002bba84f8cdda8ca9bbc8abd40e", + "bytes": 36346 + }, + "chunk-0-00004.m4s": { + "sha256": "21905f15e90b22cd868d55924d44723b9a02a7b1132384a60b526e49646e9e07", + "bytes": 41226 + }, + "chunk-0-00005.m4s": { + "sha256": "9d0cb0486da40f3a4e6819a5964d4db945305d328cce6ce2c21a60a57c413f42", + "bytes": 35119 + }, + "chunk-0-00006.m4s": { + "sha256": "f52fd4ecf9d0276261b183c6e44096ad2f28267a5f2a0a15ac65cec8705b605f", + "bytes": 38357 + }, + "chunk-1-00001.m4s": { + "sha256": "389d6f02741679ed7ef43f529bbec746b5e1b62a97519ca80be16f114e76845c", + "bytes": 72180 + }, + "chunk-1-00002.m4s": { + "sha256": "5cc737843b84a064acb65d985b2ea7ff151c26937f5bf48cacdf0f39c9e60122", + "bytes": 94545 + }, + "chunk-1-00003.m4s": { + "sha256": "2a1b56d88858f3d9b6070ab8645d878b12f8baa29c567b038d190f89c2f863e6", + "bytes": 84303 + }, + "chunk-1-00004.m4s": { + "sha256": "be7198ae2b2d04e27748fcbe8669734a7ead3a51c25fb7f1c9d981740bf5f92d", + "bytes": 95672 + }, + "chunk-1-00005.m4s": { + "sha256": "502e3dd1ce6ca85c442ba849e605a1b0cb1ca23472af6fe6e0dacaea8a38d5dc", + "bytes": 82244 + }, + "chunk-1-00006.m4s": { + "sha256": "34d6e27576dc3c834d0aff9e5925581a899c354c4fdd34fc639cc63f9807c62f", + "bytes": 90139 + }, + "chunk-2-00001.m4s": { + "sha256": "23eaaffa433ed1808f57b95e14b85fba15b2d7e8eea6c51fd02ce409dbccf7de", + "bytes": 12437 + }, + "chunk-2-00002.m4s": { + "sha256": "f40e15cb8d377dcd4eeac508493694e4a131fd4a0d970ff2636b1b40fc728f0a", + "bytes": 12641 + }, + "chunk-2-00003.m4s": { + "sha256": "e1a1f49359d23f460f9b0a32df5f5da7ba6d234fe59cc4a9c0a5f7e201fed643", + "bytes": 12663 + }, + "chunk-2-00004.m4s": { + "sha256": "a5b0625a33a62cf2b73414c92b7c9f6ac945650d3ff6dadaff26705d10920bf6", + "bytes": 12657 + }, + "chunk-2-00005.m4s": { + "sha256": "ed446e2eb99474765e9b0eb40728bd5d79eba79e74b5fa688a0dbddfb3f4b82a", + "bytes": 12682 + }, + "chunk-2-00006.m4s": { + "sha256": "6b969d834a87836f84eac8769fba2962c8303aacbb832f4710e642a371c6e38e", + "bytes": 13008 + }, + "chunk-3-00001.m4s": { + "sha256": "9171ffc0421c4dc0f874eb8801c2df0b4bf312981a8841455b13081cca1b0feb", + "bytes": 12453 + }, + "chunk-3-00002.m4s": { + "sha256": "da7a827ad08e9b48647f2bc6c90d5db1b53ef15965575d38b7e9facbddd37fc1", + "bytes": 12644 + }, + "chunk-3-00003.m4s": { + "sha256": "3d5f9fd99a21ce3d59f11416936d79252a12bc95560988f1abe4ccf802733ebc", + "bytes": 12643 + }, + "chunk-3-00004.m4s": { + "sha256": "eeca9b9a3f91c8491ad663cb5d686b168c530dc771d46c35ff5919b3a8b4ee37", + "bytes": 12678 + }, + "chunk-3-00005.m4s": { + "sha256": "747526362131944d696b09059ba0a19c106e363a30fa07cf7ec86081c4e277e8", + "bytes": 12582 + }, + "chunk-3-00006.m4s": { + "sha256": "5234fd26fd201536c839a1740d3bd57a5fe8c86e3e180f7f1e4c70cc41f30072", + "bytes": 13077 + }, + "init-0.m4s": { + "sha256": "d0a16341c48647e27452db83de88f88209dbec7e539e159e5057469d28980881", + "bytes": 827 + }, + "init-1.m4s": { + "sha256": "3e814e958e68e98f947883a2b7511a36fb06db127ea074ccd569af0200839948", + "bytes": 828 + }, + "init-2.m4s": { + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423", + "bytes": 764 + }, + "init-3.m4s": { + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423", + "bytes": 764 + }, + "master.mpd": { + "sha256": "6a4cb0a956861dee9aff1c592525c41fb4cf660be86b4c3892a91a46aeec53ef", + "bytes": 2986 + }, + "single.mpd": { + "sha256": "bdbd8a027281cefec1d4021d7e5a2731875188eb331612bc35eef75f265a700b", + "bytes": 1227 + }, + "video-only.mpd": { + "sha256": "b7f8d37c023810ecc38a2564d4644eda4b5a0b0dd2d10dfd39f70a4b49be0566", + "bytes": 1622 + } + } + }, + "capability": { + "sdk": false, + "mse": "undefined", + "managed": "undefined", + "avc": false, + "aac": false + } + }, + "787e4db769908a75feb5fdbe366cefa4174e88b25721d019d17c559d40a001d9": { + "sdk": { + "name": "dashjs", + "version": "4.5.2", + "tarball": "https://registry.npmjs.org/dashjs/-/dashjs-4.5.2.tgz", + "integrity": "sha512-WXPk0lPDSaHjiSVoVRh2jQPiMmB1alKUH8hV2CVmaI0vPUeT1wIY7madVE38SthfOmwS9IJViv1RrxrxdGjElg==", + "sha256": "9a0944c48deb0fd8f92b0eea436c5b0d0aea9237c7da0078c0310f1430d0a31f", + "files": { + "package/package.json": "62b2295c4a92ec996ff066f7e5739893c46fce44d80c940c61ced9d5710226d1", + "package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28", + "package/index.d.ts": "13e6bd0a3c77e2db9378e355915929ed3dda5d8de9c48f446c9d3e9fb7154dbd", + "package/dist/dash.all.min.js": "17849c05872997095a63d74bde3fed6f79c14c6a48cdf904833d880b93a476da" + } + }, + "codeMember": "package/dist/dash.all.min.js", + "pluginRelease": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "candidateSHA256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e", + "availableCandidate": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js", + "sha256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e" + }, + "pluginLoaded": false, + "media": { + "kind": "generated-dash-media", + "version": "ffmpeg version 2025-11-12-git-6cdd2cbe32-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers", + "duration": 12, + "videoHeights": [ + 90, + 180 + ], + "audio": [ + { + "lang": "en", + "frequency": 440 + }, + { + "lang": "fr", + "frequency": 880 + } + ], + "commands": [ + [ + "-hide_banner", + "-loglevel", + "error", + "-n", + "-f", + "lavfi", + "-i", + "testsrc2=size=160x90:rate=24", + "-f", + "lavfi", + "-i", + "testsrc2=size=320x180:rate=24", + "-f", + "lavfi", + "-i", + "sine=frequency=440:sample_rate=48000", + "-f", + "lavfi", + "-i", + "sine=frequency=880:sample_rate=48000", + "-t", + "12", + "-map", + "0:v", + "-map", + "1:v", + "-map", + "2:a", + "-map", + "3:a", + "-c:v", + "libx264", + "-pix_fmt", + "yuv420p", + "-profile:v", + "baseline", + "-level:v", + "3.0", + "-b:v:0", + "150k", + "-b:v:1", + "350k", + "-g", + "48", + "-keyint_min", + "48", + "-sc_threshold", + "0", + "-c:a", + "aac", + "-b:a", + "48k", + "-ac", + "2", + "-metadata:s:a:0", + "language=en", + "-metadata:s:a:1", + "language=fr", + "-f", + "dash", + "-seg_duration", + "2", + "-use_template", + "1", + "-use_timeline", + "1", + "-adaptation_sets", + "id=0,streams=0,1 id=1,streams=2 id=2,streams=3", + "-init_seg_name", + "init-$RepresentationID$.m4s", + "-media_seg_name", + "chunk-$RepresentationID$-$Number%05d$.m4s", + "master.mpd" + ] + ], + "files": { + "chunk-0-00001.m4s": { + "sha256": "0bc9f5c9bfc50526dfdc0241ac5d2da2332097d738450a41887bceb8d0b1f305", + "bytes": 32029 + }, + "chunk-0-00002.m4s": { + "sha256": "a3baefa3f68381a844419beabdee422dc4298c102a7b45a9da16d89b74f461fc", + "bytes": 41742 + }, + "chunk-0-00003.m4s": { + "sha256": "f2540e0a1871967a910e25567aa19ce9aaef002bba84f8cdda8ca9bbc8abd40e", + "bytes": 36346 + }, + "chunk-0-00004.m4s": { + "sha256": "21905f15e90b22cd868d55924d44723b9a02a7b1132384a60b526e49646e9e07", + "bytes": 41226 + }, + "chunk-0-00005.m4s": { + "sha256": "9d0cb0486da40f3a4e6819a5964d4db945305d328cce6ce2c21a60a57c413f42", + "bytes": 35119 + }, + "chunk-0-00006.m4s": { + "sha256": "f52fd4ecf9d0276261b183c6e44096ad2f28267a5f2a0a15ac65cec8705b605f", + "bytes": 38357 + }, + "chunk-1-00001.m4s": { + "sha256": "389d6f02741679ed7ef43f529bbec746b5e1b62a97519ca80be16f114e76845c", + "bytes": 72180 + }, + "chunk-1-00002.m4s": { + "sha256": "5cc737843b84a064acb65d985b2ea7ff151c26937f5bf48cacdf0f39c9e60122", + "bytes": 94545 + }, + "chunk-1-00003.m4s": { + "sha256": "2a1b56d88858f3d9b6070ab8645d878b12f8baa29c567b038d190f89c2f863e6", + "bytes": 84303 + }, + "chunk-1-00004.m4s": { + "sha256": "be7198ae2b2d04e27748fcbe8669734a7ead3a51c25fb7f1c9d981740bf5f92d", + "bytes": 95672 + }, + "chunk-1-00005.m4s": { + "sha256": "502e3dd1ce6ca85c442ba849e605a1b0cb1ca23472af6fe6e0dacaea8a38d5dc", + "bytes": 82244 + }, + "chunk-1-00006.m4s": { + "sha256": "34d6e27576dc3c834d0aff9e5925581a899c354c4fdd34fc639cc63f9807c62f", + "bytes": 90139 + }, + "chunk-2-00001.m4s": { + "sha256": "23eaaffa433ed1808f57b95e14b85fba15b2d7e8eea6c51fd02ce409dbccf7de", + "bytes": 12437 + }, + "chunk-2-00002.m4s": { + "sha256": "f40e15cb8d377dcd4eeac508493694e4a131fd4a0d970ff2636b1b40fc728f0a", + "bytes": 12641 + }, + "chunk-2-00003.m4s": { + "sha256": "e1a1f49359d23f460f9b0a32df5f5da7ba6d234fe59cc4a9c0a5f7e201fed643", + "bytes": 12663 + }, + "chunk-2-00004.m4s": { + "sha256": "a5b0625a33a62cf2b73414c92b7c9f6ac945650d3ff6dadaff26705d10920bf6", + "bytes": 12657 + }, + "chunk-2-00005.m4s": { + "sha256": "ed446e2eb99474765e9b0eb40728bd5d79eba79e74b5fa688a0dbddfb3f4b82a", + "bytes": 12682 + }, + "chunk-2-00006.m4s": { + "sha256": "6b969d834a87836f84eac8769fba2962c8303aacbb832f4710e642a371c6e38e", + "bytes": 13008 + }, + "chunk-3-00001.m4s": { + "sha256": "9171ffc0421c4dc0f874eb8801c2df0b4bf312981a8841455b13081cca1b0feb", + "bytes": 12453 + }, + "chunk-3-00002.m4s": { + "sha256": "da7a827ad08e9b48647f2bc6c90d5db1b53ef15965575d38b7e9facbddd37fc1", + "bytes": 12644 + }, + "chunk-3-00003.m4s": { + "sha256": "3d5f9fd99a21ce3d59f11416936d79252a12bc95560988f1abe4ccf802733ebc", + "bytes": 12643 + }, + "chunk-3-00004.m4s": { + "sha256": "eeca9b9a3f91c8491ad663cb5d686b168c530dc771d46c35ff5919b3a8b4ee37", + "bytes": 12678 + }, + "chunk-3-00005.m4s": { + "sha256": "747526362131944d696b09059ba0a19c106e363a30fa07cf7ec86081c4e277e8", + "bytes": 12582 + }, + "chunk-3-00006.m4s": { + "sha256": "5234fd26fd201536c839a1740d3bd57a5fe8c86e3e180f7f1e4c70cc41f30072", + "bytes": 13077 + }, + "init-0.m4s": { + "sha256": "d0a16341c48647e27452db83de88f88209dbec7e539e159e5057469d28980881", + "bytes": 827 + }, + "init-1.m4s": { + "sha256": "3e814e958e68e98f947883a2b7511a36fb06db127ea074ccd569af0200839948", + "bytes": 828 + }, + "init-2.m4s": { + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423", + "bytes": 764 + }, + "init-3.m4s": { + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423", + "bytes": 764 + }, + "master.mpd": { + "sha256": "6a4cb0a956861dee9aff1c592525c41fb4cf660be86b4c3892a91a46aeec53ef", + "bytes": 2986 + }, + "single.mpd": { + "sha256": "bdbd8a027281cefec1d4021d7e5a2731875188eb331612bc35eef75f265a700b", + "bytes": 1227 + }, + "video-only.mpd": { + "sha256": "b7f8d37c023810ecc38a2564d4644eda4b5a0b0dd2d10dfd39f70a4b49be0566", + "bytes": 1622 + } + } + }, + "capability": { + "sdk": true, + "mse": "function", + "managed": "undefined", + "avc": true, + "aac": true + } + }, + "90f08d5c8a4836e537c8eeab68eef8e2ef16a4f43429ad6c2ced526122dad8d2": { + "version": "4.5.2", + "core": "published", + "plugin": "candidate", + "selected": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js", + "sha256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e" + } + }, + "021b9f587d36f5ec0dc531951a49510dd743a45e054d944de672fc54e70f2975": { + "sdk": { + "name": "dashjs", + "version": "5.2.1", + "tarball": "https://registry.npmjs.org/dashjs/-/dashjs-5.2.1.tgz", + "integrity": "sha512-axcJmLeJCTJMLUfQRErUJB1KOiU5iHF+DMLBc3FKeox1HPYtGUQlC6Xm5Mm6vhBUR3CHHLIPOqw0JDIqMtP+Dw==", + "sha256": "4eacb0cc3525276666ca3f084611cdabb5a2264d128dfe0750fe106fbddd088f", + "files": { + "package/package.json": "f89fa389855d2a21b380fa69c84735da25bd93e3b9d7c39bd0d634493425fd8c", + "package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28", + "package/index.d.ts": "03b420509a480f893bf8253232cfd28428dc0be5f254fefe99a91e65847c010e", + "package/dist/modern/umd/dash.all.min.js": "3a22b1f4576ab294f41e56f156cec7972a5f83edda379416778293ff22d2eb49" + } + }, + "codeMember": "package/dist/modern/umd/dash.all.min.js", + "pluginRelease": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "candidateSHA256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e", + "availableCandidate": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js", + "sha256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e" + }, + "pluginLoaded": false, + "media": { + "kind": "generated-dash-media", + "version": "ffmpeg version 2025-11-12-git-6cdd2cbe32-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers", + "duration": 12, + "videoHeights": [ + 90, + 180 + ], + "audio": [ + { + "lang": "en", + "frequency": 440 + }, + { + "lang": "fr", + "frequency": 880 + } + ], + "commands": [ + [ + "-hide_banner", + "-loglevel", + "error", + "-n", + "-f", + "lavfi", + "-i", + "testsrc2=size=160x90:rate=24", + "-f", + "lavfi", + "-i", + "testsrc2=size=320x180:rate=24", + "-f", + "lavfi", + "-i", + "sine=frequency=440:sample_rate=48000", + "-f", + "lavfi", + "-i", + "sine=frequency=880:sample_rate=48000", + "-t", + "12", + "-map", + "0:v", + "-map", + "1:v", + "-map", + "2:a", + "-map", + "3:a", + "-c:v", + "libx264", + "-pix_fmt", + "yuv420p", + "-profile:v", + "baseline", + "-level:v", + "3.0", + "-b:v:0", + "150k", + "-b:v:1", + "350k", + "-g", + "48", + "-keyint_min", + "48", + "-sc_threshold", + "0", + "-c:a", + "aac", + "-b:a", + "48k", + "-ac", + "2", + "-metadata:s:a:0", + "language=en", + "-metadata:s:a:1", + "language=fr", + "-f", + "dash", + "-seg_duration", + "2", + "-use_template", + "1", + "-use_timeline", + "1", + "-adaptation_sets", + "id=0,streams=0,1 id=1,streams=2 id=2,streams=3", + "-init_seg_name", + "init-$RepresentationID$.m4s", + "-media_seg_name", + "chunk-$RepresentationID$-$Number%05d$.m4s", + "master.mpd" + ] + ], + "files": { + "chunk-0-00001.m4s": { + "sha256": "0bc9f5c9bfc50526dfdc0241ac5d2da2332097d738450a41887bceb8d0b1f305", + "bytes": 32029 + }, + "chunk-0-00002.m4s": { + "sha256": "a3baefa3f68381a844419beabdee422dc4298c102a7b45a9da16d89b74f461fc", + "bytes": 41742 + }, + "chunk-0-00003.m4s": { + "sha256": "f2540e0a1871967a910e25567aa19ce9aaef002bba84f8cdda8ca9bbc8abd40e", + "bytes": 36346 + }, + "chunk-0-00004.m4s": { + "sha256": "21905f15e90b22cd868d55924d44723b9a02a7b1132384a60b526e49646e9e07", + "bytes": 41226 + }, + "chunk-0-00005.m4s": { + "sha256": "9d0cb0486da40f3a4e6819a5964d4db945305d328cce6ce2c21a60a57c413f42", + "bytes": 35119 + }, + "chunk-0-00006.m4s": { + "sha256": "f52fd4ecf9d0276261b183c6e44096ad2f28267a5f2a0a15ac65cec8705b605f", + "bytes": 38357 + }, + "chunk-1-00001.m4s": { + "sha256": "389d6f02741679ed7ef43f529bbec746b5e1b62a97519ca80be16f114e76845c", + "bytes": 72180 + }, + "chunk-1-00002.m4s": { + "sha256": "5cc737843b84a064acb65d985b2ea7ff151c26937f5bf48cacdf0f39c9e60122", + "bytes": 94545 + }, + "chunk-1-00003.m4s": { + "sha256": "2a1b56d88858f3d9b6070ab8645d878b12f8baa29c567b038d190f89c2f863e6", + "bytes": 84303 + }, + "chunk-1-00004.m4s": { + "sha256": "be7198ae2b2d04e27748fcbe8669734a7ead3a51c25fb7f1c9d981740bf5f92d", + "bytes": 95672 + }, + "chunk-1-00005.m4s": { + "sha256": "502e3dd1ce6ca85c442ba849e605a1b0cb1ca23472af6fe6e0dacaea8a38d5dc", + "bytes": 82244 + }, + "chunk-1-00006.m4s": { + "sha256": "34d6e27576dc3c834d0aff9e5925581a899c354c4fdd34fc639cc63f9807c62f", + "bytes": 90139 + }, + "chunk-2-00001.m4s": { + "sha256": "23eaaffa433ed1808f57b95e14b85fba15b2d7e8eea6c51fd02ce409dbccf7de", + "bytes": 12437 + }, + "chunk-2-00002.m4s": { + "sha256": "f40e15cb8d377dcd4eeac508493694e4a131fd4a0d970ff2636b1b40fc728f0a", + "bytes": 12641 + }, + "chunk-2-00003.m4s": { + "sha256": "e1a1f49359d23f460f9b0a32df5f5da7ba6d234fe59cc4a9c0a5f7e201fed643", + "bytes": 12663 + }, + "chunk-2-00004.m4s": { + "sha256": "a5b0625a33a62cf2b73414c92b7c9f6ac945650d3ff6dadaff26705d10920bf6", + "bytes": 12657 + }, + "chunk-2-00005.m4s": { + "sha256": "ed446e2eb99474765e9b0eb40728bd5d79eba79e74b5fa688a0dbddfb3f4b82a", + "bytes": 12682 + }, + "chunk-2-00006.m4s": { + "sha256": "6b969d834a87836f84eac8769fba2962c8303aacbb832f4710e642a371c6e38e", + "bytes": 13008 + }, + "chunk-3-00001.m4s": { + "sha256": "9171ffc0421c4dc0f874eb8801c2df0b4bf312981a8841455b13081cca1b0feb", + "bytes": 12453 + }, + "chunk-3-00002.m4s": { + "sha256": "da7a827ad08e9b48647f2bc6c90d5db1b53ef15965575d38b7e9facbddd37fc1", + "bytes": 12644 + }, + "chunk-3-00003.m4s": { + "sha256": "3d5f9fd99a21ce3d59f11416936d79252a12bc95560988f1abe4ccf802733ebc", + "bytes": 12643 + }, + "chunk-3-00004.m4s": { + "sha256": "eeca9b9a3f91c8491ad663cb5d686b168c530dc771d46c35ff5919b3a8b4ee37", + "bytes": 12678 + }, + "chunk-3-00005.m4s": { + "sha256": "747526362131944d696b09059ba0a19c106e363a30fa07cf7ec86081c4e277e8", + "bytes": 12582 + }, + "chunk-3-00006.m4s": { + "sha256": "5234fd26fd201536c839a1740d3bd57a5fe8c86e3e180f7f1e4c70cc41f30072", + "bytes": 13077 + }, + "init-0.m4s": { + "sha256": "d0a16341c48647e27452db83de88f88209dbec7e539e159e5057469d28980881", + "bytes": 827 + }, + "init-1.m4s": { + "sha256": "3e814e958e68e98f947883a2b7511a36fb06db127ea074ccd569af0200839948", + "bytes": 828 + }, + "init-2.m4s": { + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423", + "bytes": 764 + }, + "init-3.m4s": { + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423", + "bytes": 764 + }, + "master.mpd": { + "sha256": "6a4cb0a956861dee9aff1c592525c41fb4cf660be86b4c3892a91a46aeec53ef", + "bytes": 2986 + }, + "single.mpd": { + "sha256": "bdbd8a027281cefec1d4021d7e5a2731875188eb331612bc35eef75f265a700b", + "bytes": 1227 + }, + "video-only.mpd": { + "sha256": "b7f8d37c023810ecc38a2564d4644eda4b5a0b0dd2d10dfd39f70a4b49be0566", + "bytes": 1622 + } + } + }, + "capability": { + "sdk": true, + "mse": "function", + "managed": "undefined", + "avc": true, + "aac": true + } + }, + "d527b58d2137b979b65e15809736a21dded3df4b0d821349c01b520efa1a09c4": { + "version": "5.2.1", + "core": "published", + "plugin": "candidate", + "selected": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js", + "sha256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e" + } + }, + "f38fe6182adcd493ca10fc858fa9811287c6d5083edc08e400e7d3bcf8895a1b": { + "version": "4.5.2", + "core": "candidate", + "plugin": "candidate", + "selected": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js", + "sha256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e" + } + }, + "bef6f3836baac9d99d7bdf7360a2cf5841debbb5b8035a8c3021abd6b8a88bf0": { + "version": "5.2.1", + "core": "candidate", + "plugin": "candidate", + "selected": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js", + "sha256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e" + } + }, + "782c4d36f5d06fab7d002557abc1b418d35caa85bccfcb0678b87313d90f48b8": { + "sdk": { + "name": "dashjs", + "version": "4.5.2", + "tarball": "https://registry.npmjs.org/dashjs/-/dashjs-4.5.2.tgz", + "integrity": "sha512-WXPk0lPDSaHjiSVoVRh2jQPiMmB1alKUH8hV2CVmaI0vPUeT1wIY7madVE38SthfOmwS9IJViv1RrxrxdGjElg==", + "sha256": "9a0944c48deb0fd8f92b0eea436c5b0d0aea9237c7da0078c0310f1430d0a31f", + "files": { + "package/package.json": "62b2295c4a92ec996ff066f7e5739893c46fce44d80c940c61ced9d5710226d1", + "package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28", + "package/index.d.ts": "13e6bd0a3c77e2db9378e355915929ed3dda5d8de9c48f446c9d3e9fb7154dbd", + "package/dist/dash.all.min.js": "17849c05872997095a63d74bde3fed6f79c14c6a48cdf904833d880b93a476da" + } + }, + "codeMember": "package/dist/dash.all.min.js", + "pluginRelease": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "candidateSHA256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e", + "availableCandidate": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js", + "sha256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e" + }, + "pluginLoaded": false, + "media": { + "kind": "generated-dash-media", + "version": "ffmpeg version 2025-11-12-git-6cdd2cbe32-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers", + "duration": 12, + "videoHeights": [ + 90, + 180 + ], + "audio": [ + { + "lang": "en", + "frequency": 440 + }, + { + "lang": "fr", + "frequency": 880 + } + ], + "commands": [ + [ + "-hide_banner", + "-loglevel", + "error", + "-n", + "-f", + "lavfi", + "-i", + "testsrc2=size=160x90:rate=24", + "-f", + "lavfi", + "-i", + "testsrc2=size=320x180:rate=24", + "-f", + "lavfi", + "-i", + "sine=frequency=440:sample_rate=48000", + "-f", + "lavfi", + "-i", + "sine=frequency=880:sample_rate=48000", + "-t", + "12", + "-map", + "0:v", + "-map", + "1:v", + "-map", + "2:a", + "-map", + "3:a", + "-c:v", + "libx264", + "-pix_fmt", + "yuv420p", + "-profile:v", + "baseline", + "-level:v", + "3.0", + "-b:v:0", + "150k", + "-b:v:1", + "350k", + "-g", + "48", + "-keyint_min", + "48", + "-sc_threshold", + "0", + "-c:a", + "aac", + "-b:a", + "48k", + "-ac", + "2", + "-metadata:s:a:0", + "language=en", + "-metadata:s:a:1", + "language=fr", + "-f", + "dash", + "-seg_duration", + "2", + "-use_template", + "1", + "-use_timeline", + "1", + "-adaptation_sets", + "id=0,streams=0,1 id=1,streams=2 id=2,streams=3", + "-init_seg_name", + "init-$RepresentationID$.m4s", + "-media_seg_name", + "chunk-$RepresentationID$-$Number%05d$.m4s", + "master.mpd" + ] + ], + "files": { + "chunk-0-00001.m4s": { + "sha256": "0bc9f5c9bfc50526dfdc0241ac5d2da2332097d738450a41887bceb8d0b1f305", + "bytes": 32029 + }, + "chunk-0-00002.m4s": { + "sha256": "a3baefa3f68381a844419beabdee422dc4298c102a7b45a9da16d89b74f461fc", + "bytes": 41742 + }, + "chunk-0-00003.m4s": { + "sha256": "f2540e0a1871967a910e25567aa19ce9aaef002bba84f8cdda8ca9bbc8abd40e", + "bytes": 36346 + }, + "chunk-0-00004.m4s": { + "sha256": "21905f15e90b22cd868d55924d44723b9a02a7b1132384a60b526e49646e9e07", + "bytes": 41226 + }, + "chunk-0-00005.m4s": { + "sha256": "9d0cb0486da40f3a4e6819a5964d4db945305d328cce6ce2c21a60a57c413f42", + "bytes": 35119 + }, + "chunk-0-00006.m4s": { + "sha256": "f52fd4ecf9d0276261b183c6e44096ad2f28267a5f2a0a15ac65cec8705b605f", + "bytes": 38357 + }, + "chunk-1-00001.m4s": { + "sha256": "389d6f02741679ed7ef43f529bbec746b5e1b62a97519ca80be16f114e76845c", + "bytes": 72180 + }, + "chunk-1-00002.m4s": { + "sha256": "5cc737843b84a064acb65d985b2ea7ff151c26937f5bf48cacdf0f39c9e60122", + "bytes": 94545 + }, + "chunk-1-00003.m4s": { + "sha256": "2a1b56d88858f3d9b6070ab8645d878b12f8baa29c567b038d190f89c2f863e6", + "bytes": 84303 + }, + "chunk-1-00004.m4s": { + "sha256": "be7198ae2b2d04e27748fcbe8669734a7ead3a51c25fb7f1c9d981740bf5f92d", + "bytes": 95672 + }, + "chunk-1-00005.m4s": { + "sha256": "502e3dd1ce6ca85c442ba849e605a1b0cb1ca23472af6fe6e0dacaea8a38d5dc", + "bytes": 82244 + }, + "chunk-1-00006.m4s": { + "sha256": "34d6e27576dc3c834d0aff9e5925581a899c354c4fdd34fc639cc63f9807c62f", + "bytes": 90139 + }, + "chunk-2-00001.m4s": { + "sha256": "23eaaffa433ed1808f57b95e14b85fba15b2d7e8eea6c51fd02ce409dbccf7de", + "bytes": 12437 + }, + "chunk-2-00002.m4s": { + "sha256": "f40e15cb8d377dcd4eeac508493694e4a131fd4a0d970ff2636b1b40fc728f0a", + "bytes": 12641 + }, + "chunk-2-00003.m4s": { + "sha256": "e1a1f49359d23f460f9b0a32df5f5da7ba6d234fe59cc4a9c0a5f7e201fed643", + "bytes": 12663 + }, + "chunk-2-00004.m4s": { + "sha256": "a5b0625a33a62cf2b73414c92b7c9f6ac945650d3ff6dadaff26705d10920bf6", + "bytes": 12657 + }, + "chunk-2-00005.m4s": { + "sha256": "ed446e2eb99474765e9b0eb40728bd5d79eba79e74b5fa688a0dbddfb3f4b82a", + "bytes": 12682 + }, + "chunk-2-00006.m4s": { + "sha256": "6b969d834a87836f84eac8769fba2962c8303aacbb832f4710e642a371c6e38e", + "bytes": 13008 + }, + "chunk-3-00001.m4s": { + "sha256": "9171ffc0421c4dc0f874eb8801c2df0b4bf312981a8841455b13081cca1b0feb", + "bytes": 12453 + }, + "chunk-3-00002.m4s": { + "sha256": "da7a827ad08e9b48647f2bc6c90d5db1b53ef15965575d38b7e9facbddd37fc1", + "bytes": 12644 + }, + "chunk-3-00003.m4s": { + "sha256": "3d5f9fd99a21ce3d59f11416936d79252a12bc95560988f1abe4ccf802733ebc", + "bytes": 12643 + }, + "chunk-3-00004.m4s": { + "sha256": "eeca9b9a3f91c8491ad663cb5d686b168c530dc771d46c35ff5919b3a8b4ee37", + "bytes": 12678 + }, + "chunk-3-00005.m4s": { + "sha256": "747526362131944d696b09059ba0a19c106e363a30fa07cf7ec86081c4e277e8", + "bytes": 12582 + }, + "chunk-3-00006.m4s": { + "sha256": "5234fd26fd201536c839a1740d3bd57a5fe8c86e3e180f7f1e4c70cc41f30072", + "bytes": 13077 + }, + "init-0.m4s": { + "sha256": "d0a16341c48647e27452db83de88f88209dbec7e539e159e5057469d28980881", + "bytes": 827 + }, + "init-1.m4s": { + "sha256": "3e814e958e68e98f947883a2b7511a36fb06db127ea074ccd569af0200839948", + "bytes": 828 + }, + "init-2.m4s": { + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423", + "bytes": 764 + }, + "init-3.m4s": { + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423", + "bytes": 764 + }, + "master.mpd": { + "sha256": "6a4cb0a956861dee9aff1c592525c41fb4cf660be86b4c3892a91a46aeec53ef", + "bytes": 2986 + }, + "single.mpd": { + "sha256": "bdbd8a027281cefec1d4021d7e5a2731875188eb331612bc35eef75f265a700b", + "bytes": 1227 + }, + "video-only.mpd": { + "sha256": "b7f8d37c023810ecc38a2564d4644eda4b5a0b0dd2d10dfd39f70a4b49be0566", + "bytes": 1622 + } + } + }, + "capability": { + "sdk": false, + "mse": "undefined", + "managed": "undefined", + "avc": false, + "aac": false + } + }, + "2f5ca82f1811d3d6edf0acfd716990070aeb9adebc416141888b4efd5d51ba47": { + "sdk": { + "name": "dashjs", + "version": "5.2.1", + "tarball": "https://registry.npmjs.org/dashjs/-/dashjs-5.2.1.tgz", + "integrity": "sha512-axcJmLeJCTJMLUfQRErUJB1KOiU5iHF+DMLBc3FKeox1HPYtGUQlC6Xm5Mm6vhBUR3CHHLIPOqw0JDIqMtP+Dw==", + "sha256": "4eacb0cc3525276666ca3f084611cdabb5a2264d128dfe0750fe106fbddd088f", + "files": { + "package/package.json": "f89fa389855d2a21b380fa69c84735da25bd93e3b9d7c39bd0d634493425fd8c", + "package/LICENSE.md": "f7cc4ba24850cc564766c75923d07c3d22fa27f304285f4d25ecffeaec964e28", + "package/index.d.ts": "03b420509a480f893bf8253232cfd28428dc0be5f254fefe99a91e65847c010e", + "package/dist/modern/umd/dash.all.min.js": "3a22b1f4576ab294f41e56f156cec7972a5f83edda379416778293ff22d2eb49" + } + }, + "codeMember": "package/dist/modern/umd/dash.all.min.js", + "pluginRelease": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "candidateSHA256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e", + "availableCandidate": { + "kind": "explicit-artifact", + "file": "refactor/.cache/dash-package-types-9wPqYp/installed-artifacts/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.legacy.js", + "sha256": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e" + }, + "pluginLoaded": false, + "media": { + "kind": "generated-dash-media", + "version": "ffmpeg version 2025-11-12-git-6cdd2cbe32-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers", + "duration": 12, + "videoHeights": [ + 90, + 180 + ], + "audio": [ + { + "lang": "en", + "frequency": 440 + }, + { + "lang": "fr", + "frequency": 880 + } + ], + "commands": [ + [ + "-hide_banner", + "-loglevel", + "error", + "-n", + "-f", + "lavfi", + "-i", + "testsrc2=size=160x90:rate=24", + "-f", + "lavfi", + "-i", + "testsrc2=size=320x180:rate=24", + "-f", + "lavfi", + "-i", + "sine=frequency=440:sample_rate=48000", + "-f", + "lavfi", + "-i", + "sine=frequency=880:sample_rate=48000", + "-t", + "12", + "-map", + "0:v", + "-map", + "1:v", + "-map", + "2:a", + "-map", + "3:a", + "-c:v", + "libx264", + "-pix_fmt", + "yuv420p", + "-profile:v", + "baseline", + "-level:v", + "3.0", + "-b:v:0", + "150k", + "-b:v:1", + "350k", + "-g", + "48", + "-keyint_min", + "48", + "-sc_threshold", + "0", + "-c:a", + "aac", + "-b:a", + "48k", + "-ac", + "2", + "-metadata:s:a:0", + "language=en", + "-metadata:s:a:1", + "language=fr", + "-f", + "dash", + "-seg_duration", + "2", + "-use_template", + "1", + "-use_timeline", + "1", + "-adaptation_sets", + "id=0,streams=0,1 id=1,streams=2 id=2,streams=3", + "-init_seg_name", + "init-$RepresentationID$.m4s", + "-media_seg_name", + "chunk-$RepresentationID$-$Number%05d$.m4s", + "master.mpd" + ] + ], + "files": { + "chunk-0-00001.m4s": { + "sha256": "0bc9f5c9bfc50526dfdc0241ac5d2da2332097d738450a41887bceb8d0b1f305", + "bytes": 32029 + }, + "chunk-0-00002.m4s": { + "sha256": "a3baefa3f68381a844419beabdee422dc4298c102a7b45a9da16d89b74f461fc", + "bytes": 41742 + }, + "chunk-0-00003.m4s": { + "sha256": "f2540e0a1871967a910e25567aa19ce9aaef002bba84f8cdda8ca9bbc8abd40e", + "bytes": 36346 + }, + "chunk-0-00004.m4s": { + "sha256": "21905f15e90b22cd868d55924d44723b9a02a7b1132384a60b526e49646e9e07", + "bytes": 41226 + }, + "chunk-0-00005.m4s": { + "sha256": "9d0cb0486da40f3a4e6819a5964d4db945305d328cce6ce2c21a60a57c413f42", + "bytes": 35119 + }, + "chunk-0-00006.m4s": { + "sha256": "f52fd4ecf9d0276261b183c6e44096ad2f28267a5f2a0a15ac65cec8705b605f", + "bytes": 38357 + }, + "chunk-1-00001.m4s": { + "sha256": "389d6f02741679ed7ef43f529bbec746b5e1b62a97519ca80be16f114e76845c", + "bytes": 72180 + }, + "chunk-1-00002.m4s": { + "sha256": "5cc737843b84a064acb65d985b2ea7ff151c26937f5bf48cacdf0f39c9e60122", + "bytes": 94545 + }, + "chunk-1-00003.m4s": { + "sha256": "2a1b56d88858f3d9b6070ab8645d878b12f8baa29c567b038d190f89c2f863e6", + "bytes": 84303 + }, + "chunk-1-00004.m4s": { + "sha256": "be7198ae2b2d04e27748fcbe8669734a7ead3a51c25fb7f1c9d981740bf5f92d", + "bytes": 95672 + }, + "chunk-1-00005.m4s": { + "sha256": "502e3dd1ce6ca85c442ba849e605a1b0cb1ca23472af6fe6e0dacaea8a38d5dc", + "bytes": 82244 + }, + "chunk-1-00006.m4s": { + "sha256": "34d6e27576dc3c834d0aff9e5925581a899c354c4fdd34fc639cc63f9807c62f", + "bytes": 90139 + }, + "chunk-2-00001.m4s": { + "sha256": "23eaaffa433ed1808f57b95e14b85fba15b2d7e8eea6c51fd02ce409dbccf7de", + "bytes": 12437 + }, + "chunk-2-00002.m4s": { + "sha256": "f40e15cb8d377dcd4eeac508493694e4a131fd4a0d970ff2636b1b40fc728f0a", + "bytes": 12641 + }, + "chunk-2-00003.m4s": { + "sha256": "e1a1f49359d23f460f9b0a32df5f5da7ba6d234fe59cc4a9c0a5f7e201fed643", + "bytes": 12663 + }, + "chunk-2-00004.m4s": { + "sha256": "a5b0625a33a62cf2b73414c92b7c9f6ac945650d3ff6dadaff26705d10920bf6", + "bytes": 12657 + }, + "chunk-2-00005.m4s": { + "sha256": "ed446e2eb99474765e9b0eb40728bd5d79eba79e74b5fa688a0dbddfb3f4b82a", + "bytes": 12682 + }, + "chunk-2-00006.m4s": { + "sha256": "6b969d834a87836f84eac8769fba2962c8303aacbb832f4710e642a371c6e38e", + "bytes": 13008 + }, + "chunk-3-00001.m4s": { + "sha256": "9171ffc0421c4dc0f874eb8801c2df0b4bf312981a8841455b13081cca1b0feb", + "bytes": 12453 + }, + "chunk-3-00002.m4s": { + "sha256": "da7a827ad08e9b48647f2bc6c90d5db1b53ef15965575d38b7e9facbddd37fc1", + "bytes": 12644 + }, + "chunk-3-00003.m4s": { + "sha256": "3d5f9fd99a21ce3d59f11416936d79252a12bc95560988f1abe4ccf802733ebc", + "bytes": 12643 + }, + "chunk-3-00004.m4s": { + "sha256": "eeca9b9a3f91c8491ad663cb5d686b168c530dc771d46c35ff5919b3a8b4ee37", + "bytes": 12678 + }, + "chunk-3-00005.m4s": { + "sha256": "747526362131944d696b09059ba0a19c106e363a30fa07cf7ec86081c4e277e8", + "bytes": 12582 + }, + "chunk-3-00006.m4s": { + "sha256": "5234fd26fd201536c839a1740d3bd57a5fe8c86e3e180f7f1e4c70cc41f30072", + "bytes": 13077 + }, + "init-0.m4s": { + "sha256": "d0a16341c48647e27452db83de88f88209dbec7e539e159e5057469d28980881", + "bytes": 827 + }, + "init-1.m4s": { + "sha256": "3e814e958e68e98f947883a2b7511a36fb06db127ea074ccd569af0200839948", + "bytes": 828 + }, + "init-2.m4s": { + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423", + "bytes": 764 + }, + "init-3.m4s": { + "sha256": "866460ae9e8465b1473c3dbbc63f38416815d75d906790109575cf1de8332423", + "bytes": 764 + }, + "master.mpd": { + "sha256": "6a4cb0a956861dee9aff1c592525c41fb4cf660be86b4c3892a91a46aeec53ef", + "bytes": 2986 + }, + "single.mpd": { + "sha256": "bdbd8a027281cefec1d4021d7e5a2731875188eb331612bc35eef75f265a700b", + "bytes": 1227 + }, + "video-only.mpd": { + "sha256": "b7f8d37c023810ecc38a2564d4644eda4b5a0b0dd2d10dfd39f70a4b49be0566", + "bytes": 1622 + } + } + }, + "capability": { + "sdk": false, + "mse": "undefined", + "managed": "undefined", + "avc": false, + "aac": false + } + }, + "89d0eaf67d8edf7352355a969cc0043eb7eff7d0af7ec2f315ada034ff3dc988": { + "published": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "2d639a5c6a7044ada2b1d74e5b039d4cc787996b997c5a186a67724848f36c2a", + "candidate": { + "kind": "explicit-artifact", + "file": "packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "2d639a5c6a7044ada2b1d74e5b039d4cc787996b997c5a186a67724848f36c2a" + }, + "scope": "Real ArtPlayer DOM and native MP4 with controlled SDK methods. No dash.js instance, MPD, ABR or adaptive media validation.", + "core": "published", + "plugin": "candidate", + "selected": { + "kind": "explicit-artifact", + "file": "packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "2d639a5c6a7044ada2b1d74e5b039d4cc787996b997c5a186a67724848f36c2a" + } + }, + "f8262dd9af7094d2ffdb4fa9917d2586056e1a65daed624fcf10c17faa6d69d7": { + "published": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "metadataUrl": "https://registry.npmjs.org/artplayer-plugin-dash-control/1.1.0", + "tarball": "https://registry.npmjs.org/artplayer-plugin-dash-control/-/artplayer-plugin-dash-control-1.1.0.tgz", + "integrity": "sha512-EssRkzYXWcln3a6nAzi4ESacBhzMih8s0bzdjXuvBBCh2UFmvK99ITD5E+0cuU8i5ZzIQGQSdce1/gANTrX0BQ==", + "sha256": "f4047a569d99b6a7de57b3719b7ad40109f2a1d360566a840f50ab32aacefcd9", + "archiveBytes": 3385, + "registryGitHead": "daf133b22630b4a0eecfa3336bbddab0e9119d96", + "files": { + "package/README.md": "98982f1123ff9a11f5d3d9a52da6e8fea9cd0989f7465605c27b0f9a46f2dbcd", + "package/dist/artplayer-plugin-dash-control.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.legacy.js": "f0cbbcf8badeaca13c05ae178932818cb52fbce37ed504ac0e62160b9c7e1145", + "package/dist/artplayer-plugin-dash-control.mjs": "e32bf08c33a481781883067dcc639f0495c9dcb8a88b91be13736370f4932fc4", + "package/package.json": "556e2adc479bab36c5973de617c0b57c5d86aa8425643a1952ab04738e9ce927", + "package/types/artplayer-plugin-dash-control.d.ts": "e15ef683e0c335d81531587828593325e037efe7ed29c022477cd14fe71aebba" + }, + "manifest": { + "name": "artplayer-plugin-dash-control", + "version": "1.1.0", + "description": "Dash control plugin for ArtPlayer", + "author": "Harvey Zhao ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + ".": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.mjs", + "require": "./dist/artplayer-plugin-dash-control.js" + }, + "./legacy": { + "types": "./types/artplayer-plugin-dash-control.d.ts", + "import": "./dist/artplayer-plugin-dash-control.legacy.js", + "require": "./dist/artplayer-plugin-dash-control.legacy.js" + } + }, + "main": "./dist/artplayer-plugin-dash-control.js", + "module": "./dist/artplayer-plugin-dash-control.mjs", + "types": "./types/artplayer-plugin-dash-control.d.ts", + "legacy": "./dist/artplayer-plugin-dash-control.legacy.js", + "browserslist": "last 1 Chrome version" + } + }, + "sourceSHA256": "2d639a5c6a7044ada2b1d74e5b039d4cc787996b997c5a186a67724848f36c2a", + "candidate": { + "kind": "explicit-artifact", + "file": "packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "2d639a5c6a7044ada2b1d74e5b039d4cc787996b997c5a186a67724848f36c2a" + }, + "scope": "Real ArtPlayer DOM and native MP4 with controlled SDK methods. No dash.js instance, MPD, ABR or adaptive media validation.", + "core": "candidate", + "plugin": "candidate", + "selected": { + "kind": "explicit-artifact", + "file": "packages/artplayer-plugin-dash-control/dist/artplayer-plugin-dash-control.js", + "sha256": "2d639a5c6a7044ada2b1d74e5b039d4cc787996b997c5a186a67724848f36c2a" + } + } + }, + "installed": { + "report": { + "file": "refactor/.cache/dash-package-types-9wPqYp/report.json", + "sha256": "b8c828c0c8865b389e4e0579cc17519bf9ad1e4ad4e4ad4f978da87e9e07746c", + "bytes": 24604 + }, + "suite": "dash-isolated-package-types", + "introducedBy": "PKG-DASH-04", + "scope": "Packed current core and DASH, offline Yarn install and frozen reinstall outside workspace; isolated public type acceptance only, not complete package runtime/SDK/media release validation.", + "packages": [ + { + "name": "artplayer", + "archive": "D:\\github\\ArtPlayer\\refactor\\.cache\\dash-package-types-9wPqYp\\artplayer.tgz", + "sha256": "d4a0cc5dcbe015e254b3bce64d505ee4e010792ab70414bcf8d0139d7c413b75", + "files": { + "package/ARCHITECTURE.md": "dad3ccb55f25c63e0eb3b8d5f25b21db58431c48f84a2d9eb046b2492ac6cedc", + "package/README.md": "1e185e65f67fc2081b4182bbc6c4558ea05b6e3fa3acc5dd0c3ac7df1d542b09", + "package/THIRD_PARTY_NOTICES": "b77b5b46b79fa0cda850b0781f78c3b1112c4ed9672fa291956fe8eff53098e7", + "package/dist/artplayer.js": "9148a369636f814b03e6a1ed2a7db222a31b159f93e8a94d52c5a9dde2dfe6a6", + "package/dist/artplayer.legacy.js": "9bde35a6d64234cae15300e37b03204c075ef26126058f48bb3bf97d6e002449", + "package/dist/artplayer.mjs": "265bca0ad3f8373acc84333c19cdded0cbd6b309ede9e51c0bec35685c77eebd", + "package/dist/i18n/ar.js": "bd0bef65f4f7dc3f8ed562904cc6fa9071ff4537fb64c1e0fc3d554141bcd3cb", + "package/dist/i18n/ar.mjs": "59310b7bbeea83bbb7d73aadc5ca82a6ec269c3530d19aa741c94d5c64fc5da8", + "package/dist/i18n/cs.js": "6e2c93daba24c2e48dfa206bcf4f2f2a8a02713b856e404d2e4e4ecd8309ca2f", + "package/dist/i18n/cs.mjs": "c73fba18797d62d7b2581e67fe7340c35fe84510b2250ff1ecaad253d9cabbac", + "package/dist/i18n/es.js": "f4133ac6ea06b69a474b33c4a1809a4066e2376bb9464a3f3aa8330f01f1944a", + "package/dist/i18n/es.mjs": "1390bca3def2be115e811de337df0a0c3f63998e51359f283023246245c552a7", + "package/dist/i18n/fa.js": "8d3ef2e0f0cc0ea480c2167b6fcb87cdf444e90759c3519e8daa139fec576da4", + "package/dist/i18n/fa.mjs": "ab441e8a2d79043b29ceca87c783bf06874bb9d3a149c1604bc167eb481be2a9", + "package/dist/i18n/fr.js": "89dc4194a6c0a962b9ce756b52c90401c1acf3b159f265f3bc0d7d6d7d987f03", + "package/dist/i18n/fr.mjs": "99491878430fb7b6f2b7bf93da0588a831704b412e01116f23ba1d9d45863816", + "package/dist/i18n/id.js": "4c6dc86db741bcc2857df55a9d037e82e91d375fa6fd22e0562809ff621b92db", + "package/dist/i18n/id.mjs": "383e5803a6b6686c6de4e867770241de75b6f517dcca2bdedc6f2004bf6e1fb3", + "package/dist/i18n/pl.js": "3a38828b1c3d719c0aca9906cf6a46c23555a8411f8d57645f0e0ce8147dc664", + "package/dist/i18n/pl.mjs": "079ed96732979035297af387c64a7b99519b5a43107fb86735a654ea4fe8e9b5", + "package/dist/i18n/ru.js": "62fac9dddb302eb16382e6e9301fc4b2c66f5f69d4a358a26b67026a5fa4e787", + "package/dist/i18n/ru.mjs": "a893aeaee1d79409db72e324fbff200e3864f33ed168f04d91d25f7cf2efa765", + "package/dist/i18n/tr.js": "1492c36b069a7d73db4f3913bd18085faff7afd8b3c158138fe264e31600e38c", + "package/dist/i18n/tr.mjs": "a90478cac078836b76c2a98261907610fee07f3e4b28671b8e7dbf533778f918", + "package/dist/i18n/vi.js": "c7216ef7e608a79b7e2c479a07bf310d4ab79577947ac4a62d676faaced0e9cf", + "package/dist/i18n/vi.mjs": "66270fdfa0b5da396322d1769169b7df37a030ba15ac18eb30bd87b3af8074ec", + "package/dist/i18n/zh-tw.js": "11c49857d6d40a5ffd224ffa59c9026e71621b345f63c5a086326db80a22371a", + "package/dist/i18n/zh-tw.mjs": "a38e630cb96de96c15d824686aec750e25cf6c8ada01285a292442a81566314f", + "package/package.json": "82e92699e7c29847f32ac6767ece0401290e7d7a12854722bdbcfd09b90b7954", + "package/types/COMPATIBILITY.md": "a7da9e102a116104b513df4f7451247b7759bc502d3375f30bd5b14a541826e0", + "package/types/README.md": "1bd9868e773610e6312fd48a1c5aa20772d29df0af40c3db66e75b7ab4a1aee0", + "package/types/artplayer.d.cts": "3685065e4263abcfd9d953176e461d5b3eb990b0363b54689a7f55deba770fef", + "package/types/artplayer.d.mts": "b664fec51ee5c5381f2ceab25d99d52aee56feab04a2ee7b4ea5b2145ea5fa0e", + "package/types/artplayer.d.ts": "5d0162adf7ac6d0f2bb9b5cfe361f28657c4d9c540cadbf36eba3cc954ce50f8", + "package/types/component.d.ts": "ae5bc1ddeaa1ee1ebbc62573e32423993727079205c64751a5a314170e588a32", + "package/types/config.d.ts": "36f9a84cd436f17701a0d11d3417fc1fe0414e0c52c80083b94a85dfc329e37e", + "package/types/cssVar.d.ts": "93217860fff2ebf750f606d95ddd22220a58837119e63bdf2f5f78fd7488458b", + "package/types/emitter.d.ts": "7e1f9a2a8ce65feb95734f1ed52d1334e57aa388bbef2a43d8bc53a9b6f6623c", + "package/types/events.d.ts": "f83624c9268a284477e8bd793fe3562a2363b72f2a44d5c64fe8c6a6cede8830", + "package/types/i18n.d.ts": "f4f2f05bdfda73c74fef34767cb18ee8e11b743120b1c4598e9714d7846018e5", + "package/types/icons.d.ts": "326a67ba7bdcf52862c5b2a269e540140aff98d05c7b96196485a77f84fe5960", + "package/types/language.d.cts": "f7928e108cf7b7814c2d75cb0a525333e95873fca6cd6d89a740450656b9c1cd", + "package/types/language.d.mts": "6619a26d604b7cccbe2f596243d87ae37cfaae33b8b52874ec071d9787446f9e", + "package/types/legacy/language.d.ts": "c7abda4d506fd933c350e9030290bf9e64347a921d683a66115da1995ebe0a81", + "package/types/option.d.ts": "ccf2c8ddc537dc65c9682d39f044726e23bff18f476b622512d7e6a4b949b5f6", + "package/types/playback.d.ts": "58705c273df6e76a77a6575e769a9ec6c013785c25080f2551aa22415788d870", + "package/types/player.d.ts": "92b00211b70ac71336e495899df972a0519dd138111846044fe4e0f967966177", + "package/types/plugin.d.ts": "fc3594a41c51d8248713e33c486fb1f6a518ac5c7ce31be6988a6cd8d052c5f3", + "package/types/quality.d.ts": "1ac1a48b4f74ff9ba1ce60443e1463d50d1c6a2e5d87d63dc7d2a8eb7f4c2c34", + "package/types/runtime.d.cts": "7ee988dfea9a0ac71a34a656f96f7b74e78aa92547cfdfab7ff7e1139a77d4a3", + "package/types/runtime.d.mts": "dcb85f59a8b7714918ced0c1d18c2bb24e8b80b56d8c594e019dcbdb5ad88b08", + "package/types/runtime.d.ts": "9c6ccd39a1be293f17ae46dae8ea077053e12635ee79d73a5e3b3a559230fcff", + "package/types/runtime/component.d.ts": "1b4c0cee44568649e80140fe778febfcae88af0ac85515f1cbeff78ab0c6d14f", + "package/types/runtime/construction.d.ts": "7a87bedf6f7ffff0c46078aa5f1551e0077d35574e286516121f5f935e2d9ce4", + "package/types/runtime/events.d.ts": "a1e2f9d387475453eaf95c2a5ee79e228636c0bb859bda3fcc46da46574a0c31", + "package/types/runtime/media.d.ts": "8fc89401be7fe25542c169d07dd5675f10916ed20be8493e19695966cf3864a8", + "package/types/runtime/option.d.ts": "6e334e1a76fdcc40b4665c02523bd31c3994d96078fadeb40e23422aa54c1a1d", + "package/types/runtime/player.d.ts": "8ac6383502e4872e83659838844856903031a81a0adc8e8535feb78453aa042c", + "package/types/runtime/plugin.d.ts": "8528f2b17843149f42f9cc16d6fd70baa238c9dc2c329b67d2c38096799c69bd", + "package/types/runtime/services.d.ts": "604c9f8e4b6c0da818f96576bf9f4b0e96085a9003927b2f7ba30027b1ba237e", + "package/types/runtime/setting.d.ts": "349c1fcb205ad312916bd3ee55e6bf241ea8a569fb2ab6c80822e69fc518f7d7", + "package/types/runtime/subtitle.d.ts": "269ff84678d327b3a9dc2f5bc6cc0d731d1e081b85422e474621d5d792efb153", + "package/types/runtime/template.d.ts": "7a62f968a38b4bf9109a4439557c02074eb1d62ba1f6e21a8eb194e91f0badfe", + "package/types/runtime/utils.d.ts": "6bf731705d86853e066dbaf3b8d4003b6548423fe615b7412b722bd0d3a6e48b", + "package/types/setting.d.ts": "08305a75dff96f06490430e099338b463df471b550c1d0dac3abc8995b39eb09", + "package/types/subtitle.d.ts": "b18314e2d64efdb6045830b6e12f615ae2ed585416130e562329ad3ea337f6ce", + "package/types/template.d.ts": "4792bc0c2cbcb7966e4375118bd34b326166e0831862e94ace4cf6b1bbe6a8c8", + "package/types/utils.d.ts": "fca0d3d814df94a25f9eb067c86fa0cf272e2791bac793b91229d57680797712" + }, + "installedArtifacts": "D:\\github\\ArtPlayer\\refactor\\.cache\\dash-package-types-9wPqYp\\installed-artifacts\\artplayer" + }, + { + "name": "artplayer-plugin-dash-control", + "archive": "D:\\github\\ArtPlayer\\refactor\\.cache\\dash-package-types-9wPqYp\\artplayer-plugin-dash-control.tgz", + "sha256": "ec0178b8db0486ff8ac3067fef68e47fdbde146cdab44d010ab84a0907bd8bd0", + "files": { + "package/ARCHITECTURE.md": "dd538660c423b2870e20daebbde9088089027c62556860abcae11dc1d49cf701", + "package/README.md": "db6bad6f8c965854f405ee4c84fc160fe2905e41ca68c4c9d77d75085f1c32ea", + "package/dist/artplayer-plugin-dash-control.js": "02784a47302ab9bdefae878ffb8a2f2ed23d773defa20f0903eb53a3a78eed57", + "package/dist/artplayer-plugin-dash-control.legacy.js": "c785bc153027e1f6ff79e2b87c8826dd48914441b8391ae251ab4cd53d6dd73e", + "package/dist/artplayer-plugin-dash-control.mjs": "1c0442ba7e4b5575296cedca7c39701fce1f3b748e3f742859115be7b33bbd17", + "package/package.json": "0757055e9d84e95a3fe2278b86aefad75ddf6e3a902a2e010645f82d9936a158", + "package/types/artplayer-plugin-dash-control.d.cts": "20cbbeed90e0cd7d7b536b945dd01f31679e4325854aa36b732cb8e6ccc70d02", + "package/types/artplayer-plugin-dash-control.d.mts": "f52ae616c501be0685a14cb4e48252c88a67c9d4b0a9c1138921de89521f6b81", + "package/types/artplayer-plugin-dash-control.d.ts": "8470943bc5f2461f8b5d7420c0fd53828279c5dd8804c044f4c3b516f433506d" + }, + "installedArtifacts": "D:\\github\\ArtPlayer\\refactor\\.cache\\dash-package-types-9wPqYp\\installed-artifacts\\artplayer-plugin-dash-control" + } + ], + "matrix": [ + { + "compiler": "5.9.3", + "mode": "node10-commonjs", + "diagnostics": [], + "invalid": [ + { + "code": 2322, + "message": "Type 'void' is not assignable to type 'Promise'." + }, + { + "code": 2554, + "message": "Expected 0 arguments, but got 1." + }, + { + "code": 2322, + "message": "Type '\"dash\"' is not assignable to type '\"artplayerPluginDashControl\"'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Target signature provides too few arguments. Expected 2 or more, but got 1.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Target signature provides too few arguments. Expected 2 or more, but got 1." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option'." + }, + { + "code": 2339, + "message": "Property 'unknownProperty' does not exist on type 'QualityLevel'." + } + ] + }, + { + "compiler": "5.9.3", + "mode": "nodenext-cjs", + "diagnostics": [], + "invalid": [ + { + "code": 2322, + "message": "Type 'void' is not assignable to type 'Promise'." + }, + { + "code": 2554, + "message": "Expected 0 arguments, but got 1." + }, + { + "code": 2322, + "message": "Type '\"dash\"' is not assignable to type '\"artplayerPluginDashControl\"'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Target signature provides too few arguments. Expected 2 or more, but got 1.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Target signature provides too few arguments. Expected 2 or more, but got 1." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option'." + }, + { + "code": 2339, + "message": "Property 'unknownProperty' does not exist on type 'QualityLevel'." + } + ] + }, + { + "compiler": "5.9.3", + "mode": "nodenext-esm", + "diagnostics": [], + "invalid": [ + { + "code": 2322, + "message": "Type 'void' is not assignable to type 'Promise'." + }, + { + "code": 2554, + "message": "Expected 0 arguments, but got 1." + }, + { + "code": 2322, + "message": "Type '\"dash\"' is not assignable to type '\"artplayerPluginDashControl\"'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Target signature provides too few arguments. Expected 2 or more, but got 1.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Target signature provides too few arguments. Expected 2 or more, but got 1." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option'." + }, + { + "code": 2339, + "message": "Property 'unknownProperty' does not exist on type 'QualityLevel'." + } + ] + }, + { + "compiler": "5.9.3", + "mode": "bundler-esm", + "diagnostics": [], + "invalid": [ + { + "code": 2322, + "message": "Type 'void' is not assignable to type 'Promise'." + }, + { + "code": 2554, + "message": "Expected 0 arguments, but got 1." + }, + { + "code": 2322, + "message": "Type '\"dash\"' is not assignable to type '\"artplayerPluginDashControl\"'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Target signature provides too few arguments. Expected 2 or more, but got 1.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Target signature provides too few arguments. Expected 2 or more, but got 1." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option'." + }, + { + "code": 2339, + "message": "Property 'unknownProperty' does not exist on type 'QualityLevel'." + } + ] + }, + { + "compiler": "4.3.5", + "mode": "node10-commonjs", + "diagnostics": [], + "invalid": [ + { + "code": 2322, + "message": "Type 'void' is not assignable to type 'Promise'." + }, + { + "code": 2554, + "message": "Expected 0 arguments, but got 1." + }, + { + "code": 2322, + "message": "Type '\"dash\"' is not assignable to type '\"artplayerPluginDashControl\"'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option'." + }, + { + "code": 2339, + "message": "Property 'unknownProperty' does not exist on type 'QualityLevel'." + } + ] + } + ] + }, + "scope": [ + "One private dispatcher replaces four duplicate truthiness-based cleanup loops. Preserve first thrown value, ordered remaining cleanup, snapshot ownership, stale revision checks and caller SDK ownership. No public types, defaults, runtime dependencies or lockfile changes.", + "Six new source regressions cover seven falsy values with Object.is and independent threw flags. Existing source suite: 167 passed. Installed main/legacy/module plus source and historical controlled contracts: 470 passed, not 470 independent new regression cases.", + "Controlled SDK browser cases use actual old/new core controls, native MP4 and beforeUnmount callbacks; they are not adaptive SDK playback acceptance. A throwing user callback can prevent its own core control removal; sibling menus still release and the original value propagates.", + "Separate actual SDK browser runs use hash-pinned dash.js 4.5.2/5.2.1, local MPD media, old/new core, source topology cleanup and asynchronous formatter recovery. Windows WebKit lacks MSE; skipped actual SDK cases do not count as playback success.", + "Yarn packs current core and DASH, installs outside workspace, performs frozen offline reinstall, checks every file and retains checked installed copies before removing the temporary consumer. Five type modes have zero positive diagnostics and eight expected negative diagnostics each.", + "The three dist files, docs/compiled copies, installed copies and package architecture document have matching hashes. Scoped completion does not close full package SDK/device/release gates or authorize publishing.", + "Repeated input attachments are deduplicated by their original attachment SHA256. SDK event arrays retain their count and last twenty entries; buffer snapshots retain their count and last three entries; track/level state retains identifying fields. Full unabridged reports are retained at the referenced local paths with file hashes." + ] +} diff --git a/refactor/changes/2026-09-15-PKG-DASH-CLEANUP-01-errors.md b/refactor/changes/2026-09-15-PKG-DASH-CLEANUP-01-errors.md new file mode 100644 index 000000000..f23ac3a78 --- /dev/null +++ b/refactor/changes/2026-09-15-PKG-DASH-CLEANUP-01-errors.md @@ -0,0 +1,71 @@ +# PKG-DASH-CLEANUP-01 保留 DASH 清理的首个原始异常 + +来源 HEAD:`1c522f181be42f1c3fe5ce309cd42d85e58ac4dc`。 +对应 API-04 异常传播、API-05 生命周期和 API-07 控件集成。 + +## 缺陷、结构与兼容边界 + +原来四处清理循环使用 `failure ||= error` 记录失败,并用 `if (failure)` 判断 +是否抛出。用户通过公开 controls.update 注册的 beforeUnmount 抛出 undefined、 +null、false、0、-0、空字符串或 NaN 时,这些值被吞掉,或被后续清理的 Error +覆盖。SDK off 的自定义包装抛出同类值也会受到影响。 + +新增私有 cleanup.ts,把菜单、SDK 订阅、整个插件的清理调度归到一个实现。 +独立 failed 标记与 unknown 原值分别表示“发生异常”和“异常是什么”;继续 +执行快照中其余清理,最后原样抛出第一个值。入口的 revision 检查继续在每个 +菜单清理动作之前执行;SDK 绑定和菜单所有权仍先失效,防止重入及迟到回调。 +八个模块的责任与维护入口在包内 ARCHITECTURE.md 同步说明。 + +不改公开工厂、同步 update、选项、DOM/CSS、类型及分发路径;没有新运行时依赖、 +版本或锁文件变化。SDK 仍由调用方所有。异步 SDK 刷新失败继续清理并 warn; +同步 update/destroy 才沿原调用栈传播错误,未将其改成 Promise。 + +核心 beforeUnmount 自身的异常可阻止该控件删除。插件会清理其他菜单并传播 +原值,不绕过核心回调删除这个控件,也不承诺出错后整个 ArtPlayer.destroy +仍然完成。重复插件销毁、失效回调和剩余监听器释放分别由回归覆盖。 + +## 复现与验证 + +新增六项源码回归在未修复候选上全部失败;修复后每项实际遍历七种值,用 +独立 threw 标记和 Object.is 检查,区分未抛出/throw undefined、0/-0、NaN。 +覆盖 update、destroy、SDK off、后续错误覆盖、兄弟资源释放和重复销毁。 + +浏览器首轮四项失败来自测试输入复用旧 selector 对象:核心已经在其上定义 +不可重新定义的 $control_option。修正测试为传入新的 selector 对象后,仍使用 +公开 controls.update 和 beforeUnmount;这次在未修复产物上四项 Chromium +回归均因异常被吞掉而失败。两份失败报告分别保留,首轮不计产品缺陷复现。 + +源码专项 167 项通过;加载仓库外实际安装并保留的 main/legacy/module 三种 +产物后,加上源码及历史对照共 470 项通过。不是新增了 470 个独立回归。 +严格包类型、定向 lint、三格式正常构建及严格工具链检查通过。 + +Yarn Classic 1.22.22 / Node 24.21.0;Yarn pack 后在仓库外离线安装,再冻结锁 +重装并逐文件核对。5 组 TS 5.9.3/4.3.5 模块配置的正例零诊断,每组拒绝 +8 项非法调用,共 40 个预期错误。脚本保留核对后的安装副本,支持随后直接 +验证该份文件,而不重新构建冒充安装产物。 + +浏览器采用 Windows 上 Playwright 管理的 Chromium 153.0.8010.12、Firefox +155.0 和 WebKit 26.6。结果如下;没有用 Chrome 扩展连接或模拟 SDK 代替实播。 + +| 输入与范围 | 通过 | 跳过 | +| --- | --- | --- | +| 源码,新增真实核心回调回归 | 12 | 0 | +| 安装 main,完整受控 SDK/DOM/原生 MP4 套件 | 96 | 0 | +| 安装 legacy,同套件的候选插件场景 | 72 | 0 | +| 安装 main,真实 SDK 解码/UI、换源清理、异步错误恢复 | 24 | 12 | +| 安装 legacy,同组真实 SDK 场景 | 24 | 12 | + +合计 228 项通过、24 项能力跳过,没有失败或重试;main 中额外的发布旧插件 +对照不在 legacy 轮重复执行。三格式 dist、docs/compiled 与安装副本逐字节一致, +安装包 ARCHITECTURE.md 与当前包内文档也一致。根 test:dash-control/test:unit +已纳入新增回归。本轮浏览器和分发核对结果见 +[机器证据](../baselines/dash-cleanup-errors-validation.json)。 +真实 SDK 播放与受控 SDK 的 DOM 测试分开记录;Windows WebKit 缺失 MSE 的 +真实 MPD 场景不能算播放通过。物理设备、完整安装/SDK 矩阵和发布验收仍由 +PKG-DASH-05/06 负责。本轮没有推送、部署或发布。 + +## 回退与交付 + +本任务单独提交实现、测试、打包产物、文档、风险和任务状态。回退该提交会 +恢复四个有缺陷的清理循环,并撤销本次回归和安装副本保留能力;不会撤销 +此前 TS 迁移、SDK 自动刷新、菜单导航或 SDK 4.5.2 seek 恢复。 diff --git a/refactor/dash-validation.md b/refactor/dash-validation.md index 16eb66f72..47587bd07 100644 --- a/refactor/dash-validation.md +++ b/refactor/dash-validation.md @@ -2,14 +2,15 @@ 测试保护真实 npm 1.1.0 的既有调用契约,以及重构前工作区的 SDK 5.x 稳定 ID 修正。 版本来源见 [发布契约](baselines/dash-control-contract.md)。02 建立基线,03 改造运行行为, -04 已把五个自有模块迁移为严格 TS 并补齐公开类型与编辑器生成;05 新增第六个 SDK 事件模块。 +04 把五个自有模块迁移为严格 TS 并补齐公开类型与编辑器生成;后续增加 SDK 事件、 +4.5.2 seek 恢复和清理调度,当前八个自有模块均为严格 TS。 实际模块地图与生命周期规则见 [包内架构](../packages/artplayer-plugin-dash-control/ARCHITECTURE.md)。 ## 可重跑的测试 -- `yarn test:dash-control`:原有 118 项与两代 SDK 各 13 项事件/清理/重入回归,共 144 项。 +- `yarn test:dash-control`:当前 167 项,覆盖历史契约、两代 SDK、事件/清理/重入及原始异常。 该脚本和 `test:unit` 都保留旧测试,完整 CI 自动执行。 -- `yarn test:browser test/browser/dash-control.spec.js --trace on`:84 项,两个核心、发布插件 SDK 4/ +- `yarn test:browser test/browser/dash-control.spec.js --trace on`:96 项,两个核心、发布插件 SDK 4/ 候选插件 SDK 4/5、两类菜单、两种选择及候选清理、Chromium/Firefox/WebKit。 浏览器套件串行运行,避免共享端口和报告覆盖。 - `yarn ci:check`:工具链、计划、lint、声明漂移、严格类型和 Node/基线测试。 @@ -19,6 +20,8 @@ TS 4.3.5/5.9.3、五种模块模式、八条非法用法及实际 npm 旧声明的消费者对照。 - `yarn test:dash-types-package`:Yarn 打包核心/DASH、工作区外离线安装与冻结锁重装, 检查五种模式、CommonJS callable/命名空间、每模式八条非法调用,并拒绝解析回工作区。 + 报告中的 `installedArtifacts` 保留已逐文件核对 tarball 哈希的安装副本,供后续 + `ARTPLAYER_TEST_DASH` 和 `ARTPLAYER_DASH_ARTIFACT` 运行时验证。 - `yarn test:browser test/browser/dash-sdk.spec.js --trace on`:真实 npm dash.js 4.5.2/5.2.1, 本地多画质/多音轨 MPD,新旧核心/插件、外部同步 update、自动事件刷新、同 SDK 换源、 formatter 错误恢复、实际设置点击和 SDK 原生对照。目前完整定义 114 项。 diff --git a/refactor/plan.md b/refactor/plan.md index 80efff604..913ea7205 100644 --- a/refactor/plan.md +++ b/refactor/plan.md @@ -2,9 +2,9 @@ > 由 tasks.json 生成。请修改数据后运行 `node refactor/scripts/plan.mjs --write`,不要手改本表。 -基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 268 项,范围 22 个包及工作区/示例。 +基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 269 项,范围 22 个包及工作区/示例。 -状态:todo 43 / doing 21 / blocked 0 / done 204 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。 +状态:todo 43 / doing 21 / blocked 0 / done 205 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。 前置依赖是启动条件;验收是完成条件。任务可以继续拆分,但不能复用或悄悄删除旧 ID。 @@ -24,7 +24,7 @@ | artplayer-plugin-chromecast | 1.1.0 | PKG-CAST-01, PKG-CAST-02, PKG-CAST-03, PKG-CAST-04, PKG-CAST-05, PKG-CAST-06 | | artplayer-plugin-danmuku | 5.3.0 | PKG-DANMUKU-01, PKG-DANMUKU-02, PKG-DANMUKU-03, PKG-DANMUKU-04, PKG-DANMUKU-05, PKG-DANMUKU-06, PKG-DANMUKU-07, PKG-DANMUKU-08, PKG-DANMUKU-09, PKG-DANMUKU-10, PKG-DANMUKU-11, PKG-DANMUKU-12, PKG-DANMUKU-MASK-LOAD-01 | | artplayer-plugin-danmuku-mask | 1.1.0 | PKG-MASK-01, PKG-MASK-02, PKG-MASK-03, PKG-MASK-04, PKG-MASK-05, PKG-MASK-06, ENG-LINT-01, PKG-DANMUKU-MASK-LOAD-01 | -| artplayer-plugin-dash-control | 1.1.0 | PKG-DASH-01, PKG-DASH-02, PKG-DASH-03, PKG-DASH-04, PKG-DASH-SEEK-01, PKG-DASH-MENU-01, PKG-DASH-05, PKG-DASH-06 | +| artplayer-plugin-dash-control | 1.1.0 | PKG-DASH-01, PKG-DASH-02, PKG-DASH-03, PKG-DASH-04, PKG-DASH-SEEK-01, PKG-DASH-MENU-01, PKG-DASH-05, PKG-DASH-06, PKG-DASH-CLEANUP-01 | | artplayer-plugin-document-pip | 1.1.0 | PKG-DPIP-01, PKG-DPIP-02, PKG-DPIP-03, PKG-DPIP-04, PKG-DPIP-05, PKG-DPIP-06 | | artplayer-plugin-hls-control | 1.1.0 | PKG-HLS-01, PKG-HLS-02, PKG-HLS-03, PKG-HLS-04, PKG-HLS-SDK-01, PKG-HLS-05, PKG-HLS-06, PKG-HLS-PACK-01 | | artplayer-plugin-jassub | 1.1.0 | PKG-JASSUB-01, PKG-JASSUB-02, PKG-JASSUB-03, PKG-JASSUB-04, PKG-JASSUB-05, PKG-JASSUB-06, PKG-JASSUB-07, PKG-JASSUB-08, PKG-JASSUB-09, PKG-JASSUB-10 | @@ -222,8 +222,9 @@ | PKG-DASH-04 | artplayer-plugin-dash-control
迁移自有源码和公开类型 | PKG-DASH-03, ENG-04, ENG-06, CORE-07 | dash.js adapter、selector 和回调类型 | 严格类型检查、旧消费样例通过;声明路径/导出和同步异步兼容 | H | done | | PKG-DASH-SEEK-01 | artplayer-plugin-dash-control
修复 SDK 4.5.2 暂停跳转后的缓冲指标停滞 | PKG-DASH-04 | 按版本和实测空缓冲限定的指标同步、生命周期守卫及真实 SDK 旧红新绿 | 新插件在新旧核心及 Chromium/Firefox 原位置回归通过;不修改 SDK 方法/配置、媒体时间或删除缓冲;旧 SDK 原生缺陷与旧插件限制独立记录,不宣称第三方本体已修复 | H | done | | PKG-DASH-MENU-01 | artplayer-plugin-dash-control
定位并修复 SDK 刷新期间设置选项不可见 | PKG-DASH-SEEK-01 | 真实 SDK 菜单点击失败根因、对应兼容修复及新旧核心回归 | 保留 legacy/旧核心/SDK5.2.1 的原失败;确定菜单在点击过程中不可见的原因;不靠 force 点击、扩大超时或重复运行覆盖问题;main/legacy 质量与音轨设置及 SDK 刷新组合通过 | H | done | -| PKG-DASH-05 | artplayer-plugin-dash-control
验证新旧核心和组合 | PKG-DASH-04, CORE-22, PKG-DASH-SEEK-01 | 固定 dash.js 4.5.2/5.2.1 与本地 DASH 实际清晰度/音轨、高亮、Auto 和换源组合 | 最终核心与原支持范围核心分别通过;设备/SDK 缺证据不能标完成 | H | doing | +| PKG-DASH-05 | artplayer-plugin-dash-control
验证新旧核心和组合 | PKG-DASH-04, CORE-22, PKG-DASH-SEEK-01, PKG-DASH-CLEANUP-01 | 固定 dash.js 4.5.2/5.2.1 与本地 DASH 实际清晰度/音轨、高亮、Auto 和换源组合 | 最终核心与原支持范围核心分别通过;设备/SDK 缺证据不能标完成 | H | doing | | PKG-DASH-06 | artplayer-plugin-dash-control
验证分发并同步文档 | PKG-DASH-05, ENG-07, PKG-DASH-MENU-01 | dash.control.js、支持的 dash.js 版本与产物 | tarball 入口/资源、类型、8082 demo 和 README 一致,有回退记录 | H | todo | +| PKG-DASH-CLEANUP-01 | artplayer-plugin-dash-control
保留菜单和SDK清理的首个原始异常 | PKG-DASH-04 | 集中DASH清理调度与首错传播,保留重入保护;falsy异常、真实控件beforeUnmount、分发及文档验证 | 七种falsy值不被吞掉或后续错误覆盖;后续资源释放和生命周期回归通过,不更改公开API、SDK归属或异步刷新边界 | M | done | ## 5 包迁移:artplayer-plugin-multiple-subtitles @@ -702,3 +703,4 @@ - SITE-CONSOLE-01: [记录](console-modernization.md) [记录](changes/2026-09-15-SITE-CONSOLE-01-typescript.md) [记录](baselines/site-console01-validation.json) - PKG-AUTO-THUMB-12: [记录](changes/2026-09-15-PKG-AUTO-THUMB-12-metadata.md) [记录](baselines/auto-thumbnail-metadata-validation.json) - PKG-TOOL-THUMB-07: [记录](changes/2026-09-15-PKG-TOOL-THUMB-07-cleanup-errors.md) [记录](baselines/thumbnail-cleanup-errors-validation.json) +- PKG-DASH-CLEANUP-01: [记录](changes/2026-09-15-PKG-DASH-CLEANUP-01-errors.md) [记录](baselines/dash-cleanup-errors-validation.json) diff --git a/refactor/progress.md b/refactor/progress.md index 91d633a5e..131c792b3 100644 --- a/refactor/progress.md +++ b/refactor/progress.md @@ -1,5 +1,19 @@ # 进度与证据 +## PKG-DASH-CLEANUP-01 清理异常与职责归一 + +四处清理循环改为私有 cleanup.ts,保留首个原始异常值、剩余资源释放和重入保护。 +未修复源码6失败,修正测试输入后的未修复产物4项Chromium失败;首轮输入复用 +导致的4项setup失败单独保留。修复后源码167通过,安装三格式与历史/源码共470通过。 + +source: 12通过/0跳过;main: 96通过/0跳过;legacy: 72通过/0跳过;sdk-main: 24通过/12跳过;sdk-legacy: 24通过/12跳过。 +受控SDK的DOM验证与真实dash.js 4.5.2/5.2.1播放/换源/异步恢复分开记录; +Windows WebKit MSE缺失的跳过不计实际播放。5组隔离类型正例和40预期负例成立, +三格式、文档副本与安装文件字节一致。详见[记录](changes/2026-09-15-PKG-DASH-CLEANUP-01-errors.md)和[证据](baselines/dash-cleanup-errors-validation.json)。 + +任务完成,DASH-05继续doing;205 done、21 doing、43 todo,共269项。 +无新依赖、公开类型、版本或锁文件修改;本轮没有推送、部署或发布。 + ## PKG-TOOL-THUMB-07 清理异常传播修复 修复cleanupAll吞掉destroy监听器抛出的falsy值、或被后续异常覆盖的兼容回归。 diff --git a/refactor/risk-table.md b/refactor/risk-table.md index bb78eba4a..a2032e66c 100644 --- a/refactor/risk-table.md +++ b/refactor/risk-table.md @@ -282,3 +282,4 @@ | AUTO-THUMB-METADATA-01 | resolved / 已复现 | Private metadata loading can retain its decoder indefinitely without metadata or media errors | PKG-AUTO-THUMB-12 | | ASR-MEDIA-01 | resolved / 已复现 | ASR accepts obsolete recognition after native media error without pause | PKG-ASR-10, PKG-ASR-05 | | THUMB-CLEANUP-01 | resolved / 已复现 | Thumbnail 清理吞掉 falsy 监听器异常或覆盖第一个异常值 | PKG-TOOL-THUMB-07, PKG-TOOL-THUMB-04 | +| DASH-CLEANUP-01 | resolved / 已复现 | DASH 菜单和 SDK 清理吞掉 falsy 异常或丢失首个错误 | PKG-DASH-CLEANUP-01, PKG-DASH-05 | diff --git a/refactor/risks.json b/refactor/risks.json index 92da067c2..18aaf7cc0 100644 --- a/refactor/risks.json +++ b/refactor/risks.json @@ -6629,6 +6629,30 @@ "refactor/baselines/thumbnail-cleanup-errors-validation.json" ], "resolutionRationale": "Frozen historical destroy contracts preserve all seven falsy values; the prepatch candidate fails exception propagation and first-value ownership. Fixed source and rebuilt main/legacy pass cleanup/resource and actual browser DOM regressions. Installed artifact and type checks pass; historical defaults and WebKit media capability gaps remain outside this narrowly resolved regression." + }, + { + "id": "DASH-CLEANUP-01", + "title": "DASH 菜单和 SDK 清理吞掉 falsy 异常或丢失首个错误", + "confirmation": "reproduced", + "status": "resolved", + "owners": [ + "PKG-DASH-CLEANUP-01", + "PKG-DASH-05" + ], + "evidence": [ + "test/dash-cleanup-errors.test.js", + "test/browser/dash-control.spec.js", + "refactor/changes/2026-09-15-PKG-DASH-CLEANUP-01-errors.md", + "refactor/baselines/dash-cleanup-errors-validation.json" + ], + "compatibleResolution": "共用独立失败标记的清理调度,保存并传播第一个原始值,同时完成剩余资源释放,保留重入/SDK归属及异步警告策略。", + "closureCriteria": "七种falsy值首错身份、兄弟资源释放、重入/销毁专项、真实控件回调、三格式安装和真实SDK回归有证据;设备能力缺口单独保留。", + "workspaceState": "Prepatch: six source failures and four valid Chromium failures; fixed source 167 pass, installed three formats plus source/historical 470 pass. Browser reports distinguish controlled DOM, actual SDK and Windows WebKit MSE skips.", + "resolutionEvidence": [ + "refactor/changes/2026-09-15-PKG-DASH-CLEANUP-01-errors.md", + "refactor/baselines/dash-cleanup-errors-validation.json" + ], + "resolutionRationale": "Corrected public beforeUnmount input reproduces swallowed values against the prepatch artifact. Separate threw and Object.is assertions cover all seven values. Rebuilt and independently installed artifacts pass lifecycle/DOM/SDK regressions; public declarations are unchanged. This resolves the cleanup defect only, not full package device/release acceptance." } ] } diff --git a/refactor/scripts/dash-package-types.mjs b/refactor/scripts/dash-package-types.mjs index 0517c246b..f77d873ec 100644 --- a/refactor/scripts/dash-package-types.mjs +++ b/refactor/scripts/dash-package-types.mjs @@ -38,6 +38,11 @@ async function main() { assert.equal(fs.realpathSync(root), root, 'Installed package is a workspace link') for (const [member, expected] of Object.entries(pkg.files)) assert.equal(hash(fs.readFileSync(path.join(root, member.slice(8)))), expected, `Installed bytes differ: ${member}`) + const retained = path.join(output, 'installed-artifacts', pkg.name) + fs.cpSync(root, retained, { recursive: true }) + for (const [member, expected] of Object.entries(pkg.files)) + assert.equal(hash(fs.readFileSync(path.join(retained, member.slice(8)))), expected, `Retained installed bytes differ: ${member}`) + pkg.installedArtifacts = retained } const matrix = [] for (const [compiler, mode] of [[ts, 'node10-commonjs'], [ts, 'nodenext-cjs'], [ts, 'nodenext-esm'], [ts, 'bundler-esm'], [compat, 'node10-commonjs']]) { diff --git a/refactor/tasks.json b/refactor/tasks.json index d635d1d4f..4ec095648 100644 --- a/refactor/tasks.json +++ b/refactor/tasks.json @@ -2328,7 +2328,8 @@ "dependsOn": [ "PKG-DASH-04", "CORE-22", - "PKG-DASH-SEEK-01" + "PKG-DASH-SEEK-01", + "PKG-DASH-CLEANUP-01" ], "status": "doing", "risk": "H", @@ -5766,6 +5767,25 @@ "changes/2026-09-15-PKG-TOOL-THUMB-07-cleanup-errors.md", "baselines/thumbnail-cleanup-errors-validation.json" ] + }, + { + "id": "PKG-DASH-CLEANUP-01", + "phase": "5 包迁移:artplayer-plugin-dash-control", + "title": "保留菜单和SDK清理的首个原始异常", + "scope": [ + "artplayer-plugin-dash-control" + ], + "dependsOn": [ + "PKG-DASH-04" + ], + "status": "done", + "risk": "M", + "deliverable": "集中DASH清理调度与首错传播,保留重入保护;falsy异常、真实控件beforeUnmount、分发及文档验证", + "acceptance": "七种falsy值不被吞掉或后续错误覆盖;后续资源释放和生命周期回归通过,不更改公开API、SDK归属或异步刷新边界", + "evidence": [ + "changes/2026-09-15-PKG-DASH-CLEANUP-01-errors.md", + "baselines/dash-cleanup-errors-validation.json" + ] } ] } diff --git a/test/browser/dash-control.spec.js b/test/browser/dash-control.spec.js index 9bb6eb5d5..1e8c2bfa2 100644 --- a/test/browser/dash-control.spec.js +++ b/test/browser/dash-control.spec.js @@ -99,6 +99,65 @@ async function openDash(page, core, plugin, sdk, testInfo) { await expect(page.locator('.art-control-dash-audio .art-selector-value')).toHaveText('en') } for (const core of ['published', 'candidate']) { + for (const sdk of [4, 5]) { + test(`${core} core + candidate DASH SDK ${sdk}: falsy unmount errors preserve identity and release sibling menus`, async ({ page }, testInfo) => { + await openDash(page, core, 'candidate', sdk, testInfo) + const result = await page.evaluate((sdk) => { + const art = window.art + const plugin = art.plugins.artplayerPluginDashControl + const method = sdk === 4 ? 'getBitrateInfoListFor' : 'getRepresentationsByType' + const original = art.dash[method] + const results = [] + for (const failure of [undefined, null, false, 0, -0, '', Number.NaN]) { + let armed = false + art.controls.update({ name: 'dash-quality', selector: art.controls.cache.get('dash-quality').option.selector.map(item => ({ ...item })), beforeUnmount() { + if (armed) + throw failure + } }) + armed = true + art.dash[method] = () => [] + let threw = false + let same = false + try { + plugin.update() + } + catch (error) { + threw = true + same = Object.is(error, failure) + } + results.push({ threw, same, audioRemoved: !art.controls['dash-audio'], settingsRemoved: !art.setting.find('dash-quality') && !art.setting.find('dash-audio') }) + armed = false + art.dash[method] = original + if (art.controls['dash-quality']) + art.controls.remove('dash-quality') + plugin.update() + } + let armed = false + art.controls.update({ name: 'dash-quality', selector: art.controls.cache.get('dash-quality').option.selector.map(item => ({ ...item })), beforeUnmount() { + if (armed) + // eslint-disable-next-line no-throw-literal -- Verify the public callback's primitive exception identity. + throw 0 + } }) + armed = true + let destroyThrew = false + let destroySame = false + try { + art.destroy(false) + } + catch (error) { + destroyThrew = true + destroySame = Object.is(error, 0) + } + const siblingRemoved = !art.controls['dash-audio'] + armed = false + if (art.controls['dash-quality']) + art.controls.remove('dash-quality') + return { results, destroyThrew, destroySame, siblingRemoved } + }, sdk) + await testInfo.attach('dash-cleanup-errors', { contentType: 'application/json', body: JSON.stringify({ result, scope: 'Real core beforeUnmount callbacks and native DOM; controlled SDK topology, no adaptive playback claim.' }) }) + expect(result).toEqual({ results: Array.from({ length: 7 }, () => ({ threw: true, same: true, audioRemoved: true, settingsRemoved: true })), destroyThrew: true, destroySame: true, siblingRemoved: true }) + }) + } for (const [plugin, sdk] of [['published', 4], ['candidate', 4], ['candidate', 5]]) { for (const surface of ['control', 'setting']) { for (const type of ['quality', 'audio']) { diff --git a/test/dash-cleanup-errors.test.js b/test/dash-cleanup-errors.test.js new file mode 100644 index 000000000..f5e170b61 --- /dev/null +++ b/test/dash-cleanup-errors.test.js @@ -0,0 +1,87 @@ +import assert from 'node:assert/strict' +// eslint-disable-next-line test/no-import-node-test -- Cleanup exception identity uses the Node lifecycle runner. +import test from 'node:test' +import { bothMenus, dashHost, dashImplementations } from './helpers/dash-control.js' + +const implementations = (await dashImplementations()).filter(item => item.name.startsWith('source') || item.name.startsWith('artifact')) +const failures = [undefined, null, false, 0, -0, '', Number.NaN] +function attempt(callback) { + try { + callback() + return { threw: false } + } + catch (error) { + return { threw: true, error } + } +} + +for (const { sdk, name, factory } of implementations) { + for (const trigger of ['update', 'destroy']) { + test(`DASH ${sdk} (${name}): ${trigger} preserves the first falsy menu cleanup failure`, (t) => { + const warnings = [] + t.mock.method(console, 'warn', (...args) => warnings.push(args)) + for (const failure of failures) { + const host = dashHost(sdk) + const plugin = factory(bothMenus())(host.art) + plugin.update() + const calls = [] + for (const surface of ['controls', 'setting']) { + const remove = host.art[surface].remove + host.art[surface].remove = (key) => { + remove(key) + calls.push([surface, key]) + if (surface === 'controls' && key === 'dash-quality') + throw failure + throw new Error(`later ${surface}/${key} failure`) + } + } + if (trigger === 'update') { + host.state.levels = [] + host.state.tracks = [] + } + const result = attempt(() => trigger === 'update' ? plugin.update() : host.art.destroy()) + assert.equal(result.threw, true) + assert(Object.is(result.error, failure), 'Later menu cleanup errors cannot replace the first value') + assert.deepEqual(calls, [['controls', 'dash-quality'], ['setting', 'dash-quality'], ['controls', 'dash-audio'], ['setting', 'dash-audio']]) + assert.equal(host.controls.size + host.settings.size, 0) + if (trigger === 'destroy') { + assert.equal([...host.listeners.values()].reduce((sum, list) => sum + list.size, 0), 0) + assert.doesNotThrow(() => host.art.destroy()) + } + } + if (trigger === 'update') { + assert.equal(warnings.length, failures.length) + assert(warnings.every(([message, error]) => message === 'ArtPlayer DASH cleanup failed:' && error instanceof Error)) + } + else { + assert.equal(warnings.length, 0) + } + }) + } + + test(`DASH ${sdk} (${name}): SDK unsubscribe preserves a falsy first failure while releasing all resources`, () => { + for (const failure of failures) { + const host = dashHost(sdk) + const events = new Map() + host.dash.on = (name, callback) => events.set(name, callback) + let offCalls = 0 + host.dash.off = (name) => { + events.delete(name) + if (++offCalls === 1) + throw failure + throw new Error('later SDK removal failure') + } + factory(bothMenus())(host.art).update() + const count = events.size + assert(count > 0) + const result = attempt(() => host.art.destroy()) + assert.equal(result.threw, true) + assert(Object.is(result.error, failure)) + assert.equal(offCalls, count) + assert.equal(events.size, 0) + assert.equal(host.controls.size + host.settings.size, 0) + assert.equal([...host.listeners.values()].reduce((sum, list) => sum + list.size, 0), 0) + assert(!host.calls.some(call => call[0] === 'dash.destroy'), 'SDK remains caller-owned') + } + }) +}