xgplayer-mp4 3.0.0-alpha.30 → 3.0.0-alpha.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/es/error.d.ts +672 -0
- package/es/error.js +45 -44
- package/es/mp4.js +494 -847
- package/es/mp4Plugin.d.ts +2 -2
- package/es/mp4Plugin.js +804 -1057
- package/es/util/index.js +15 -15
- package/es/util/logger.js +5 -9
- package/es/util/proxy-promise.js +11 -19
- package/es/util/timer.js +30 -43
- package/es/version.js +1 -1
- package/package.json +5 -2
- package/es/_virtual/_rollupPluginBabelHelpers.js +0 -494
package/dist/index.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("core-js/modules/es.json.stringify.js"),require("core-js/modules/es.number.constructor.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.regexp.exec.js"),require("core-js/modules/es.regexp.test.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.promise.finally.js"),require("core-js/modules/es.object.assign.js"),require("core-js/modules/es.array.splice.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.array.concat.js"),require("xgplayer"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.typed-array.uint8-array.js"),require("core-js/modules/esnext.typed-array.at.js"),require("core-js/modules/es.typed-array.copy-within.js"),require("core-js/modules/es.typed-array.every.js"),require("core-js/modules/es.typed-array.fill.js"),require("core-js/modules/es.typed-array.filter.js"),require("core-js/modules/es.typed-array.find.js"),require("core-js/modules/es.typed-array.find-index.js"),require("core-js/modules/esnext.typed-array.find-last.js"),require("core-js/modules/esnext.typed-array.find-last-index.js"),require("core-js/modules/es.typed-array.for-each.js"),require("core-js/modules/es.typed-array.includes.js"),require("core-js/modules/es.typed-array.index-of.js"),require("core-js/modules/es.typed-array.iterator.js"),require("core-js/modules/es.typed-array.join.js"),require("core-js/modules/es.typed-array.last-index-of.js"),require("core-js/modules/es.typed-array.map.js"),require("core-js/modules/es.typed-array.reduce.js"),require("core-js/modules/es.typed-array.reduce-right.js"),require("core-js/modules/es.typed-array.reverse.js"),require("core-js/modules/es.typed-array.set.js"),require("core-js/modules/es.typed-array.slice.js"),require("core-js/modules/es.typed-array.some.js"),require("core-js/modules/es.typed-array.sort.js"),require("core-js/modules/es.typed-array.subarray.js"),require("core-js/modules/es.typed-array.to-locale-string.js"),require("core-js/modules/es.typed-array.to-string.js"),require("core-js/modules/es.array.find.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.symbol.js"),require("core-js/modules/es.symbol.iterator.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.symbol.description.js"),require("core-js/modules/es.array.includes.js"),require("core-js/modules/es.string.includes.js"),require("core-js/modules/es.number.is-finite.js"),require("core-js/modules/es.regexp.to-string.js"),require("core-js/modules/es.array.join.js"),require("core-js/modules/es.regexp.flags.js"),require("core-js/modules/es.string.pad-start.js"),require("core-js/modules/es.array.from.js"),require("core-js/modules/es.array-buffer.constructor.js"),require("core-js/modules/es.typed-array.int8-array.js"),require("core-js/modules/es.typed-array.uint8-clamped-array.js"),require("core-js/modules/es.typed-array.int16-array.js"),require("core-js/modules/es.typed-array.uint16-array.js"),require("core-js/modules/es.typed-array.int32-array.js"),require("core-js/modules/es.typed-array.uint32-array.js"),require("core-js/modules/es.typed-array.float32-array.js"),require("core-js/modules/es.typed-array.float64-array.js"),require("core-js/modules/web.url.js"),require("core-js/modules/web.url-search-params.js"),require("core-js/modules/es.string.replace.js"),require("core-js/modules/es.number.is-nan.js"),require("core-js/modules/es.object.get-prototype-of.js"),require("core-js/modules/es.string.trim.js"),require("core-js/modules/es.set.js")):"function"==typeof define&&define.amd?define(["exports","core-js/modules/es.json.stringify.js","core-js/modules/es.number.constructor.js","core-js/modules/es.object.keys.js","core-js/modules/es.regexp.exec.js","core-js/modules/es.regexp.test.js","core-js/modules/es.object.to-string.js","core-js/modules/es.promise.js","core-js/modules/es.promise.finally.js","core-js/modules/es.object.assign.js","core-js/modules/es.array.splice.js","core-js/modules/web.dom-collections.for-each.js","core-js/modules/es.function.name.js","core-js/modules/es.array.concat.js","xgplayer","core-js/modules/es.array.map.js","core-js/modules/es.array.iterator.js","core-js/modules/es.typed-array.uint8-array.js","core-js/modules/esnext.typed-array.at.js","core-js/modules/es.typed-array.copy-within.js","core-js/modules/es.typed-array.every.js","core-js/modules/es.typed-array.fill.js","core-js/modules/es.typed-array.filter.js","core-js/modules/es.typed-array.find.js","core-js/modules/es.typed-array.find-index.js","core-js/modules/esnext.typed-array.find-last.js","core-js/modules/esnext.typed-array.find-last-index.js","core-js/modules/es.typed-array.for-each.js","core-js/modules/es.typed-array.includes.js","core-js/modules/es.typed-array.index-of.js","core-js/modules/es.typed-array.iterator.js","core-js/modules/es.typed-array.join.js","core-js/modules/es.typed-array.last-index-of.js","core-js/modules/es.typed-array.map.js","core-js/modules/es.typed-array.reduce.js","core-js/modules/es.typed-array.reduce-right.js","core-js/modules/es.typed-array.reverse.js","core-js/modules/es.typed-array.set.js","core-js/modules/es.typed-array.slice.js","core-js/modules/es.typed-array.some.js","core-js/modules/es.typed-array.sort.js","core-js/modules/es.typed-array.subarray.js","core-js/modules/es.typed-array.to-locale-string.js","core-js/modules/es.typed-array.to-string.js","core-js/modules/es.array.find.js","core-js/modules/es.array.filter.js","core-js/modules/es.array.slice.js","core-js/modules/es.symbol.js","core-js/modules/es.symbol.iterator.js","core-js/modules/es.string.iterator.js","core-js/modules/web.dom-collections.iterator.js","core-js/modules/es.symbol.description.js","core-js/modules/es.array.includes.js","core-js/modules/es.string.includes.js","core-js/modules/es.number.is-finite.js","core-js/modules/es.regexp.to-string.js","core-js/modules/es.array.join.js","core-js/modules/es.regexp.flags.js","core-js/modules/es.string.pad-start.js","core-js/modules/es.array.from.js","core-js/modules/es.array-buffer.constructor.js","core-js/modules/es.typed-array.int8-array.js","core-js/modules/es.typed-array.uint8-clamped-array.js","core-js/modules/es.typed-array.int16-array.js","core-js/modules/es.typed-array.uint16-array.js","core-js/modules/es.typed-array.int32-array.js","core-js/modules/es.typed-array.uint32-array.js","core-js/modules/es.typed-array.float32-array.js","core-js/modules/es.typed-array.float64-array.js","core-js/modules/web.url.js","core-js/modules/web.url-search-params.js","core-js/modules/es.string.replace.js","core-js/modules/es.number.is-nan.js","core-js/modules/es.object.get-prototype-of.js","core-js/modules/es.string.trim.js","core-js/modules/es.set.js"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Mp4Plugin={},null,null,null,null,null,null,null,null,null,null,null,null,null,e.Player)}(this,(function(e,t,r,n,i,a,s,o,u,c,l,d,h,f,p){"use strict";function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function m(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?v(Object(r),!0).forEach((function(t){w(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function g(){g=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",o=i.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(R){u=function(e,t,r){return e[t]=r}}function c(e,t,r,i){var a=t&&t.prototype instanceof h?t:h,s=Object.create(a.prototype),o=new E(i||[]);return n(s,"_invoke",{value:x(e,r,o)}),s}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(R){return{type:"throw",arg:R}}}e.wrap=c;var d={};function h(){}function f(){}function p(){}var v={};u(v,a,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(j([])));y&&y!==t&&r.call(y,a)&&(v=y);var _=p.prototype=h.prototype=Object.create(v);function b(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function i(n,a,s,o){var u=l(e[n],e,a);if("throw"!==u.type){var c=u.arg,d=c.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){i("next",e,s,o)}),(function(e){i("throw",e,s,o)})):t.resolve(d).then((function(e){c.value=e,s(c)}),(function(e){return i("throw",e,s,o)}))}o(u.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){i(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function x(e,t,r){var n="suspendedStart";return function(i,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw a;return{value:void 0,done:!0}}for(r.method=i,r.arg=a;;){var s=r.delegate;if(s){var o=T(s,r);if(o){if(o===d)continue;return o}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=l(e,t,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===d)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function T(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,T(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var i=l(n,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,d;var a=i.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function w(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function E(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(w,this),this.reset(!0)}function j(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:D}}function D(){return{value:void 0,done:!0}}return f.prototype=p,n(_,"constructor",{value:p,configurable:!0}),n(p,"constructor",{value:f,configurable:!0}),f.displayName=u(p,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===f||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,u(e,o,"GeneratorFunction")),e.prototype=Object.create(_),e},e.awrap=function(e){return{__await:e}},b(k.prototype),u(k.prototype,s,(function(){return this})),e.AsyncIterator=k,e.async=function(t,r,n,i,a){void 0===a&&(a=Promise);var s=new k(c(t,r,n,i),a);return e.isGeneratorFunction(r)?s:s.next().then((function(e){return e.done?e.value:s.next()}))},b(_),u(_,o,"Generator"),u(_,a,(function(){return this})),u(_,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=j,E.prototype={constructor:E,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return s.type="throw",s.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var o=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(o&&u){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(o){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=e,s.arg=t,a?(this.method="next",this.next=a.finallyLoc,d):this.complete(s)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),d},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;S(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:j(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function y(e){return(y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _(e,t,r,n,i,a,s){try{var o=e[a](s),u=o.value}catch(c){return void r(c)}o.done?t(u):Promise.resolve(u).then(n,i)}function b(e){return function(){var t=this,r=arguments;return new Promise((function(n,i){var a=e.apply(t,r);function s(e){_(a,n,i,s,o,"next",e)}function o(e){_(a,n,i,s,o,"throw",e)}s(void 0)}))}}function k(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function x(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,z(n.key),n)}}function T(e,t,r){return t&&x(e.prototype,t),r&&x(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function w(e,t,r){return(t=z(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function S(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&j(e,t)}function E(e){return(E=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function j(e,t){return(j=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function D(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function R(e,t,r){return(R=D()?Reflect.construct.bind():function(e,t,r){var n=[null];n.push.apply(n,t);var i=new(Function.bind.apply(e,n));return r&&j(i,r.prototype),i}).apply(null,arguments)}function L(e){var t="function"==typeof Map?new Map:void 0;return L=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf("[native code]")))return e;var r;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return R(e,arguments,E(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),j(n,e)},L(e)}function B(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function M(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function P(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return M(e)}function O(e){var t=D();return function(){var r,n=E(e);if(t){var i=E(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return P(this,r)}}function I(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=E(e)););return e}function A(){return A="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=I(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(arguments.length<3?e:r):i.value}},A.apply(this,arguments)}function C(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,a,s,o=[],u=!0,c=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(o.push(n.value),o.length!==t);u=!0);}catch(l){c=!0,i=l}finally{try{if(!u&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(c)throw i}}return o}}(e,t)||N(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function U(e){return function(e){if(Array.isArray(e))return F(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||N(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function N(e,t){if(e){if("string"==typeof e)return F(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?F(e,t):void 0}}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function z(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}var q={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,r="~";function n(){}function i(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function a(e,t,n,a,s){if("function"!=typeof n)throw new TypeError("The listener must be a function");var o=new i(n,a||e,s),u=r?r+t:t;return e._events[u]?e._events[u].fn?e._events[u]=[e._events[u],o]:e._events[u].push(o):(e._events[u]=o,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new n:delete e._events[t]}function o(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(r=!1)),o.prototype.eventNames=function(){var e,n,i=[];if(0===this._eventsCount)return i;for(n in e=this._events)t.call(e,n)&&i.push(r?n.slice(1):n);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},o.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,s=new Array(a);i<a;i++)s[i]=n[i].fn;return s},o.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},o.prototype.emit=function(e,t,n,i,a,s){var o=r?r+e:e;if(!this._events[o])return!1;var u,c,l=this._events[o],d=arguments.length;if(l.fn){switch(l.once&&this.removeListener(e,l.fn,void 0,!0),d){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,t),!0;case 3:return l.fn.call(l.context,t,n),!0;case 4:return l.fn.call(l.context,t,n,i),!0;case 5:return l.fn.call(l.context,t,n,i,a),!0;case 6:return l.fn.call(l.context,t,n,i,a,s),!0}for(c=1,u=new Array(d-1);c<d;c++)u[c-1]=arguments[c];l.fn.apply(l.context,u)}else{var h,f=l.length;for(c=0;c<f;c++)switch(l[c].once&&this.removeListener(e,l[c].fn,void 0,!0),d){case 1:l[c].fn.call(l[c].context);break;case 2:l[c].fn.call(l[c].context,t);break;case 3:l[c].fn.call(l[c].context,t,n);break;case 4:l[c].fn.call(l[c].context,t,n,i);break;default:if(!u)for(h=1,u=new Array(d-1);h<d;h++)u[h-1]=arguments[h];l[c].fn.apply(l[c].context,u)}}return!0},o.prototype.on=function(e,t,r){return a(this,e,t,r,!1)},o.prototype.once=function(e,t,r){return a(this,e,t,r,!0)},o.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn!==t||i&&!o.once||n&&o.context!==n||s(this,a);else{for(var u=0,c=[],l=o.length;u<l;u++)(o[u].fn!==t||i&&!o[u].once||n&&o[u].context!==n)&&c.push(o[u]);c.length?this._events[a]=1===c.length?c[0]:c:s(this,a)}return this},o.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new n,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=r,o.EventEmitter=o,e.exports=o}(q);var V,H=q.exports,G={};Object.defineProperty(G,"__esModule",{value:!0}),G.default=function(e){for(var t=0,r=arguments.length,n=Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];var a=!0,s=!1,o=void 0;try{for(var u,c=n[Symbol.iterator]();!(a=(u=c.next()).done);a=!0){var l=u.value;t+=l.length}}catch(_){s=!0,o=_}finally{try{!a&&c.return&&c.return()}finally{if(s)throw o}}var d=new e(t),h=0,f=!0,p=!1,v=void 0;try{for(var m,g=n[Symbol.iterator]();!(f=(m=g.next()).done);f=!0){var y=m.value;d.set(y,h),h+=y.length}}catch(_){p=!0,v=_}finally{try{!f&&g.return&&g.return()}finally{if(p)throw v}}return d};var K=((V=G)&&V.__esModule?V:{default:V}).default,W="video",Y="audio",J="metadata",X="avc",Q="hevc",Z="aac",$="g7110a",ee="g7110m",te="LARGE_AV_SHIFT",re="LARGE_VIDEO_GAP",ne="LARGE_VIDEO_GAP_BETWEEN_CHUNK",ie="LARGE_AUDIO_GAP",ae="AUDIO_FILLED",se="AUDIO_DROPPED",oe=function(){function e(){k(this,e),w(this,"id",1),w(this,"type",W),w(this,"codecType",X),w(this,"pid",-1),w(this,"hvcC",void 0),w(this,"codec",""),w(this,"timescale",0),w(this,"formatTimescale",0),w(this,"sequenceNumber",0),w(this,"baseMediaDecodeTime",0),w(this,"baseDts",0),w(this,"duration",0),w(this,"warnings",[]),w(this,"samples",[]),w(this,"pps",[]),w(this,"sps",[]),w(this,"vps",[]),w(this,"fpsNum",0),w(this,"fpsDen",0),w(this,"sarRatio",[]),w(this,"width",0),w(this,"height",0),w(this,"nalUnitSize",4),w(this,"present",!1),w(this,"isVideoEncryption",!1),w(this,"isAudioEncryption",!1),w(this,"isVideo",!0),w(this,"kid",null),w(this,"pssh",null),w(this,"ext",void 0)}return T(e,[{key:"reset",value:function(){this.sequenceNumber=this.width=this.height=this.fpsDen=this.fpsNum=this.duration=this.baseMediaDecodeTime=this.timescale=0,this.codec="",this.present=!1,this.pid=-1,this.pps=[],this.sps=[],this.vps=[],this.sarRatio=[],this.samples=[],this.warnings=[],this.hvcC=null}},{key:"firstDts",get:function(){return this.samples.length?this.samples[0].dts:null}},{key:"firstPts",get:function(){return this.samples.length?this.samples[0].pts:null}},{key:"samplesDuration",get:function(){if(this.samples.length>0){var e=this.samples[0],t=this.samples[this.samples.length-1];return t.dts-e.dts+t.duration}return 0}},{key:"exist",value:function(){return!!(this.pps.length&&this.sps.length&&this.codec)}},{key:"hasSample",value:function(){return!!this.samples.length}},{key:"isEncryption",get:function(){return this.isVideoEncryption}}]),e}(),ue=function(){function e(){k(this,e),w(this,"id",2),w(this,"type",Y),w(this,"codecType",Z),w(this,"pid",-1),w(this,"codec",""),w(this,"sequenceNumber",0),w(this,"sampleDuration",0),w(this,"timescale",0),w(this,"formatTimescale",0),w(this,"baseMediaDecodeTime",0),w(this,"duration",0),w(this,"warnings",[]),w(this,"samples",[]),w(this,"baseDts",0),w(this,"sampleSize",16),w(this,"sampleRate",0),w(this,"channelCount",0),w(this,"objectType",0),w(this,"sampleRateIndex",0),w(this,"config",[]),w(this,"present",!1),w(this,"isVideoEncryption",!1),w(this,"isAudioEncryption",!1),w(this,"kid",null),w(this,"ext",void 0)}return T(e,[{key:"reset",value:function(){this.sequenceNumber=0,this.timescale=0,this.sampleDuration=0,this.sampleRate=0,this.channelCount=0,this.baseMediaDecodeTime=0,this.present=!1,this.pid=-1,this.codec="",this.samples=[],this.config=[],this.warnings=[]}},{key:"exist",value:function(){return!!(this.sampleRate&&this.channelCount&&this.codec&&this.codecType===Z)}},{key:"hasSample",value:function(){return!!this.samples.length}},{key:"isEncryption",get:function(){return this.isAudioEncryption}},{key:"firstDts",get:function(){return this.samples.length?this.samples[0].dts:null}},{key:"firstPts",get:function(){return this.samples.length?this.samples[0].pts:null}},{key:"samplesDuration",get:function(){if(this.samples.length>0){var e=this.samples[0],t=this.samples[this.samples.length-1];return t.dts-e.dts+t.duration}return 0}}]),e}(),ce=function(){function e(t,r,n){k(this,e),w(this,"flag",{}),w(this,"keyframe",!1),w(this,"gopId",0),w(this,"duration",0),w(this,"size",0),w(this,"units",[]),w(this,"chromaFormat",420),this.originPts=this.pts=t,this.originDts=this.dts=r,n&&(this.units=n)}return T(e,[{key:"cts",get:function(){return this.pts-this.dts}},{key:"setToKeyframe",value:function(){this.keyframe=!0,this.flag.dependsOn=2,this.flag.isNonSyncSample=0}}]),e}(),le=T((function e(t,r,n,i){k(this,e),w(this,"duration",1024),w(this,"flag",{dependsOn:2,isNonSyncSample:0}),w(this,"keyframe",!0),this.originPts=this.pts=this.dts=t,this.data=r,this.size=r.byteLength,this.sampleOffset=i,n&&(this.duration=n)})),de=T((function e(t,r){k(this,e),w(this,"time",0),this.data=t,this.originPts=this.pts=r})),he=function(e){S(r,e);var t=O(r);function r(){return k(this,r),t.apply(this,arguments)}return T(r)}(de),fe=function(e){S(r,e);var t=O(r);function r(){return k(this,r),t.apply(this,arguments)}return T(r)}(de),pe=function(){function e(){k(this,e),w(this,"id",3),w(this,"type",J),w(this,"timescale",0),w(this,"flvScriptSamples",[]),w(this,"seiSamples",[])}return T(e,[{key:"exist",value:function(){return!(!this.flvScriptSamples.length&&!this.seiSamples.length||!this.timescale)}},{key:"reset",value:function(){this.timescale=0,this.flvScriptSamples=[],this.seiSamples=[]}},{key:"hasSample",value:function(){return!(!this.flvScriptSamples.length&&!this.seiSamples.length)}}]),e}(),ve=function(){function e(t){if(k(this,e),w(this,"_bytesAvailable",void 0),w(this,"_bitsAvailable",0),w(this,"_word",0),!t)throw new Error("ExpGolomb data params is required");this._data=t,this._bytesAvailable=t.byteLength,this._bytesAvailable&&this._loadWord()}return T(e,[{key:"bitsAvailable",get:function(){return this._bitsAvailable}},{key:"_loadWord",value:function(){var e=this._data.byteLength-this._bytesAvailable,t=Math.min(4,this._bytesAvailable);if(0===t)throw new Error("No bytes available");var r=new Uint8Array(4);r.set(this._data.subarray(e,e+t)),this._word=new DataView(r.buffer).getUint32(0),this._bitsAvailable=8*t,this._bytesAvailable-=t}},{key:"skipBits",value:function(e){if(this._bitsAvailable>e)this._word<<=e,this._bitsAvailable-=e;else{e-=this._bitsAvailable;var t=Math.floor(e/8);e-=8*t,this._bytesAvailable-=t,this._loadWord(),this._word<<=e,this._bitsAvailable-=e}}},{key:"readBits",value:function(e){if(e>32)throw new Error("Cannot read more than 32 bits");var t=Math.min(this._bitsAvailable,e),r=this._word>>>32-t;return this._bitsAvailable-=t,this._bitsAvailable>0?this._word<<=t:this._bytesAvailable>0&&this._loadWord(),(t=e-t)>0&&this._bitsAvailable?r<<t|this.readBits(t):r}},{key:"skipLZ",value:function(){var e;for(e=0;e<this._bitsAvailable;++e)if(0!=(this._word&2147483648>>>e))return this._word<<=e,this._bitsAvailable-=e,e;return this._loadWord(),e+this.skipLZ()}},{key:"skipUEG",value:function(){this.skipBits(1+this.skipLZ())}},{key:"readUEG",value:function(){var e=this.skipLZ();return this.readBits(e+1)-1}},{key:"readEG",value:function(){var e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}},{key:"readBool",value:function(){return 1===this.readBits(1)}},{key:"readUByte",value:function(){return this.readBits(8)}},{key:"skipScalingList",value:function(e){for(var t=8,r=8,n=0;n<e;n++)0!==r&&(r=(t+this.readEG()+256)%256),t=0===r?t:r}}]),e}(),me=function(){function e(t){k(this,e),this.name=t||"",this._prefix="[".concat(this.name,"]")}return T(e,[{key:"warn",value:function(){var t;if(!e.disabled){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];(t=console).warn.apply(t,[this._prefix].concat(n))}}}],[{key:"enable",value:function(){e.disabled=!1}},{key:"disable",value:function(){e.disabled=!0}}]),e}();w(me,"disabled",!0);var ge=function(){function e(){k(this,e)}return T(e,null,[{key:"decode",value:function(t){for(var r=[],n=t,i=0,a=t.length;i<a;)if(n[i]<128)r.push(String.fromCharCode(n[i])),++i;else{if(n[i]<192);else if(n[i]<224){if(e._checkContinuation(n,i,1)){var s=(31&n[i])<<6|63&n[i+1];if(s>=128){r.push(String.fromCharCode(65535&s)),i+=2;continue}}}else if(n[i]<240){if(e._checkContinuation(n,i,2)){var o=(15&n[i])<<12|(63&n[i+1])<<6|63&n[i+2];if(o>=2048&&55296!=(63488&o)){r.push(String.fromCharCode(65535&o)),i+=3;continue}}}else if(n[i]<248&&e._checkContinuation(n,i,3)){var u=(7&n[i])<<18|(63&n[i+1])<<12|(63&n[i+2])<<6|63&n[i+3];if(u>65536&&u<1114112){u-=65536,r.push(String.fromCharCode(u>>>10|55296)),r.push(String.fromCharCode(1023&u|56320)),i+=4;continue}}r.push(String.fromCharCode(65533)),++i}return r.join("")}},{key:"_checkContinuation",value:function(e,t,r){var n=e;if(t+r<n.length){for(;r--;)if(128!=(192&n[++t]))return!1;return!0}return!1}}]),e}(),ye="undefined"!=typeof window,_e=ye&&navigator.userAgent.toLocaleLowerCase(),be=ye&&/^((?!chrome|android).)*safari/.test(_e),ke=ye&&_e.includes("firefox"),xe=ye&&_e.includes("android");function Te(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t=t.filter(Boolean);var n=new Uint8Array(t.reduce((function(e,t){return e+t.byteLength}),0)),i=0;return t.forEach((function(e){n.set(e,i),i+=e.byteLength})),n}var we=Math.pow(2,32);function Se(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<8)+(e[t+1]||0)}function Ee(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function je(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Ee(e,t)*we+Ee(e,t+4)}function De(e){for(var t,r="avc1.",n=0;n<3;n++)(t=e[n].toString(16)).length<2&&(t="0".concat(t)),r+=t;return r}function Re(e){if(!Array.isArray(e)){for(var t=[],r="",n=0;n<e.length;n++)n%2&&(r=e[n-1]+e[n],t.push(parseInt(r,16)),r="");return t}return e.map((function(e){return parseInt(e,16)}))}var Le=function(){function e(){k(this,e)}return T(e,null,[{key:"parseAnnexB",value:function(e){for(var t=e.length,r=2,n=0;null!==e[r]&&void 0!==e[r]&&1!==e[r];)r++;if((n=++r+2)>=t)return[];for(var i=[];n<t;)switch(e[n]){case 0:if(0!==e[n-1]){n+=2;break}if(0!==e[n-2]){n++;break}r!==n-2&&i.push(e.subarray(r,n-2));do{n++}while(1!==e[n]&&n<t);n=(r=n+1)+2;break;case 1:if(0!==e[n-1]||0!==e[n-2]){n+=3;break}r!==n-2&&i.push(e.subarray(r,n-2)),n=(r=n+1)+2;break;default:n+=3}return r<t&&i.push(e.subarray(r)),i}},{key:"parseAvcC",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(!(e.length<4)){for(var r,n=e.length,i=[],a=0;a+t<n;)if(r=Ee(e,a),3===t&&(r>>>=8),a+=t,r){if(a+r>n)break;i.push(e.subarray(a,a+r)),a+=r}return i}}},{key:"parseSEI",value:function(e,t){for(var r=e.length,n=t?2:1,i=0,a=0,s="";255===e[n];)i+=255,n++;for(i+=e[n++];255===e[n];)a+=255,n++;if(a+=e[n++],5===i&&r>n+16)for(var o=0;o<16;o++)s+=e[n].toString(16),n++;return{payload:e.subarray(n,n+a),type:i,size:a,uuid:s}}},{key:"removeEPB",value:function(e){for(var t=e.byteLength,r=[],n=1;n<t-2;)0===e[n]&&0===e[n+1]&&3===e[n+2]?(r.push(n+2),n+=2):n++;if(!r.length)return e;var i=t-r.length,a=new Uint8Array(i),s=0;for(n=0;n<i;s++,n++)s===r[0]&&(s++,r.shift()),a[n]=e[s];return a}}]),e}(),Be=function(){function e(){k(this,e)}return T(e,null,[{key:"parseAVCDecoderConfigurationRecord",value:function(t){if(!(t.length<7)){for(var r,n,i=1+(3&t[4]),a=[],s=[],o=6,u=31&t[5],c=0;c<u;c++)if(n=t[o]<<8|t[o+1],o+=2,n){var l=t.subarray(o,o+n);o+=n,a.push(l),r||(r=e.parseSPS(Le.removeEPB(l)))}var d,h=t[o];o++;for(var f=0;f<h;f++)d=t[o]<<8|t[o+1],o+=2,d&&(s.push(t.subarray(o,o+d)),o+=d);return{sps:r,spsArr:a,ppsArr:s,nalUnitSize:i}}}},{key:"parseSPS",value:function(e){var t=new ve(e);t.readUByte();var r=t.readUByte(),n=t.readUByte(),i=t.readUByte();t.skipUEG();var a=420;if(100===r||110===r||122===r||244===r||44===r||83===r||86===r||118===r||128===r||138===r||144===r){var s=t.readUEG();if(s<=3&&(a=[0,420,422,444][s]),3===s&&t.skipBits(1),t.skipUEG(),t.skipUEG(),t.skipBits(1),t.readBool())for(var o=3!==s?8:12,u=0;u<o;u++)t.readBool()&&(u<6?t.skipScalingList(16):t.skipScalingList(64))}t.skipUEG();var c=t.readUEG();if(0===c)t.readUEG();else if(1===c){t.skipBits(1),t.skipUEG(),t.skipUEG();for(var l=t.readUEG(),d=0;d<l;d++)t.skipUEG()}t.skipUEG(),t.skipBits(1);var h=t.readUEG(),f=t.readUEG(),p=t.readBits(1);0===p&&t.skipBits(1),t.skipBits(1);var v,m,g,y,_,b=0,k=0,x=0,T=0;if(t.readBool()&&(b=t.readUEG(),k=t.readUEG(),x=t.readUEG(),T=t.readUEG()),t.readBool()){if(t.readBool())switch(t.readUByte()){case 1:v=[1,1];break;case 2:v=[12,11];break;case 3:v=[10,11];break;case 4:v=[16,11];break;case 5:v=[40,33];break;case 6:v=[24,11];break;case 7:v=[20,11];break;case 8:v=[32,11];break;case 9:v=[80,33];break;case 10:v=[18,11];break;case 11:v=[15,11];break;case 12:v=[64,33];break;case 13:v=[160,99];break;case 14:v=[4,3];break;case 15:v=[3,2];break;case 16:v=[2,1];break;case 255:v=[t.readUByte()<<8|t.readUByte(),t.readUByte()<<8|t.readUByte()]}if(t.readBool()&&t.readBool(),t.readBool()&&(t.readBits(4),t.readBool()&&t.readBits(24)),t.readBool()&&(t.readUEG(),t.readUEG()),t.readBool()){var w=t.readBits(32),S=t.readBits(32);m=t.readBool(),_=(g=S)/(y=2*w)}}return{codec:De(e.subarray(1,4)),profileIdc:r,profileCompatibility:n,levelIdc:i,chromaFormat:a,width:Math.ceil(16*(h+1)-2*(b+k)),height:(2-p)*(f+1)*16-(p?2:4)*(x+T),sarRatio:v,fpsNum:g,fpsDen:y,fps:_,fixedFrame:m}}}]),e}(),Me=function(){function e(){k(this,e)}return T(e,null,[{key:"getRateIndexByRate",value:function(t){return e.FREQ.indexOf(t)}},{key:"parseADTS",value:function(t,r){for(var n=t.length,i=0;i+2<n&&(255!==t[i]||240!=(246&t[i+1]));)i++;if(!(i>=n)){var a=i,s=[],o=(60&t[i+2])>>>2,u=e.FREQ[o];if(!u)throw new Error("Invalid sampling index: ".concat(o));for(var c,l,d=1+((192&t[i+2])>>>6),h=(1&t[i+2])<<2|(192&t[i+3])>>>6,f=e._getConfig(o,h,d),p=f.config,v=f.codec,m=0,g=e.getFrameDuration(u);i+7<n;)if(255===t[i]&&240==(246&t[i+1])){if(n-i<(l=(3&t[i+3])<<11|t[i+4]<<3|(224&t[i+5])>>5))break;c=2*(1&~t[i+1]),s.push({pts:r+m*g,data:t.subarray(i+7+c,i+l)}),m++,i+=l}else i++;return{skip:a,remaining:i>=n?void 0:t.subarray(i),frames:s,samplingFrequencyIndex:o,sampleRate:u,objectType:d,channelCount:h,codec:v,config:p,originCodec:"mp4a.40.".concat(d)}}}},{key:"parseAudioSpecificConfig",value:function(t){if(t.length){var r=t[0]>>>3,n=(7&t[0])<<1|t[1]>>>7,i=(120&t[1])>>>3,a=e.FREQ[n];if(a){var s=e._getConfig(n,i,r);return{samplingFrequencyIndex:n,sampleRate:a,objectType:r,channelCount:i,config:s.config,codec:s.codec,originCodec:"mp4a.40.".concat(r)}}}}},{key:"getFrameDuration",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4;return 1024*t/e}},{key:"_getConfig",value:function(e,t,r){var n,i,a=[];return ke?e>=6?(n=5,i=e-3):(n=2,i=e):xe?(n=2,i=e):(n=2===r||5===r?r:5,i=e,e>=6?i=e-3:1===t&&(n=2,i=e)),a[0]=n<<3,a[0]|=(14&e)>>1,a[1]=(1&e)<<7,a[1]|=t<<3,5===n&&(a[1]|=(14&i)>>1,a[2]=(1&i)<<7,a[2]|=8,a[3]=0),{config:a,codec:"mp4a.40.".concat(n)}}},{key:"getSilentFrame",value:function(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}}]),e}();w(Me,"FREQ",[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350]);var Pe=function(){function e(){k(this,e)}return T(e,null,[{key:"parseHEVCDecoderConfigurationRecord",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(t.length<23)){r=r||{};for(var n,i,a,s,o,u=1+(3&t[21]),c=[],l=[],d=[],h=23,f=t[22],p=0;p<f;p++){a=63&t[h],s=t[h+1]<<8|t[h+2],h+=3;for(var v=0;v<s;v++)if(o=t[h]<<8|t[h+1],h+=2,o){switch(a){case 32:var m=t.subarray(h,h+o);n||(n=e.parseVPS(Le.removeEPB(m),r)),d.push(m);break;case 33:var g=t.subarray(h,h+o);i||(i=e.parseSPS(Le.removeEPB(g),r)),c.push(g);break;case 34:l.push(t.subarray(h,h+o))}h+=o}}return{hvcC:r,sps:i,spsArr:c,ppsArr:l,vpsArr:d,nalUnitSize:u}}}},{key:"parseVPS",value:function(t,r){r=r||{};var n=new ve(t);n.readUByte(),n.readUByte(),n.readBits(12);var i=n.readBits(3);return r.numTemporalLayers=Math.max(r.numTemporalLayers||0,i+1),n.readBits(17),e._parseProfileTierLevel(n,i,r),r}},{key:"parseSPS",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r=r||{};var n=new ve(t);n.readUByte(),n.readUByte(),n.readBits(4);var i=n.readBits(3);r.numTemporalLayers=Math.max(i+1,r.numTemporalLayers||0),r.temporalIdNested=n.readBits(1),e._parseProfileTierLevel(n,i,r),n.readUEG();var a=r.chromaFormatIdc=n.readUEG(),s=420;a<=3&&(s=[0,420,422,444][a]);var o=0;3===a&&(o=n.readBits(1));var u,c,l,d,h=n.readUEG(),f=n.readUEG(),p=n.readBits(1);if(1===p&&(u=n.readUEG(),c=n.readUEG(),l=n.readUEG(),d=n.readUEG()),r.bitDepthLumaMinus8=n.readUEG(),r.bitDepthChromaMinus8=n.readUEG(),1===p){var v=1!==a&&2!==a||0!==o?1:2,m=1===a&&0===o?2:1;h-=v*(c+u),f-=m*(d+l)}return{codec:"hev1.1.6.L93.B0",width:h,height:f,chromaFormat:s,hvcC:r}}},{key:"_parseProfileTierLevel",value:function(e,t,r){var n=r.generalTierFlag||0;r.generalProfileSpace=e.readBits(2),r.generalTierFlag=Math.max(e.readBits(1),n),r.generalProfileIdc=Math.max(e.readBits(5),r.generalProfileIdc||0),r.generalProfileCompatibilityFlags=e.readBits(32),r.generalConstraintIndicatorFlags=[e.readBits(8),e.readBits(8),e.readBits(8),e.readBits(8),e.readBits(8),e.readBits(8)];var i=e.readBits(8);n<r.generalTierFlag?r.generalLevelIdc=i:r.generalLevelIdc=Math.max(i,r.generalLevelIdc||0);var a=[],s=[];if(t>e.bitsAvailable)throw new Error("maxSubLayersMinus inavlid size ".concat(t));for(var o=0;o<t;o++)a[o]=e.readBits(1),s[o]=e.readBits(1);t>0&&e.readBits(2*(8-t));for(var u=0;u<t;u++)0!==a[u]&&(e.readBits(2),e.readBits(1),e.readBits(5),e.readBits(16),e.readBits(16),e.readBits(4),e.readBits(16),e.readBits(16),e.readBits(12)),0!==s[u]&&e.readBits(8)}}]),e}(),Oe=1e3,Ie=5e3,Ae=function(){function e(t,r,n){k(this,e),this.videoTrack=t,this.audioTrack=r,this.metadataTrack=n,this._baseDts=-1,this._baseDtsInited=!1,this._audioNextPts=void 0,this._videoNextDts=void 0,this._audioTimestampBreak=0,this._videoTimestampBreak=0,this._lastVideoDuration=0,this._keyFrameInNextChunk=!1,this._lastAudioExceptionGapDot=-1/0,this._lastAudioExceptionOverlapDot=-1/0,this._lastAudioExceptionLargeGapDot=-1/0,this._lastVideoExceptionLargeGapDot=-1/0,this._lastVideoExceptionChunkFirstDtsDot=-1/0}return T(e,[{key:"fix",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];t=Math.round(1e3*t);var i=this.videoTrack,a=this.audioTrack;!r&&n||(this._videoLastSample=null,this._audioNextPts=void 0,this._videoNextDts=void 0,this._audioTimestampBreak=0,this._videoTimestampBreak=0,this._lastAudioExceptionGapDot=-1/0,this._lastAudioExceptionOverlapDot=-1/0,this._lastAudioExceptionLargeGapDot=-1/0,this._lastVideoExceptionLargeGapDot=-1/0,this._lastVideoExceptionChunkFirstDtsDot=-1/0),r&&!n&&(this._baseDtsInited=!1),this._baseDtsInited||this._calculateBaseDts(a,i),!n&&t&&(this._audioNextPts=this._videoNextDts=t);var s=this._baseDtsInited&&(this._videoTimestampBreak||!this.videoTrack.exist())&&(this._audioTimestampBreak||!this.audioTrack.exist());if(s&&this._resetBaseDtsWhenStreamBreaked(),this._fixAudio(a),this._keyFrameInNextChunk=!1,this._fixVideo(i),this.metadataTrack.exist()){var o=this.metadataTrack.timescale;this.metadataTrack.seiSamples.forEach((function(t){t.pts=t.originPts-e._baseDts,t.time=Math.max(0,t.pts)/o})),this.metadataTrack.flvScriptSamples.forEach((function(t){t.pts=t.originPts-e._baseDts,t.time=Math.max(0,t.pts)/o}))}i.samples.length&&(i.baseMediaDecodeTime=i.samples[0].dts),a.samples.length&&(a.baseMediaDecodeTime=a.samples[0].pts*a.timescale/1e3)}},{key:"_fixVideo",value:function(e){var t=this,r=e.samples;if(r.length){var n;if(r.forEach((function(e){e.dts-=t._baseDts,e.pts-=t._baseDts,e.keyframe&&(t._keyFrameInNextChunk=!0)})),e.fpsNum&&e.fpsDen)n=e.timescale*(e.fpsDen/e.fpsNum);else if(e.length>1){var i=e.samples[0],a=e.samples[r.length-1];n=Math.floor((a.dts-i.dts)/(r.length-1))}else n=this._lastVideoDuration||40;var s=r.pop();if(this._videoLastSample&&r.unshift(this._videoLastSample),this._videoLastSample=s,r.length){if(void 0===this._videoNextDts){var o=r[0];this._videoNextDts=o.dts}var u=r.length,c=0,l=r[0],d=this._videoNextDts-l.dts;if(Math.abs(d)>200){var h;if(Math.abs(l.dts-this._lastVideoExceptionChunkFirstDtsDot)>5e3)this._lastVideoExceptionChunkFirstDtsDot=l.dts,e.warnings.push({type:ne,nextDts:this._videoNextDts,firstSampleDts:l.dts,nextSampleDts:null===(h=r[1])||void 0===h?void 0:h.dts,sampleDuration:d});this._videoTimestampBreak>=5?(this._videoNextDts=l.dts,this._videoTimestampBreak=0):(l.dts+=d,l.pts+=d,this.audioTrack.exist()||(this._videoTimestampBreak=1))}for(var f=0;f<u;f++){var p=r[f].dts,v=r[f+1];((c=f<u-1?v.dts-p:s?s.dts-p:n)>1e3||c<0)&&(this._videoTimestampBreak++,Math.abs(p-this._lastVideoExceptionLargeGapDot)>5e3&&(this._lastVideoExceptionLargeGapDot=p,e.warnings.push({type:re,time:p/e.timescale,dts:p,originDts:r[f].originDts,nextDts:this._videoNextDts,sampleDuration:c,refSampleDuration:n})),c=n),r[f].duration=c,this._videoNextDts+=c,this._lastVideoDuration=c}}}}},{key:"_fixAudio",value:function(e){var t=this,r=e.samples;r.length&&(r.forEach((function(e){e.dts=e.pts-=t._baseDts})),this._doFixAudioInternal(e,r,1e3))}},{key:"_calculateBaseDts",value:function(e,t){var r=e.samples,n=t.samples;if(!r.length&&!n.length)return!1;var i=1/0,a=1/0;r.length&&(e.baseDts=i=r[0].pts),n.length&&(t.baseDts=a=n[0].dts),this._baseDts=Math.min(i,a);var s=a-i;return Number.isFinite(s)&&Math.abs(s)>500&&t.warnings.push({type:te,videoBaseDts:a,audioBasePts:i,baseDts:this._baseDts,delta:s}),this._baseDtsInited=!0,!0}},{key:"_resetBaseDtsWhenStreamBreaked",value:function(){this._calculateBaseDts(this.audioTrack,this.videoTrack)&&(this.audioTrack.exist()?this.videoTrack.exist()?this._baseDts-=Math.min(this._audioNextPts,this._videoNextDts):this._baseDts-=this._audioNextPts:this._baseDts-=this._videoNextDts,this._videoTimestampBreak=0,this._audioTimestampBreak=0)}},{key:"_doFixAudioInternal",value:function(e,t,r){e.sampleDuration||(e.sampleDuration=e.codecType===Z?Me.getFrameDuration(e.timescale,r):this._getG711Duration(e));var n=e.sampleDuration,i=e.codecType===Z?1024:n*e.timescale/1e3;if(void 0===this._audioNextPts){var a=t[0];this._audioNextPts=a.pts}for(var s=0;s<t.length;s++){var o=this._audioNextPts,u=t[s],c=u.pts-o;if(0===s&&this._audioTimestampBreak>=5&&this._keyFrameInNextChunk&&(o=this._audioNextPts=u.dts,c=0,this._audioTimestampBreak=0),!this._audioTimestampBreak&&c>=3*n&&c<=Oe&&!be){var l=this._getSilentFrame(e)||t[0].data.subarray(),d=Math.floor(c/n);Math.abs(u.pts-this._lastAudioExceptionGapDot)>Ie&&(this._lastAudioExceptionGapDot=u.pts,e.warnings.push({type:ae,pts:u.pts,originPts:u.originPts,count:d,nextPts:o,refSampleDuration:n}));for(var h=0;h<d;h++){var f=new le(Math.floor(this._audioNextPts+n)-Math.floor(this._audioNextPts),l,i);f.originPts=Math.floor(this._baseDts+o),t.splice(s,0,f),this._audioNextPts+=n,s++}s--}else c<=-3*n&&c>=-1e3?(Math.abs(u.pts-this._lastAudioExceptionOverlapDot)>Ie&&(this._lastAudioExceptionOverlapDot=u.pts,e.warnings.push({type:se,pts:u.pts,originPts:u.originPts,nextPts:o,refSampleDuration:n})),t.splice(s,1),s--):(Math.abs(c)>Oe&&(this._audioTimestampBreak++,Math.abs(u.pts-this._lastAudioExceptionLargeGapDot)>Ie&&(this._lastAudioExceptionLargeGapDot=u.pts,e.warnings.push({type:ie,time:u.pts/1e3,pts:u.pts,originPts:u.originPts,nextPts:o,sampleDuration:c,refSampleDuration:n}))),u.dts=u.pts=o,u.duration=i,this._audioNextPts+=n)}}},{key:"_getG711Duration",value:function(e){var t=e.sampleSize,r=e.channelCount,n=e.sampleRate,i=e.samples[0];if(i)return 2*i.data.byteLength/r/(t/8)/n*1e3}},{key:"_getSilentFrame",value:function(e){return e.codecType===Z?Me.getSilentFrame(e.codec,e.channelCount):new Uint8Array(8*e.sampleDuration*e.channelCount)}}]),e}(),Ce=function(){function e(){k(this,e)}return T(e,null,[{key:"parse",value:function(t){if(!(t.length<3)){var r={},n=e._parseValue(new DataView(t.buffer,t.byteOffset,t.byteLength)),i=e._parseValue(new DataView(t.buffer,t.byteOffset+n.size,t.byteLength-n.size));return r[n.data]=i.data,r}}},{key:"_parseValue",value:function(t){var r,n=t.byteLength,i=1,a=!1;switch(t.getUint8(0)){case 0:r=t.getFloat64(1),i+=8;break;case 1:r=!!t.getUint8(1),i+=1;break;case 2:var s=e._parseString(new DataView(t.buffer,t.byteOffset+i,t.byteLength-i));r=s.data,i+=s.size;break;case 3:r={};var o=0;for(9==(16777215&t.getUint32(n-4))&&(o=3);i<n-4;){var u=e._parseObject(new DataView(t.buffer,t.byteOffset+i,t.byteLength-i-o)),c=u.size,l=u.data;if(u.isEnd)break;r[l.name]=l.value,i+=c}if(i<=n-3)9===(16777215&t.getUint32(i-1))&&(i+=3);break;case 8:r={},i+=4;var d=0;for(9==(16777215&t.getUint32(n-4))&&(d=3);i<n-8;){var h=e._parseObject(new DataView(t.buffer,t.byteOffset+i,t.byteLength-i-d)),f=h.size,p=h.data;if(h.isEnd)break;r[p.name]=p.value,i+=f}if(i<=n-3)9===(16777215&t.getUint32(i-1))&&(i+=3);break;case 9:r=void 0,i=1,a=!0;break;case 10:r=[];var v=t.getUint32(1);i+=4;for(var m=0;m<v;m++){var g=e._parseValue(new DataView(t.buffer,t.byteOffset+i,t.byteLength-i)),y=g.data,_=g.size;r.push(y),i+=_}break;case 11:var b=t.getFloat64(i)+6e4*t.getInt16(i+8);r=new Date(b),i+=10;break;case 12:var k=t.getUint32(1);i+=4,r="",k>0&&(r=ge.decode(new Uint8Array(t.buffer,t.byteOffset+i,k))),i+=k;break;default:i=n}return{data:r,size:i,isEnd:a}}},{key:"_parseString",value:function(e){var t=e.getUint16(0),r="";return t>0&&(r=ge.decode(new Uint8Array(e.buffer,e.byteOffset+2,t))),{data:r,size:2+t}}},{key:"_parseObject",value:function(t){if(!(t.byteLength<3)){var r=e._parseString(t),n=e._parseValue(new DataView(t.buffer,t.byteOffset+r.size,t.byteLength-r.size));return{data:{name:r.data,value:n.data},size:r.size+n.size,isEnd:n.isEnd}}}}]),e}(),Ue=new me("FlvDemuxer"),Ne=function(){function e(t,r,n){k(this,e),w(this,"_headerParsed",!1),w(this,"_remainingData",null),w(this,"_gopId",0),w(this,"_needAddMetaBeforeKeyFrameNal",!0),this.videoTrack=t||new oe,this.audioTrack=r||new ue,this.metadataTrack=n||new pe,this._fixer=new Ae(this.videoTrack,this.audioTrack,this.metadataTrack)}return T(e,[{key:"demux",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=this.audioTrack,a=this.videoTrack,s=this.metadataTrack;if(!r&&n||(this._remainingData=null),r&&(this._headerParsed=!1),r?(a.reset(),i.reset(),s.reset()):(a.samples=[],i.samples=[],s.seiSamples=[],s.flvScriptSamples=[],a.warnings=[],i.warnings=[],this._remainingData&&(t=Te(this._remainingData,t),this._remainingData=null)),!t.length)return{videoTrack:a,audioTrack:i,metadataTrack:s};var o=0;if(!this._headerParsed){if(!e.probe(t))throw new Error("Invalid flv file");i.present=(4&t[4])>>>2!=0,a.present=0!=(1&t[4]),this._headerParsed=!0,o=Ee(t,5)+4}for(var u,c,l,d,h,f=t.length;o+15<f&&(u=t[o],!(o+15+(c=t[o+1]<<16|t[o+2]<<8|t[o+3])>f));)l=(t[o+7]<<24>>>0)+(t[o+4]<<16)+(t[o+5]<<8)+t[o+6],o+=11,d=t.subarray(o,o+c),8===u?this._parseAudio(d,l):9===u?this._parseVideo(d,l):18===u?this._parseScript(d,l):Ue.warn("Invalid tag type: ".concat(u)),(h=Ee(t,o+=c))!==11+c&&Ue.warn("Invalid PrevTagSize ".concat(h," (").concat(11+c,")")),o+=4;return o<f&&(this._remainingData=t.subarray(o)),i.formatTimescale=a.formatTimescale=a.timescale=s.timescale=1e3,i.timescale=i.sampleRate||0,!i.exist()&&i.hasSample()&&i.reset(),!a.exist()&&a.hasSample()&&a.reset(),{videoTrack:a,audioTrack:i,metadataTrack:s}}},{key:"fix",value:function(e,t,r){return this._fixer.fix(e,t,r),{videoTrack:this.videoTrack,audioTrack:this.audioTrack,metadataTrack:this.metadataTrack}}},{key:"demuxAndFix",value:function(e,t,r,n){return this.demux(e,t,r),this.fix(n,t,r)}},{key:"_parseAudio",value:function(t,r){if(t.length){var n=(240&t[0])>>>4,i=this.audioTrack;if(10!==n&&7!==n&&8!==n)return Ue.warn("Unsupported sound format: ".concat(n)),void i.reset();if(10!==n){var a=(12&t[0])>>2,s=(2&t[0])>>1,o=1&t[0];i.sampleRate=e.AUDIO_RATE[a],i.sampleSize=s?16:8,i.channelCount=o+1}10===n?this._parseAac(t,r):this._parseG711(t,r,n)}}},{key:"_parseG711",value:function(e,t,r){var n=this.audioTrack;n.codecType=7===r?$:ee,n.sampleRate=8e3,n.codec=n.codecType,n.samples.push(new le(t,e.subarray(1)))}},{key:"_parseAac",value:function(e,t){var r=this.audioTrack;if(r.codecType=Z,0===e[1]){var n=Me.parseAudioSpecificConfig(e.subarray(2));n?(r.codec=n.codec,r.channelCount=n.channelCount,r.sampleRate=n.sampleRate,r.config=n.config,r.objectType=n.objectType,r.sampleRateIndex=n.samplingFrequencyIndex):(r.reset(),Ue.warn("Cannot parse AudioSpecificConfig",e))}else if(1===e[1]){if(null==t)return;r.samples.push(new le(t,e.subarray(2)))}else Ue.warn("Unknown AACPacketType: ".concat(e[1]))}},{key:"_parseVideo",value:function(e,t){var r=this;if(!(e.length<6)){var n=(240&e[0])>>>4,i=15&e[0],a=this.videoTrack;if(7!==i&&12!==i)return a.reset(),void Ue.warn("Unsupported codecId: ".concat(i));var s=12===i;a.codecType=s?Q:X;var o=e[1],u=(e[2]<<16|e[3]<<8|e[4])<<8>>8;if(0===o){var c=e.subarray(5),l=s?Pe.parseHEVCDecoderConfigurationRecord(c):Be.parseAVCDecoderConfigurationRecord(c);if(l){var d=l.hvcC,h=l.sps,f=l.ppsArr,p=l.spsArr,v=l.vpsArr,m=l.nalUnitSize;d&&(a.hvcC=a.hvcC||d),h&&(a.codec=h.codec,a.width=h.width,a.height=h.height,a.sarRatio=h.sarRatio,a.fpsNum=h.fpsNum,a.fpsDen=h.fpsDen),p.length&&(a.sps=p),f.length&&(a.pps=f),v&&v.length&&(a.vps=v),m&&(a.nalUnitSize=m)}else Ue.warn("Cannot parse ".concat(s?"HEVC":"AVC","DecoderConfigurationRecord"),e)}else if(1===o){var g=Le.parseAvcC(e.subarray(5),a.nalUnitSize);if((g=this._checkAddMetaNalToUnits(s,g,a))&&g.length){var y=new ce(t+u,t,g);1===n&&y.setToKeyframe(),a.samples.push(y),g.forEach((function(e){var n=s?e[0]>>>1&63:31&e[0];switch(n){case 5:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:if(!s&&5!==n||s&&5===n)break;y.setToKeyframe();break;case 6:case 39:case 40:if(!s&&6!==n||s&&6===n)break;r.metadataTrack.seiSamples.push(new fe(Le.parseSEI(Le.removeEPB(e),s),t+u))}})),y.keyframe&&this._gopId++,y.gopId=this._gopId}else Ue.warn("Cannot parse NALUs",e)}else 2===o||Ue.warn("Unknown AVCPacketType: ".concat(o))}}},{key:"_checkAddMetaNalToUnits",value:function(e,t,r){return e&&this._needAddMetaBeforeKeyFrameNal?t.map((function(e){return e[0]>>>1&63})).includes(32)?(this._needAddMetaBeforeKeyFrameNal=!1,t):(t.unshift(r.pps[0]),t.unshift(r.sps[0]),t.unshift(r.vps[0]),t.filter(Boolean)):(this._needAddMetaBeforeKeyFrameNal=!1,t)}},{key:"_parseScript",value:function(e,t){this.metadataTrack.flvScriptSamples.push(new he(Ce.parse(e),t))}}],[{key:"probe",value:function(e){return 70===e[0]&&76===e[1]&&86===e[2]&&1===e[3]&&Ee(e,5)>=9}}]),e}();w(Ne,"AUDIO_RATE",[5500,11e3,22e3,44e3]),new me("TsDemuxer");var Fe=function(){function e(){k(this,e)}return T(e,null,[{key:"findBox",value:function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=[];if(!t)return i;for(var a=0,s="",o=0;t.length>7;){if(a=Ee(t),s=String.fromCharCode.apply(null,t.subarray(4,8)),o=8,1===a?(a=je(t,8),o+=8):a||(a=t.length),!r[0]||s===r[0]){var u=t.subarray(0,a);if(!(r.length<2))return e.findBox(u.subarray(o),r.slice(1),n+o);i.push({start:n,size:a,headerSize:o,type:s,data:u})}n+=a,t=t.subarray(a)}return i}},{key:"tfhd",value:function(e){return He(e,!0,(function(e,t){e.trackId=Ee(t);var r=4,n=1&e.flags,i=2&e.flags,a=8&e.flags,s=16&e.flags,o=32&e.flags;n&&(r+=4,e.baseDataOffset=Ee(t,r),r+=4),i&&(e.sampleDescriptionIndex=Ee(t,r),r+=4),a&&(e.defaultSampleDuration=Ee(t,r),r+=4),s&&(e.defaultSampleSize=Ee(t,r),r+=4),o&&(e.defaultSampleFlags=Ee(t,r))}))}},{key:"sidx",value:function(e){return He(e,!0,(function(e,t){var r=0;e.reference_ID=Ee(t,r),r+=4,e.timescale=Ee(t,r),r+=4,0===e.version?(e.earliest_presentation_time=Ee(t,r),r+=4,e.first_offset=Ee(t,r),r+=4):(e.earliest_presentation_time=je(t,r),r+=8,e.first_offset=je(t,r),r+=8),r+=2,e.references=[];var n=Se(t,r);r+=2;for(var i=0;i<n;i++){var a={};e.references.push(a);var s=Ee(t,r);r+=4,a.reference_type=s>>31&1,a.referenced_size=2147483647&s,a.subsegment_duration=Ee(t,r),s=Ee(t,r+=4),r+=4,a.starts_with_SAP=s>>31&1,a.SAP_type=s>>28&7,a.SAP_delta_time=268435455&s}}))}},{key:"moov",value:function(t){return He(t,!1,(function(t,r,n){t.mvhd=e.mvhd(e.findBox(r,["mvhd"],n)[0]),t.trak=e.findBox(r,["trak"],n).map((function(t){return e.trak(t)})),t.pssh=e.pssh(e.findBox(r,["pssh"],n)[0])}))}},{key:"mvhd",value:function(e){return He(e,!0,(function(e,t){var r=0;1===e.version?(e.timescale=Ee(t,16),e.duration=je(t,20),r+=28):(e.timescale=Ee(t,8),e.duration=Ee(t,12),r+=16),e.nextTrackId=Ee(t,r+76)}))}},{key:"trak",value:function(t){return He(t,!1,(function(t,r,n){t.tkhd=e.tkhd(e.findBox(r,["tkhd"],n)[0]),t.mdia=e.mdia(e.findBox(r,["mdia"],n)[0])}))}},{key:"tkhd",value:function(e){return He(e,!0,(function(e,t){var r=0;1===e.version?(e.trackId=Ee(t,16),e.duration=je(t,24),r+=32):(e.trackId=Ee(t,8),e.duration=Ee(t,16),r+=20),e.width=Ee(t,r+52),e.height=Ee(t,r+56)}))}},{key:"mdia",value:function(t){return He(t,!1,(function(t,r,n){t.mdhd=e.mdhd(e.findBox(r,["mdhd"],n)[0]),t.hdlr=e.hdlr(e.findBox(r,["hdlr"],n)[0]),t.minf=e.minf(e.findBox(r,["minf"],n)[0])}))}},{key:"mdhd",value:function(e){return He(e,!0,(function(e,t){var r=0;1===e.version?(e.timescale=Ee(t,16),e.duration=je(t,20),r+=28):(e.timescale=Ee(t,8),e.duration=Ee(t,12),r+=16);var n=Se(t,r);e.language=String.fromCharCode(96+(n>>10&31),96+(n>>5&31),96+(31&n))}))}},{key:"hdlr",value:function(e){return He(e,!0,(function(e,t){0===e.version&&(e.handlerType=String.fromCharCode.apply(null,t.subarray(4,8)))}))}},{key:"minf",value:function(t){return He(t,!1,(function(t,r,n){t.vmhd=e.vmhd(e.findBox(r,["vmhd"],n)[0]),t.smhd=e.smhd(e.findBox(r,["smhd"],n)[0]),t.stbl=e.stbl(e.findBox(r,["stbl"],n)[0])}))}},{key:"vmhd",value:function(e){return He(e,!0,(function(e,t){e.graphicsmode=Se(t),e.opcolor=[Se(t,2),Se(t,4),Se(t,6)]}))}},{key:"smhd",value:function(e){return He(e,!0,(function(e,t){e.balance=Se(t)}))}},{key:"stbl",value:function(t){return He(t,!1,(function(t,r,n){var i,a,s;t.stsd=e.stsd(e.findBox(r,["stsd"],n)[0]),t.stts=e.stts(e.findBox(r,["stts"],n)[0]),t.ctts=e.ctts(e.findBox(r,["ctts"],n)[0]),t.stsc=e.stsc(e.findBox(r,["stsc"],n)[0]),t.stsz=e.stsz(e.findBox(r,["stsz"],n)[0]),t.stco=e.stco(e.findBox(r,["stco"],n)[0]),t.stco||(t.co64=e.co64(e.findBox(r,["co64"],n)[0]),t.stco=t.co64);var o=null===(i=t.stsd.entries[0])||void 0===i||null===(a=i.sinf)||void 0===a||null===(s=a.schi)||void 0===s?void 0:s.tenc.default_IV_size;t.stss=e.stss(e.findBox(r,["stss"],n)[0]),t.senc=e.senc(e.findBox(r,["senc"],n)[0],o)}))}},{key:"senc",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return He(e,!0,(function(e,r){var n=0,i=Ee(r,n);n+=4,e.samples=[];for(var a=0;a<i;a++){for(var s={InitializationVector:[]},o=0;o<t;o++)s.InitializationVector[o]=r[n+o];if(n+=t,2&e.flags){s.subsamples=[];var u=Se(r,n);n+=2;for(var c=0;c<u;c++){var l={};l.BytesOfClearData=Se(r,n),n+=2,l.BytesOfProtectedData=Ee(r,n),n+=4,s.subsamples.push(l)}}e.samples.push(s)}}))}},{key:"pssh",value:function(e){return He(e,!0,(function(e,t){for(var r=[],n=[],i=0,a=0;a<16;a++)n.push(Ke(t[i+a]));if(i+=16,e.version>0){var s=Ee(t,i);i+=4;for(var o=0;o<(""+s).length;o++)for(var u=0;u<16;u++){var c=t[i];i+=1,r.push(Ke(c))}}var l=Ee(t,i);e.data_size=l,i+=4,e.kid=r,e.system_id=n,e.buffer=t}))}},{key:"stsd",value:function(t){return He(t,!0,(function(t,r,n){t.entryCount=Ee(r),t.entries=e.findBox(r.subarray(4),[],n+4).map((function(t){switch(t.type){case"avc1":case"avc2":case"avc3":case"avc4":return e.avc1(t);case"hvc1":case"hev1":return e.hvc1(t);case"mp4a":return e.mp4a(t);case"alaw":case"ulaw":return e.alaw(t);case"enca":return He(t,!1,(function(t,r,n){t.channelCount=Se(r,16),t.samplesize=Se(r,18),t.sampleRate=Ee(r,24)/65536,r=r.subarray(28),t.sinf=e.sinf(e.findBox(r,["sinf"],n)[0]),t.esds=e.esds(e.findBox(r,["esds"],n)[0])}));case"encv":return He(t,!1,(function(t,r,n){t.width=Se(r,24),t.height=Se(r,26),t.horizresolution=Ee(r,28),t.vertresolution=Ee(r,32),r=r.subarray(78),t.sinf=e.sinf(e.findBox(r,["sinf"],n)[0]),t.avcC=e.avcC(e.findBox(r,["avcC"],n)[0]),t.hvcC=e.hvcC(e.findBox(r,["hvcC"],n)[0]),t.pasp=e.pasp(e.findBox(r,["pasp"],n)[0])}))}})).filter(Boolean)}))}},{key:"tenc",value:function(e){return He(e,!1,(function(e,t){var r=6;e.default_IsEncrypted=t[r],r+=1,e.default_IV_size=t[r],r+=1,e.default_KID=[];for(var n=0;n<16;n++)e.default_KID.push(Ke(t[r])),r+=1}))}},{key:"schi",value:function(t){return He(t,!1,(function(t,r,n){t.tenc=e.tenc(e.findBox(r,["tenc"],n)[0])}))}},{key:"sinf",value:function(t){return He(t,!1,(function(t,r,n){t.schi=e.schi(e.findBox(r,["schi"],n)[0]),t.frma=e.frma(e.findBox(r,["frma"],n)[0])}))}},{key:"frma",value:function(e){return He(e,!1,(function(e,t){e.data_format="";for(var r=0;r<4;r++)e.data_format+=String.fromCharCode(t[r])}))}},{key:"avc1",value:function(t){return He(t,!1,(function(t,r,n){var i=qe(t,r),a=r.subarray(i);n+=i,t.avcC=e.avcC(e.findBox(a,["avcC"],n)[0]),t.pasp=e.pasp(e.findBox(a,["pasp"],n)[0])}))}},{key:"avcC",value:function(e){return He(e,!1,(function(t,r){t.data=e.data,t.configurationVersion=r[0],t.AVCProfileIndication=r[1],t.profileCompatibility=r[2],t.AVCLevelIndication=r[3],t.codec=De([r[1],r[2],r[3]]),t.lengthSizeMinusOne=3&r[4],t.spsLength=31&r[5],t.sps=[];for(var n=6,i=0;i<t.spsLength;i++){var a=Se(r,n);n+=2,t.sps.push(r.subarray(n,n+a)),n+=a}t.ppsLength=r[n],n+=1,t.pps=[];for(var s=0;s<t.ppsLength;s++){var o=Se(r,n);n+=2,t.pps.push(r.subarray(n,n+=o)),n+=o}}))}},{key:"hvc1",value:function(t){return He(t,!1,(function(t,r,n){var i=qe(t,r),a=r.subarray(i);n+=i,t.hvcC=e.hvcC(e.findBox(a,["hvcC"],n)[0]),t.pasp=e.pasp(e.findBox(a,["pasp"],n)[0])}))}},{key:"hvcC",value:function(e){return He(e,!1,(function(t,r){t.data=e.data,t.codec="hev1.1.6.L93.B0",t.configurationVersion=r[0];var n=r[1];t.generalProfileSpace=n>>6,t.generalTierFlag=(32&n)>>5,t.generalProfileIdc=31&n,t.generalProfileCompatibility=Ee(r,2),t.generalConstraintIndicatorFlags=r.subarray(6,12),t.generalLevelIdc=r[12],t.avgFrameRate=Se(r,19),t.numOfArrays=r[22],t.vps=[],t.sps=[],t.pps=[];for(var i=23,a=0,s=0,o=0,u=0;u<t.numOfArrays;u++){a=63&r[i],s=Se(r,i+1),i+=3;for(var c,l=[],d=0;d<s;d++)o=Se(r,i),i+=2,l.push(r.subarray(i,i+o)),i+=o;if(32===a)(c=t.vps).push.apply(c,l);else if(33===a){var h;(h=t.sps).push.apply(h,l)}else if(34===a){var f;(f=t.pps).push.apply(f,l)}}}))}},{key:"pasp",value:function(e){return He(e,!1,(function(e,t){e.hSpacing=Ee(t),e.vSpacing=Ee(t,4)}))}},{key:"mp4a",value:function(t){return He(t,!1,(function(t,r,n){var i=Ve(t,r);t.esds=e.esds(e.findBox(r.subarray(i),["esds"],n+i)[0])}))}},{key:"esds",value:function(e){return He(e,!0,(function(e,t){e.codec="mp4a.";for(var r=0,n=0,i=0,a=0;t.length;){for(a=t[r=0],n=t[r+1],r+=2;128&n;)i=(127&n)<<7,n=t[r],r+=1;if(i+=127&n,3===a)t=t.subarray(r+3);else{if(4!==a){if(5===a){var s=e.config=t.subarray(r,r+i),o=(248&s[0])>>3;return 31===o&&s.length>=2&&(o=32+((7&s[0])<<3)+((224&s[1])>>5)),e.objectType=o,e.codec+=o.toString(16),void("."===e.codec[e.codec.length-1]&&(e.codec=e.codec.substring(0,e.codec.length-1)))}return void("."===e.codec[e.codec.length-1]&&(e.codec=e.codec.substring(0,e.codec.length-1)))}e.codec+=(t[r].toString(16)+".").padStart(3,"0"),t=t.subarray(r+13)}}}))}},{key:"alaw",value:function(e){return He(e,!1,(function(e,t){Ve(e,t)}))}},{key:"stts",value:function(e){return He(e,!0,(function(e,t){for(var r=Ee(t),n=[],i=4,a=0;a<r;a++)n.push({count:Ee(t,i),delta:Ee(t,i+4)}),i+=8;e.entryCount=r,e.entries=n}))}},{key:"ctts",value:function(e){return He(e,!0,(function(e,t){var r=Ee(t),n=[],i=4;if(1===e.version)for(var a=0;a<r;a++)n.push({count:Ee(t,i),offset:Ee(t,i+4)}),i+=8;else for(var s=0;s<r;s++)n.push({count:Ee(t,i),offset:-(1+~Ee(t,i+4))}),i+=8;e.entryCount=r,e.entries=n}))}},{key:"stsc",value:function(e){return He(e,!0,(function(e,t){for(var r=Ee(t),n=[],i=4,a=0;a<r;a++)n.push({firstChunk:Ee(t,i),samplesPerChunk:Ee(t,i+4),sampleDescriptionIndex:Ee(t,i+8)}),i+=12;e.entryCount=r,e.entries=n}))}},{key:"stsz",value:function(e){return He(e,!0,(function(e,t){var r=Ee(t),n=Ee(t,4),i=[];if(!r)for(var a=8,s=0;s<n;s++)i.push(Ee(t,a)),a+=4;e.sampleSize=r,e.sampleCount=n,e.entrySizes=i}))}},{key:"stco",value:function(e){return He(e,!0,(function(e,t){for(var r=Ee(t),n=[],i=4,a=0;a<r;a++)n.push(Ee(t,i)),i+=4;e.entryCount=r,e.entries=n}))}},{key:"co64",value:function(e){return He(e,!0,(function(e,t){for(var r=Ee(t),n=[],i=4,a=0;a<r;a++)n.push(je(t,i)),i+=8;e.entryCount=r,e.entries=n}))}},{key:"stss",value:function(e){return He(e,!0,(function(e,t){for(var r=Ee(t),n=[],i=4,a=0;a<r;a++)n.push(Ee(t,i)),i+=4;e.entryCount=r,e.entries=n}))}},{key:"moof",value:function(t){return He(t,!1,(function(t,r,n){t.mfhd=e.mfhd(e.findBox(r,["mfhd"],n)[0]),t.traf=e.findBox(r,["traf"],n).map((function(t){return e.traf(t)}))}))}},{key:"mfhd",value:function(e){return He(e,!0,(function(e,t){e.sequenceNumber=Ee(t)}))}},{key:"traf",value:function(t){return He(t,!1,(function(t,r,n){t.tfhd=e.tfhd(e.findBox(r,["tfhd"],n)[0]),t.tfdt=e.tfdt(e.findBox(r,["tfdt"],n)[0]),t.trun=e.trun(e.findBox(r,["trun"],n)[0])}))}},{key:"trun",value:function(e){return He(e,!0,(function(e,t){var r=e.version,n=e.flags,i=t.length,a=e.sampleCount=Ee(t),s=4;if(i>s&&1&n&&(e.dataOffset=-(1+~Ee(t,s)),s+=4),i>s&&4&n&&(e.firstSampleFlags=Ee(t,s),s+=4),e.samples=[],i>s)for(var o,u=0;u<a;u++)o={},256&n&&(o.duration=Ee(t,s),s+=4),512&n&&(o.size=Ee(t,s),s+=4),1024&n&&(o.flags=Ee(t,s),s+=4),2048&n&&(o.cts=r?-(1+~Ee(t,s+4)):Ee(t,s),s+=4),e.samples.push(o)}))}},{key:"tfdt",value:function(e){return He(e,!0,(function(e,t){1===e.version?e.baseMediaDecodeTime=je(t):e.baseMediaDecodeTime=Ee(t)}))}},{key:"probe",value:function(t){return!!e.findBox(t,["ftyp"])}},{key:"parseSampleFlags",value:function(e){return{isLeading:(12&e[0])>>>2,dependsOn:3&e[0],isDependedOn:(192&e[1])>>>6,hasRedundancy:(48&e[1])>>>4,paddingValue:(14&e[1])>>>1,isNonSyncSample:1&e[1],degradationPriority:e[2]<<8|e[3]}}},{key:"moovToTrack",value:function(e,t,r){var n,i,a=e.trak;if(a&&a.length){var s=a.find((function(e){var t,r;return"vide"===(null===(t=e.mdia)||void 0===t||null===(r=t.hdlr)||void 0===r?void 0:r.handlerType)})),o=a.find((function(e){var t,r;return"soun"===(null===(t=e.mdia)||void 0===t||null===(r=t.hdlr)||void 0===r?void 0:r.handlerType)}));if(s&&t){var u,c,l,d,h,f,p,v=t,m=null===(u=s.tkhd)||void 0===u?void 0:u.trackId;null!=m&&(v.id=s.tkhd.trackId),v.tkhdDuration=s.tkhd.duration,v.mvhdDurtion=e.mvhd.duration,v.mvhdTimecale=e.mvhd.timescale,v.timescale=v.formatTimescale=s.mdia.mdhd.timescale,v.duration=s.mdia.mdhd.duration||v.mvhdDurtion/v.mvhdTimecale*v.timescale;var g,y,_,b,k,x,T,w,S=s.mdia.minf.stbl.stsd.entries[0];if(v.width=S.width,v.height=S.height,S.pasp&&(v.sarRatio=[S.pasp.hSpacing,S.pasp.vSpacing]),S.hvcC)v.codecType=Q,v.codec=S.hvcC.codec,v.vps=S.hvcC.vps,v.sps=S.hvcC.sps,v.pps=S.hvcC.pps,v.hvcC=S.hvcC.data;else{if(!S.avcC)throw new Error("unknown video stsd entry");v.codec=S.avcC.codec,v.sps=S.avcC.sps,v.pps=S.avcC.pps}if(v.present=!0,v.ext={},v.ext.stss=null===(c=s.mdia)||void 0===c||null===(l=c.minf)||void 0===l||null===(d=l.stbl)||void 0===d?void 0:d.stss,v.ext.ctts=null===(h=s.mdia)||void 0===h||null===(f=h.minf)||void 0===f||null===(p=f.stbl)||void 0===p?void 0:p.ctts,S&&"encv"===S.type)v.isVideoEncryption=!0,S.default_KID=null===(g=S.sinf)||void 0===g||null===(y=g.schi)||void 0===y?void 0:y.tenc.default_KID,S.default_IsEncrypted=null===(_=S.sinf)||void 0===_||null===(b=_.schi)||void 0===b?void 0:b.tenc.default_IsEncrypted,S.default_IV_size=null===(k=S.sinf)||void 0===k||null===(x=k.schi)||void 0===x?void 0:x.tenc.default_IV_size,v.videoSenc=s.mdia.minf.stbl.senc&&s.mdia.minf.stbl.senc.samples,S.data_format=null===(T=S.sinf)||void 0===T||null===(w=T.frma)||void 0===w?void 0:w.data_format,v.useEME=e.useEME,v.kidValue=e.kidValue,v.pssh=e.pssh,v.encv=S}if(o&&r){var E,j,D,R,L,B,M,P,O,I=r,A=null===(E=o.tkhd)||void 0===E?void 0:E.trackId;null!=A&&(I.id=o.tkhd.trackId),I.tkhdDuration=o.tkhd.duration,I.mvhdDurtion=e.mvhd.duration,I.mvhdTimecale=e.mvhd.timescale,I.timescale=I.formatTimescale=o.mdia.mdhd.timescale,I.duration=o.mdia.mdhd.duration||I.mvhdDurtion/I.mvhdTimecale*I.timescale;var C,U,N,F,z,q,V,H,G=o.mdia.minf.stbl.stsd.entries[0];switch(I.sampleSize=G.sampleSize,I.sampleRate=G.sampleRate,I.channelCount=G.channelCount,I.present=!0,G.type){case"alaw":I.codecType=I.codec=$,I.sampleRate=8e3;break;case"ulaw":I.codecType=I.codec=ee,I.sampleRate=8e3;break;default:I.sampleDuration=Me.getFrameDuration(I.sampleRate,I.timescale),I.sampleRateIndex=Me.getRateIndexByRate(I.sampleRate),I.objectType=(null===(n=G.esds)||void 0===n?void 0:n.objectType)||2,G.esds&&(I.config=Array.from(G.esds.config)),I.codec=(null===(i=G.esds)||void 0===i?void 0:i.codec)||"mp4a.40.2"}if(I.sampleDuration=Me.getFrameDuration(I.sampleRate,I.timescale),I.objectType=(null===(j=G.esds)||void 0===j?void 0:j.objectType)||2,G.esds&&(G.esds.config?I.config=Array.from(G.esds.config):console.warn("esds config is null")),I.codec=(null===(D=G.esds)||void 0===D?void 0:D.codec)||"mp4a.40.2",I.sampleRateIndex=Me.getRateIndexByRate(I.sampleRate),I.ext={},I.ext.stss=null===(R=o.mdia)||void 0===R||null===(L=R.minf)||void 0===L||null===(B=L.stbl)||void 0===B?void 0:B.stss,I.ext.ctts=null===(M=o.mdia)||void 0===M||null===(P=M.minf)||void 0===P||null===(O=P.stbl)||void 0===O?void 0:O.ctts,I.present=!0,G&&"enca"===G.type)I.isAudioEncryption=!0,G.data_format=null===(C=G.sinf)||void 0===C||null===(U=C.frma)||void 0===U?void 0:U.data_format,G.default_KID=null===(N=G.sinf)||void 0===N||null===(F=N.schi)||void 0===F?void 0:F.tenc.default_KID,G.default_IsEncrypted=null===(z=G.sinf)||void 0===z||null===(q=z.schi)||void 0===q?void 0:q.tenc.default_IsEncrypted,G.default_IV_size=null===(V=G.sinf)||void 0===V||null===(H=V.schi)||void 0===H?void 0:H.tenc.default_IV_size,I.audioSenc=o.mdia.minf.stbl.senc&&o.mdia.minf.stbl.senc.samples,I.useEME=e.useEME,I.kidValue=e.kidValue,I.enca=G}if(r&&(r.isVideoEncryption=!!t&&t.isVideoEncryption),t&&(t.isAudioEncryption=!!r&&r.isAudioEncryption),null!=t&&t.encv||null!=r&&r.enca){var K,W,Y=null==t||null===(K=t.encv)||void 0===K?void 0:K.default_KID,J=null==r||null===(W=r.enca)||void 0===W?void 0:W.default_KID,X=Y||J?(Y||J).join(""):null;t&&(t.kid=X),r&&(r.kid=X)}return t&&(t.flags=3841),r&&(r.flags=1793),{videoTrack:t,audioTrack:r}}}},{key:"evaluateDefaultDuration",value:function(e,t,r){var n,i=null==t||null===(n=t.samples)||void 0===n?void 0:n.length;return i?1024*i/t.timescale*e.timescale/r:1024}},{key:"moofToSamples",value:function(t,r,n){var i={};return t.mfhd&&(r&&(r.sequenceNumber=t.mfhd.sequenceNumber),n&&(n.sequenceNumber=t.mfhd.sequenceNumber)),t.traf.forEach((function(t){var a=t.tfhd,s=t.tfdt,o=t.trun;if(a&&o){s&&(r&&r.id===a.trackId&&(r.baseMediaDecodeTime=s.baseMediaDecodeTime),n&&n.id===a.trackId&&(n.baseMediaDecodeTime=s.baseMediaDecodeTime));var u=a.defaultSampleSize||0,c=a.defaultSampleDuration||e.evaluateDefaultDuration(r,n,o.samples.length||o.sampleCount),l=o.dataOffset||0,d=0,h=-1;if(!o.samples.length&&o.sampleCount){i[a.trackId]=[];for(var f=0;f<o.sampleCount;f++)i[a.trackId].push({offset:l,dts:d,duration:c,size:u}),d+=c,l+=u}else i[a.trackId]=o.samples.map((function(e,t){return(e={offset:l,dts:d,pts:d+(e.cts||0),duration:e.duration||c,size:e.size||u,gopId:h,keyframe:0===t||null!==e.flags&&void 0!==e.flags&&(65536&e.flags)>>>0!=65536}).keyframe&&(h++,e.gopId=h),d+=e.duration,l+=e.size,e}))}})),i}},{key:"moovToSamples",value:function(e){var t=e.trak;if(t&&t.length){var r=t.find((function(e){var t,r;return"vide"===(null===(t=e.mdia)||void 0===t||null===(r=t.hdlr)||void 0===r?void 0:r.handlerType)})),n=t.find((function(e){var t,r;return"soun"===(null===(t=e.mdia)||void 0===t||null===(r=t.hdlr)||void 0===r?void 0:r.handlerType)}));if(r||n){var i,a;if(r){var s,o,u=null===(s=r.mdia)||void 0===s||null===(o=s.minf)||void 0===o?void 0:o.stbl;if(!u)return;var c=u.stts,l=u.stsc,d=u.stsz,h=u.stco,f=u.stss,p=u.ctts;if(!(c&&l&&d&&h&&f))return;i=ze(c,l,d,h,p,f)}if(n){var v,m,g,y=null===(v=n.mdia)||void 0===v||null===(m=v.minf)||void 0===m?void 0:m.stbl;if(!y)return;var _=null===(g=n.mdia.mdhd)||void 0===g?void 0:g.timescale,b=y.stts,k=y.stsc,x=y.stsz,T=y.stco;if(!(_&&b&&k&&x&&T))return;a=ze(b,k,x,T)}return{videoSamples:i,audioSamples:a}}}}}]),e}();function ze(e,t,r,n,i,a){var s,o,u,c=[],l=null==i?void 0:i.entries,d=t.entries,h=n.entries,f=r.entrySizes,p=null==a?void 0:a.entries;p&&(s={},p.forEach((function(e){s[e-1]=!0}))),l&&(o=[],l.forEach((function(e){for(var t=e.count,r=e.offset,n=0;n<t;n++)o.push(r)})));var v=-1,m=0,g=0,y=0,_=0,b=0,k=d[0].samplesPerChunk,x=d[1]?d[1].firstChunk-1:1/0;return e.entries.forEach((function(e){for(var t=e.count,n=e.delta,i=0;i<t;i++)u={dts:m,duration:n,size:f[g]||r.sampleSize,offset:h[y]+b,index:g},p&&(u.keyframe=s[g],u.keyframe&&v++,u.gopId=v),o&&g<o.length&&(u.pts=u.dts+o[g]),c.push(u),m+=n,++g<k?b+=u.size:(y++,b=0,y>=x&&(_++,x=d[_+1]?d[_+1].firstChunk-1:1/0),k+=d[_].samplesPerChunk)})),c}function qe(e,t){return e.dataReferenceIndex=Se(t,6),e.width=Se(t,24),e.height=Se(t,26),e.horizresolution=Ee(t,28),e.vertresolution=Ee(t,32),e.frameCount=Se(t,40),e.depth=Se(t,74),78}function Ve(e,t){return e.dataReferenceIndex=Se(t,6),e.channelCount=Se(t,16),e.sampleSize=Se(t,18),e.sampleRate=Ee(t,24)/65536,28}function He(e,t,r){if(e){if(e.size!==e.data.length)throw new Error("box ".concat(e.type," size !== data.length"));var n={start:e.start,size:e.size,headerSize:e.headerSize,type:e.type};return t&&(n.version=e.data[e.headerSize],n.flags=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<16)+(e[t+1]<<8)+(e[t+2]||0)}(e.data,e.headerSize+1),n.headerSize+=4),r(n,e.data.subarray(n.headerSize),n.start+n.headerSize),n}}var Ge=function(e,t,r){for(var n=String(r),i=t>>0,a=Math.ceil(i/n.length),s=[],o=String(e);a--;)s.push(n);return s.join("").substring(0,i-o.length)+o},Ke=function(){for(var e=[],t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return r.forEach((function(t){e.push(Ge(Number(t).toString(16),2,0))})),e[0]};function We(e){for(var t=0,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];n.forEach((function(e){t+=e.length}));var a=new e(t),s=0;return n.forEach((function(e){a.set(e,s),s+=e.length})),a}var Ye=function(){function e(){k(this,e),this.buffer=new Uint8Array(0)}return T(e,[{key:"write",value:function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];r.forEach((function(t){t?e.buffer=We(Uint8Array,e.buffer,t):window.console.warn(t)}))}}],[{key:"writeUint16",value:function(e){return new Uint8Array([e>>8&255,255&e])}},{key:"writeUint32",value:function(e){return new Uint8Array([e>>24,e>>16&255,e>>8&255,255&e])}}]),e}(),Je=Math.pow(2,32)-1,Xe=function(){function e(){k(this,e)}return T(e,null,[{key:"box",value:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var i=8+(r=r.filter(Boolean)).reduce((function(e,t){return e+t.byteLength}),0),a=new Uint8Array(i);a[0]=i>>24&255,a[1]=i>>16&255,a[2]=i>>8&255,a[3]=255&i,a.set(e,4);var s=8;return r.forEach((function(e){a.set(e,s),s+=e.byteLength})),a}},{key:"ftyp",value:function(t){return t.find((function(e){return e.type===W&&e.codecType===Q}))?e.FTYPHEV1:e.FTYPAVC1}},{key:"initSegment",value:function(t){return Te(e.ftyp(t),e.moov(t))}},{key:"pssh",value:function(t){var r=new Uint8Array([1,0,0,0].concat([16,119,239,236,192,178,77,2,172,227,60,30,82,226,251,75],[0,0,0,1],Re(t.kid),[0,0,0,0]));return e.box(e.types.pssh,r)}},{key:"moov",value:function(t){if(t[0].useEME&&(t[0].encv||t[0].enca)){t[0].pssh||(t[0].pssh={kid:t[0].kid});var r=this.pssh(t[0].pssh);return e.box.apply(e,[e.types.moov,e.mvhd(t[0].mvhdDurtion||t[0].duration,t[0].mvhdTimecale||t[0].timescale),e.mvex(t)].concat(U(t.map((function(t){return e.trak(t)}))),[r]))}return e.box.apply(e,[e.types.moov,e.mvhd(t[0].mvhdDurtion||t[0].duration,t[0].mvhdTimecale||t[0].timescale)].concat(U(t.map((function(t){return e.trak(t)}))),[e.mvex(t)]))}},{key:"mvhd",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4,n=e.box(e.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,r>>24&255,r>>16&255,r>>8&255,255&r,t>>24&255,t>>16&255,t>>8&255,255&t,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]));return n}},{key:"trak",value:function(t){return e.box(e.types.trak,e.tkhd(t.id,t.tkhdDuration||0,t.width,t.height),e.mdia(t))}},{key:"tkhd",value:function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=e.box(e.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,t>>24&255,t>>16&255,t>>8&255,255&t,0,0,0,0,r>>24&255,r>>16&255,r>>8&255,255&r,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,n>>8&255,255&n,0,0,i>>8&255,255&i,0,0]));return a}},{key:"mdia",value:function(t){return e.box(e.types.mdia,e.mdhd(t.duration,t.timescale),e.hdlr(t.type),e.minf(t))}},{key:"mdhd",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4,n=e.box(e.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,r>>24&255,r>>16&255,r>>8&255,255&r,t>>24&255,t>>16&255,t>>8&255,255&t,85,196,0,0]));return n}},{key:"hdlr",value:function(t){return e.box(e.types.hdlr,e.HDLR_TYPES[t])}},{key:"minf",value:function(t){return e.box(e.types.minf,t.type===W?e.VMHD:e.SMHD,e.DINF,e.stbl(t))}},{key:"stbl",value:function(t){var r=[];return t&&t.ext&&t.ext.stss&&r.push(e.stss(t.ext.stss.entries)),e.box(e.types.stbl,e.stsd(t),e.STTS,r[0],e.STSC,e.STSZ,e.STCO)}},{key:"stsd",value:function(t){var r;return r="audio"===t.type?t.useEME&&t.enca?e.enca(t):e.mp4a(t):t.useEME&&t.encv?e.encv(t):e.avc1hev1(t),e.box(e.types.stsd,new Uint8Array([0,0,0,0,0,0,0,1]),r)}},{key:"enca",value:function(t){var r=t.enca.channelCount,n=t.enca.sampleRate,i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,r,0,16,0,0,0,0,n>>8&255,255&n,0,0]),a=e.esds(t.config),s=e.sinf(t.enca);return e.box(e.types.enca,i,a,s)}},{key:"encv",value:function(t){var r,n,i=t.sps.length>0?t.sps[0]:[],a=t.pps.length>0?t.pps[0]:[],s=t.width,o=t.height,u=t.sarRatio[0],c=t.sarRatio[1],l=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,s>>8&255,255&s,o>>8&255,255&o,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),d=new Uint8Array((r=(n=[1,i[1],i[2],i[3],255,225,i.length>>>8&255,255&i.length]).concat.apply(n,U(i)).concat([1,a.length>>>8&255,255&a.length])).concat.apply(r,U(a))),h=new Uint8Array([0,0,88,57,0,15,200,192,0,4,86,72]),f=e.sinf(t.encv),p=new Uint8Array([u>>24,u>>16&255,u>>8&255,255&u,c>>24,c>>16&255,c>>8&255,255&c]);return e.box(e.types.encv,l,e.box(e.types.avcC,d),e.box(e.types.btrt,h),f,e.box(e.types.pasp,p))}},{key:"schi",value:function(t){var r=new Uint8Array([]),n=e.tenc(t);return e.box(e.types.schi,r,n)}},{key:"tenc",value:function(t){var r=new Uint8Array([0,0,0,0,0,0,255&t.default_IsEncrypted,255&t.default_IV_size].concat(Re(t.default_KID)));return e.box(e.types.tenc,r)}},{key:"sinf",value:function(t){var r=new Uint8Array([]),n=new Uint8Array([t.data_format.charCodeAt(0),t.data_format.charCodeAt(1),t.data_format.charCodeAt(2),t.data_format.charCodeAt(3)]),i=new Uint8Array([0,0,0,0,99,101,110,99,0,1,0,0]),a=e.schi(t);return e.box(e.types.sinf,r,e.box(e.types.frma,n),e.box(e.types.schm,i),a)}},{key:"avc1hev1",value:function(t){var r=t.codecType===Q,n=r?e.types.hvc1:e.types.avc1,i=r?e.hvcC(t):e.avcC(t),a=[new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,t.width>>8&255,255&t.width,t.height>>8&255,255&t.height,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),i];return r?a.push(e.box(e.types.fiel,new Uint8Array([1,0]))):t.sarRatio&&t.sarRatio.length>1&&a.push(e.pasp(t.sarRatio)),e.box.apply(e,[n].concat(a))}},{key:"avcC",value:function(t){var r,n,i,a=[],s=[];return t.sps.forEach((function(e){i=e.byteLength,a.push(i>>>8&255),a.push(255&i),a.push.apply(a,U(e))})),t.pps.forEach((function(e){i=e.byteLength,s.push(i>>>8&255),s.push(255&i),s.push.apply(s,U(e))})),e.box(e.types.avcC,new Uint8Array((r=(n=[1,a[3],a[4],a[5],255,224|t.sps.length]).concat.apply(n,a).concat([t.pps.length])).concat.apply(r,s)))}},{key:"hvcC",value:function(t){var r=t.hvcC;if(r instanceof ArrayBuffer||r instanceof Uint8Array)return r;var n,i=t.vps,a=t.sps,s=t.pps;if(r){var o=r.generalProfileCompatibilityFlags,u=r.generalConstraintIndicatorFlags,c=(i.length&&1)+(a.length&&1)+(s.length&&1);n=[1,r.generalProfileSpace<<6|r.generalTierFlag<<5|r.generalProfileIdc,o>>>24,o>>>16,o>>>8,o,u[0],u[1],u[2],u[3],u[4],u[5],r.generalLevelIdc,240,0,252,252|r.chromaFormatIdc,248|r.bitDepthLumaMinus8,248|r.bitDepthChromaMinus8,0,0,r.numTemporalLayers<<3|r.temporalIdNested<<2|3,c];var l=function(e){var t;n.push(e.length>>8,e.length),(t=n).push.apply(t,U(e))};i.length&&(n.push(160,0,i.length),i.forEach(l)),a.length&&(n.push(161,0,a.length),a.forEach(l)),s.length&&(n.push(162,0,s.length),s.forEach(l))}else n=[1,1,96,0,0,0,144,0,0,0,0,0,93,240,0,252,253,248,248,0,0,15,3,160,0,1,0,24,64,1,12,1,255,255,1,96,0,0,3,0,144,0,0,3,0,0,3,0,93,153,152,9,161,0,1,0,45,66,1,1,1,96,0,0,3,0,144,0,0,3,0,0,3,0,93,160,2,128,128,45,22,89,153,164,147,43,154,128,128,128,130,0,0,3,0,2,0,0,3,0,50,16,162,0,1,0,7,68,1,193,114,180,98,64];return e.box(e.types.hvcC,new Uint8Array(n))}},{key:"pasp",value:function(t){var r=C(t,2),n=r[0],i=r[1];return e.box(e.types.pasp,new Uint8Array([n>>24,n>>16&255,n>>8&255,255&n,i>>24,i>>16&255,i>>8&255,255&i]))}},{key:"mp4a",value:function(t){return e.box(e.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t.channelCount,0,16,0,0,0,0,t.sampleRate>>8&255,255&t.sampleRate,0,0]),t.config.length?e.esds(t.config):void 0)}},{key:"esds",value:function(t){var r=t.length;return e.box(e.types.esds,new Uint8Array([0,0,0,0,3,23+r,0,0,0,4,15+r,64,21,0,6,0,0,0,218,192,0,0,218,192,5].concat([r]).concat(t).concat([6,1,2])))}},{key:"mvex",value:function(t){return e.box.apply(e,[e.types.mvex].concat(U(t.map((function(t){return e.trex(t.id)})))))}},{key:"trex",value:function(t){return e.box(e.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}},{key:"trex1",value:function(t){return e.box(e.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,0,0,0,1,0,0,2,0,0,0,0,0,0,1,0,0]))}},{key:"trex2",value:function(t){return e.box(e.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,0,0,0,1,0,0,4,0,0,0,0,0,2,0,0,0]))}},{key:"moof",value:function(t){return e.box.apply(e,[e.types.moof,e.mfhd(t[0].samples?t[0].samples[0].gopId:0)].concat(U(t.map((function(t){return e.traf(t)})))))}},{key:"mfhd",value:function(t){return e.box(e.types.mfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]))}},{key:"traf",value:function(t){var r=e.tfhd(t.id),n=e.tfdt(t,t.baseMediaDecodeTime),i=0;if(t.isVideo&&t.videoSenc&&t.videoSenc.forEach((function(e){i+=8,e.subsamples&&e.subsamples.length&&(i+=2,i+=6*e.subsamples.length)})),t.videoSencLength=i,t.useEME&&(t.isVideoEncryption||t.isAudioEncryption)){if(t.isVideoEncryption){if(t.isVideo){var a=e.saiz(t),s=e.saio(t),o=e.trun1(t),u=e.senc(t);return e.box(e.types.traf,r,n,a,s,o,u)}if(t.isAudioEncryption){var c=e.sbgp(),l=e.saiz(t),d=e.saio(t),h=e.senc(t),f=e.trun1(t);return e.box(e.types.traf,r,n,c,l,d,h,f)}var p=e.sbgp(),v=e.trun1(t);return e.box(e.types.traf,r,n,p,v)}if(t.isVideo){var m=e.trun1(t);return e.box(e.types.traf,r,n,m)}var g=e.sbgp(),y=e.saiz(t),_=e.saio(t),b=e.senc(t),k=e.trun1(t);return e.box(e.types.traf,r,n,g,y,_,b,k)}var x=e.sdtp(t);return e.box(e.types.traf,r,n,x,e.trun(t.samples,x.byteLength+76))}},{key:"sdtp",value:function(t){var r=new Ye;return t.samples.forEach((function(e){r.write(new Uint8Array(t.isVideo?[e.keyframe?32:16]:[16]))})),e.box(e.types.sdtp,this.extension(0,0),r.buffer)}},{key:"trun1",value:function(t){var r=new Ye,n=Ye.writeUint32(t.samples.length),i=null;if(t.isVideo){var a=t.videoSencLength;i=Ye.writeUint32(16*t.samples.length+a+149),!t.isVideoEncryption&&t.isAudioEncryption&&(i=Ye.writeUint32(16*t.samples.length+92))}else{var s=12*t.samples.length+124;t.isAudioEncryption&&(s=12*t.samples.length+8*t.audioSenc.length+177),i=Ye.writeUint32(s)}return t.samples.forEach((function(e){r.write(Ye.writeUint32(e.duration)),r.write(Ye.writeUint32(e.size)),r.write(Ye.writeUint32(e.keyframe?33554432:65536)),t.isVideo&&r.write(Ye.writeUint32(e.cts?e.cts:0))})),e.box(e.types.trun,this.extension(0,t.flags),n,i,r.buffer)}},{key:"senc",value:function(t){var r=new Ye,n=t.samples.length,i=t.isVideo?16:8,a=t.isVideo?2:0,s=[],o=0;return t.isVideo?(s=t.videoSenc,o=t.videoSencLength):s=t.audioSenc,o=o||i*n,r.write(Ye.writeUint32(16+o),e.types.senc,this.extension(0,a)),r.write(Ye.writeUint32(n)),s.forEach((function(e){for(var t=0;t<e.InitializationVector.length;t++)r.write(new Uint8Array([e.InitializationVector[t]]));e.subsamples&&e.subsamples.length&&(r.write(Ye.writeUint16(e.subsamples.length)),e.subsamples.forEach((function(e){r.write(Ye.writeUint16(e.BytesOfClearData)),r.write(Ye.writeUint32(e.BytesOfProtectedData))})))})),r.buffer}},{key:"saio",value:function(t){var r=12*t.samples.length+141;!t.isVideo&&t.isAudioEncryption&&(r=149);var n=new Uint8Array([1,0,0,0,0,0,0,1,0,0,0,0,r>>24&255,r>>16&255,r>>8&255,255&r]);return e.box(e.types.saio,n)}},{key:"saiz",value:function(t){var r=t.samples.length,n=new Uint8Array([0,0,0,0,16,r>>24&255,r>>16&255,r>>8&255,255&r]);return e.box(e.types.saiz,n)}},{key:"sbgp",value:function(){var t=new Uint8Array([114,111,108,108,0,0,0,1,0,0,1,25,0,0,0,1]);return e.box(e.types.sbgp,this.extension(0,0),t)}},{key:"extension",value:function(e,t){return new Uint8Array([e,t>>16&255,t>>8&255,255&t])}},{key:"tfhd",value:function(t){return e.box(e.types.tfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]))}},{key:"tfdt",value:function(t,r){var n=Math.floor(r/(Je+1)),i=Math.floor(r%(Je+1));return t.useEME&&(t.isVideoEncryption||t.isAudioEncryption)?e.box(e.types.tfdt,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,255&i])):e.box(e.types.tfdt,new Uint8Array([1,0,0,0,n>>24,n>>16&255,n>>8&255,255&n,i>>24,i>>16&255,i>>8&255,255&i]))}},{key:"trun",value:function(t,r){var n=t.length,i=12+16*n;r+=8+i;var a=new Uint8Array(i);a.set([0,0,15,1,n>>>24&255,n>>>16&255,n>>>8&255,255&n,r>>>24&255,r>>>16&255,r>>>8&255,255&r],0);for(var s=0;s<n;s++){var o=t[s],u=o.duration,c=o.size,l=o.flag,d=void 0===l?{}:l,h=o.cts,f=void 0===h?0:h;a.set([u>>>24&255,u>>>16&255,u>>>8&255,255&u,c>>>24&255,c>>>16&255,c>>>8&255,255&c,d.isLeading<<2|(null===d.dependsOn||void 0===d.dependsOn?1:d.dependsOn),d.isDependedOn<<6|d.hasRedundancy<<4|d.paddingValue<<1|(null===d.isNonSyncSample||void 0===d.isNonSyncSample?1:d.isNonSyncSample),61440&d.degradationPriority,15&d.degradationPriority,f>>>24&255,f>>>16&255,f>>>8&255,255&f],12+16*s)}return e.box(e.types.trun,a)}},{key:"moovMP4",value:function(t){return e.box.apply(e,[e.types.moov,e.mvhd(t[0].duration,t[0].timescale)].concat(U(t.map((function(t){return e.trackMP4(t)})))))}},{key:"trackMP4",value:function(t){return e.box(e.types.trak,e.tkhd(t.id,t.duration,t.width,t.height),e.mdiaMP4(t))}},{key:"mdiaMP4",value:function(t){return e.box(e.types.mdia,e.mdhd(t.duration,t.timescale),e.hdlr(t.type),e.minfMP4(t))}},{key:"minfMP4",value:function(t){return e.box(e.types.minf,t.type===W?e.VMHD:e.SMHD,e.DINF,e.stblMP4(t))}},{key:"stblMP4",value:function(t){var r=t.ext,n=[e.stsd(t),e.stts(r.stts),e.stsc(r.stsc),e.stsz(r.stsz),e.stco(r.stco)];return r.stss.length&&n.push(e.stss(r.stss)),r.ctts.length&&n.push(e.ctts(r.ctts)),e.box.apply(e,[e.types.stbl].concat(n))}},{key:"stts",value:function(t){var r=t.length,n=new Uint8Array(8*r),i=0;return t.forEach((function(e){var t=e.value,r=e.count;n.set([r>>24,r>>16&255,r>>8&255,255&r,t>>24,t>>16&255,t>>8&255,255&t],i),i+=8})),e.box(e.types.stts,Te(new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r]),n))}},{key:"stsc",value:function(t){var r=t.length,n=new Uint8Array(12*r),i=0;return t.forEach((function(e){var t=e.firstChunk,r=e.samplesPerChunk,a=e.sampleDescIndex;n.set([t>>24,t>>16&255,t>>8&255,255&t,r>>24,r>>16&255,r>>8&255,255&r,a>>24,a>>16&255,a>>8&255,255&a],i),i+=12})),e.box(e.types.stsc,Te(new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r]),n))}},{key:"stsz",value:function(t){var r=t.length,n=new Uint8Array(4*r),i=0;return t.forEach((function(e){n.set([e>>24,e>>16&255,e>>8&255,255&e],i),i+=4})),e.box(e.types.stsz,Te(new Uint8Array([0,0,0,0,0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r]),n))}},{key:"stco",value:function(t){var r=t.length,n=new Uint8Array(4*r),i=0;return t.forEach((function(e){n.set([e>>24,e>>16&255,e>>8&255,255&e],i),i+=4})),e.box(e.types.stco,Te(new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r]),n))}},{key:"stss",value:function(t){var r=t.length,n=new Uint8Array(4*r),i=0;return t.forEach((function(e){n.set([e>>24,e>>16&255,e>>8&255,255&e],i),i+=4})),e.box(e.types.stss,Te(new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r]),n))}},{key:"ctts",value:function(t){var r=t.length,n=new Uint8Array(8*r),i=0;return t.forEach((function(e){var t=e.value,r=e.count;n.set([r>>24,r>>16&255,r>>8&255,255&r,t>>24,t>>16&255,t>>8&255,255&t],i),i+=8})),e.box(e.types.ctts,Te(new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r]),n))}},{key:"styp",value:function(){return e.box(e.types.styp,new Uint8Array([109,115,100,104,0,0,0,0,109,115,100,104,109,115,105,120]))}},{key:"sidx",value:function(t){var r=t.timescale,n=t.samples[0].duration,i=n*t.samples.length,a=t.samples[0].sampleOffset*n,s=8;t.samples.forEach((function(e){s+=e.size}));var o=0;if(t.isVideo){var u,c=0;t.videoSenc&&(u=t.videoSenc),t.isVideo&&u.forEach((function(e){c+=8,e.subsamples&&e.subsamples.length&&(c+=2,c+=6*e.subsamples.length)})),t.videoSencLength=c,o=s+141+16*t.samples.length+c,t.useEME&&t.isAudioEncryption&&!t.isVideoEncryption&&(o=s+16*t.samples.length+84)}else o=s+116+12*t.samples.length,t.useEME&&t.isAudioEncryption&&(o=s+169+12*t.samples.length+8*t.audioSenc.length);var l=new Uint8Array([0,0,0,0,0,0,0,255&t.id,r>>24&255,r>>16&255,r>>8&255,255&r,a>>24&255,a>>16&255,a>>8&255,255&a,0,0,0,0,0,0,0,1,0,o>>16&255,o>>8&255,255&o,i>>24&255,i>>16&255,i>>8&255,255&i,144,0,0,0]);return e.box(e.types.sidx,l)}},{key:"mdat",value:function(t){return e.box(e.types.mdat,t)}}]),e}();w(Xe,"types",["avc1","avcC","hvc1","hvcC","dinf","dref","esds","ftyp","hdlr","mdat","mdhd","mdia","mfhd","minf","moof","moov","mp4a","mvex","mvhd","pasp","stbl","stco","stsc","stsd","stsz","stts","tfdt","tfhd","traf","trak","trex","tkhd","vmhd","smhd","ctts","stss","styp","pssh","sidx","sbgp","saiz","saio","senc","trun","encv","enca","sinf","btrt","frma","tenc","schm","schi","mehd","fiel","sdtp"].reduce((function(e,t){return e[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)],e}),Object.create(null))),w(Xe,"HDLR_TYPES",{video:new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),audio:new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0])}),w(Xe,"FTYPAVC1",Xe.box(Xe.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]))),w(Xe,"FTYPHEV1",Xe.box(Xe.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,104,101,118,49]))),w(Xe,"DINF",Xe.box(Xe.types.dinf,Xe.box(Xe.types.dref,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1])))),w(Xe,"VMHD",Xe.box(Xe.types.vmhd,new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]))),w(Xe,"SMHD",Xe.box(Xe.types.smhd,new Uint8Array([0,0,0,0,0,0,0,0]))),w(Xe,"StblTable",new Uint8Array([0,0,0,0,0,0,0,0])),w(Xe,"STTS",Xe.box(Xe.types.stts,Xe.StblTable)),w(Xe,"STSC",Xe.box(Xe.types.stsc,Xe.StblTable)),w(Xe,"STSZ",Xe.box(Xe.types.stsz,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]))),w(Xe,"STCO",Xe.box(Xe.types.stco,Xe.StblTable));var Qe=function(){function e(t,r){k(this,e),this.name=t||"",this._prefix="[".concat(this.name,"]"),e.disabled=r}return T(e,[{key:"debug",value:function(){var t;if(!e.disabled){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];(t=console).debug.apply(t,[this._prefix].concat(n))}}},{key:"log",value:function(){var t;if(!e.disabled){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];(t=console).log.apply(t,[this._prefix].concat(n))}}},{key:"warn",value:function(){var t;if(!e.disabled){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];(t=console).warn.apply(t,[this._prefix].concat(n))}}},{key:"error",value:function(){var t;if(!e.disabled){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];(t=console).error.apply(t,[this._prefix].concat(n))}}},{key:"table",value:function(){var t;e.disabled||(console.group(this._prefix),(t=console).table.apply(t,arguments),console.groupEnd())}}],[{key:"enable",value:function(){e.disabled=!1}},{key:"disable",value:function(){e.disabled=!0}}]),e}();w(Qe,"disabled",!0);for(var Ze=function(){function e(t,r,n){k(this,e),this.videoTrack=t,this.audioTrack=r;var i=/Chrome\/([^.]+)/.exec(navigator.userAgent);this.forceFirstIDR=i&&Number(i[1])<50,this.log=new Qe("FMP4Remuxer",!n||!n.openLog||!n.openLog)}return T(e,[{key:"remux",value:function(){var e,t,r,n,i,a=arguments.length>0&&void 0!==arguments[0]&&arguments[0],s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=this.videoTrack,u=this.audioTrack,c=o.exist(),l=u.exist(),d=[];return a&&(s&&s.initMerge?(c&&d.push(this.videoTrack),l&&d.push(this.audioTrack),r=Xe.initSegment(d)):(c&&(e=Xe.initSegment([this.videoTrack])),l&&(t=Xe.initSegment([this.audioTrack])))),c&&o.hasSample()&&(n=this._remuxVideo()),l&&u.hasSample()&&(i=this._remuxAudio()),o.samples=[],u.samples=[],{initSegment:r,videoInitSegment:e,audioInitSegment:t,videoSegment:n,audioSegment:i}}},{key:"_remuxVideo",value:function(){var e=this.videoTrack;this.forceFirstIDR&&(e.samples[0].flag={dependsOn:2,isNonSyncSample:0});var t=e.samples,r=0;t.forEach((function(e){r+=e.units.reduce((function(e,t){return e+t.byteLength}),0),r+=4*e.units.length}));for(var n,i=new Uint8Array(r),a=new DataView(i.buffer),s=function(e,r){r=t[o];var s=0;r.units.forEach((function(t){a.setUint32(e,t.byteLength),e+=4,i.set(t,e),e+=t.byteLength,s+=4+t.byteLength})),r.size=s,c=e,n=r},o=0,u=t.length,c=0;o<u;o++)s(c,n);var l=Xe.mdat(i);return Te(Xe.moof([e]),l)}},{key:"_remuxAudio",value:function(){var e=this.audioTrack,t=new Uint8Array(e.samples.reduce((function(e,t){return e+t.size}),0));e.samples.reduce((function(e,r){return t.set(r.data,e),e+r.size}),0);var r=Xe.mdat(t);return Te(Xe.moof([e]),r)}},{key:"reset",value:function(){this.videoTrack.reset(),this.audioTrack.reset()}}]),e}(),$e=function(){function e(t,r,n,i){var a=this;k(this,e),w(this,"_videoSamples",[]),w(this,"_audioSamples",[]),w(this,"_lastRemainBuffer",[]),w(this,"_lastRemainBufferStartPos",0),this.videoTrack=new oe,this.audioTrack=new ue,this.metadataTrack=n||new pe,this.log=new Qe("MP4Demuxer",!i||!i.openLog||!i.openLog),t&&t.forEach((function(e){var t;(t=a._videoSamples).push.apply(t,U(e.frames))})),r&&r.forEach((function(e){var t;(t=a._audioSamples).push.apply(t,U(e.frames))}))}return T(e,[{key:"parseSamples",value:function(e){if(!e)throw new Error("moov is required");if(this.videoTrack.codec||this.audioTrack.codec||(Fe.moovToTrack(e,this.videoTrack,this.audioTrack),this.videoSenc=this.videoTrack.videoSenc,this.audioSenc=this.audioTrack.audioSenc),!this._audioSamples.length&&!this._videoSamples.length){var t=Fe.moovToSamples(e);if(!t)throw new Error("cannot parse samples from moov box");this._videoSamples=t.videoSamples||[],this._audioSamples=t.audioSamples||[]}}},{key:"demux",value:function(e,t,r,n,i){this.parseSamples(i);var a,s,o,u=this.videoTrack,c=this.audioTrack;if(u.samples=[],c.samples=[],r){for(var l,d=0,h=r[0],f=r[1];h<=f;h++){if(!(a=this._videoSamples[h]))throw new Error("cannot found video frame #".concat(h));o=a.offset-t,s=e.subarray(o,o+a.size),(l=new ce(a.pts||a.dts,a.dts)).duration=a.duration,l.gopId=a.gopId,a.keyframe&&l.setToKeyframe();for(var p=0,v=s.length-1;p<v;)d=Ee(s,p),p+=4,l.units.push(s.subarray(p,p+d)),p+=d;u.samples.push(l)}u.baseMediaDecodeTime=u.samples[0].dts}if(n){for(var m=n[0],g=n[1];m<=g;m++){if(!(a=this._audioSamples[m]))throw new Error("cannot found video frame #".concat(m));o=a.offset-t,s=e.subarray(o,o+a.size),c.samples.push(new le(a.dts,s,a.duration))}c.baseMediaDecodeTime=c.samples[0].dts}return{videoTrack:u,audioTrack:c,metadataTrack:this.metadataTrack}}},{key:"demuxPart",value:function(e,t,r,n,i,a,s,o){if(this.parseSamples(i),this.videoTrack.useEME=a,this.audioTrack.useEME=a,this._lastRemainBuffer&&this._lastRemainBuffer.byteLength>0&&t>this._lastRemainBufferStartPos&&t<=this._lastRemainBufferStartPos+this._lastRemainBuffer.byteLength)for(var u=0;u<20;)try{var c=this._lastRemainBuffer.subarray(0,t-this._lastRemainBufferStartPos),l=new Uint8Array(e.byteLength+c.byteLength);l.set(c,0),l.set(new Uint8Array(e),c.byteLength),e=l,t-=c.byteLength,this._lastRemainBuffer=null,this._lastRemainBufferStartPos=0;break}catch(j){if(!(u<20))throw new Error("new Uint8Array error:,"+j.errorMessage);u++}var d,h,f,p=this.videoTrack,v=this.audioTrack;p.samples=[],v.samples=[],p.videoSenc=null,v.audioSenc=null;var m=0,g=0;if(this._videoSamples.length>0&&r.length>0){for(var y,_=e.byteLength+t,b=r[0];b<=r[1];b++){if(!(d=this._videoSamples[b]))throw new Error("cannot found video frame #".concat(b));d.offset>=t&&d.offset+d.size<=_&&(m=(f=d.offset-t)+d.size,h=e.subarray(f,m),(y=new ce(d.pts||d.dts,d.dts)).duration=d.duration,y.gopId=d.gopId,y.sampleOffset=d.index,d.keyframe&&y.setToKeyframe(),y.data=h,y.size=d.size,p.samples.push(y))}p.samples.length>0&&(p.gopId=p.samples[0].gopId,p.baseMediaDecodeTime=p.samples[0].dts,p.startPts=p.samples[0].pts/p.timescale,p.endPts=p.samples[p.samples.length-1].pts/p.timescale,this.videoSenc&&(p.videoSenc=this.videoSenc.slice(p.samples[0].sampleOffset,p.samples[0].sampleOffset+p.samples.length),p.kidValue=s))}if(this._audioSamples.length>0&&n.length>0){for(var k=n[0];k<=n[1];k++){if(!(d=this._audioSamples[k]))throw new Error("cannot found video frame #".concat(k));d.offset>=t&&d.offset+d.size<=e.byteLength+t&&(g=(f=d.offset-t)+d.size,h=e.subarray(f,g),v.samples.push(new le(d.dts,h,d.duration,d.index)))}v.samples.length>0&&(v.gopId=v.samples[0].gopId||p.gopId,v.baseMediaDecodeTime=v.samples[0].dts,v.startPts=v.samples[0].pts/v.timescale,v.endPts=v.samples[v.samples.length-1].pts/v.timescale,this.audioSenc&&(v.audioSenc=this.audioSenc.slice(v.samples[0].sampleOffset,v.samples[0].sampleOffset+v.samples.length),v.kidValue=s))}this.decoderData(p,v,o);for(var x=0,T=0;T<p.samples.length;T++)for(var w=0,S=p.samples[T].data,E=S.length-1;w<E;)x=Ee(S,w),w+=4,p.samples[T].units.push(S.subarray(w,w+x)),w+=x;return this._lastRemainBuffer=e.subarray(Math.max(m,g)),this._lastRemainBuffer.byteLength>0?this._lastRemainBufferStartPos=t+e.byteLength-this._lastRemainBuffer.byteLength:this._lastRemainBufferStartPos=0,{videoTrack:p,audioTrack:v,metadataTrack:this.metadataTrack}}},{key:"reset",value:function(){this._videoSamples=[],this._audioSamples=[],this._lastRemainBuffer=null,this._lastRemainBufferStartPos=0,this.videoTrack.reset(),this.audioTrack.reset(),this.metadataTrack.reset()}},{key:"decoderData",value:function(e,t,r){!e.useEME&&t.useEME}}],[{key:"probe",value:function(e){return Fe.probe(e)}}]),e}(),et=function(){function e(){k(this,e)}return T(e,[{key:"mixIn",value:function(e){return Object.assign(this,e)}},{key:"clone",value:function(){var e=new this.constructor;return Object.assign(e,this),e}}],[{key:"create",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return R(this,t)}}]),e}(),tt=function(e){S(r,e);var t=O(r);function r(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4*n.length;k(this,r),e=t.call(this);var a=n;if(a instanceof ArrayBuffer&&(a=new Uint8Array(a)),(a instanceof Int8Array||a instanceof Uint8ClampedArray||a instanceof Int16Array||a instanceof Uint16Array||a instanceof Int32Array||a instanceof Uint32Array||a instanceof Float32Array||a instanceof Float64Array)&&(a=new Uint8Array(a.buffer,a.byteOffset,a.byteLength)),a instanceof Uint8Array){for(var s=a.byteLength,o=[],u=0;u<s;u+=1)o[u>>>2]|=a[u]<<24-u%4*8;e.words=o,e.sigBytes=s}else e.words=n,e.sigBytes=i;return e}return T(r,[{key:"toString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:rt;return e.stringify(this)}},{key:"concat",value:function(e){var t=this.words,r=e.words,n=this.sigBytes,i=e.sigBytes;if(this.clamp(),n%4)for(var a=0;a<i;a+=1){var s=r[a>>>2]>>>24-a%4*8&255;t[n+a>>>2]|=s<<24-(n+a)%4*8}else for(var o=0;o<i;o+=4)t[n+o>>>2]=r[o>>>2];return this.sigBytes+=i,this}},{key:"clamp",value:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=Math.ceil(t/4)}},{key:"clone",value:function(){var e=A(E(r.prototype),"clone",this).call(this);return e.words=this.words.slice(0),e}}],[{key:"random",value:function(e){for(var t,n=[],i=function(e){var t=e,r=987654321,n=4294967295;return function(){var e=((r=36969*(65535&r)+(r>>16)&n)<<16)+(t=18e3*(65535&t)+(t>>16)&n)&n;return e/=4294967296,(e+=.5)*(Math.random()>.5?1:-1)}},a=0;a<e;a+=4){var s=i(4294967296*(t||Math.random()));t=987654071*s(),n.push(4294967296*s()|0)}return new r(n,e)}}]),r}(et),rt={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i<r;i+=1){var a=t[i>>>2]>>>24-i%4*8&255;n.push((a>>>4).toString(16)),n.push((15&a).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n<t;n+=2)r[n>>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new tt(r,t/2)}},nt=function(e){for(var t=e.length,r=[],n=0;n<t;n+=1)r[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new tt(r,t)},it=function(e){return nt(unescape(encodeURIComponent(e)))},at=function(e){S(r,e);var t=O(r);function r(){var e;return k(this,r),(e=t.call(this))._minBufferSize=0,e}return T(r,[{key:"reset",value:function(){this._data=new tt,this._nDataBytes=0}},{key:"_append",value:function(e){var t=e;"string"==typeof t&&(t=it(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes}},{key:"_process",value:function(e){var t,r=this._data,n=this.blockSize,i=r.words,a=r.sigBytes,s=a/(4*n),o=(s=e?Math.ceil(s):Math.max((0|s)-this._minBufferSize,0))*n,u=Math.min(4*o,a);if(o){for(var c=0;c<o;c+=n)this._doProcessBlock(i,c);t=i.splice(0,o),r.sigBytes-=u}return new tt(t,u)}},{key:"clone",value:function(){var e=A(E(r.prototype),"clone",this).call(this);return e._data=this._data.clone(),e}}]),r}(et),st=function(e){S(r,e);var t=O(r);function r(e){var n;return k(this,r),(n=t.call(this)).blockSize=16,n.cfg=Object.assign(new et,e),n.reset(),n}return T(r,[{key:"reset",value:function(){A(E(r.prototype),"reset",this).call(this),this._doReset()}},{key:"update",value:function(e){return this._append(e),this._process(),this}},{key:"finalize",value:function(e){return e&&this._append(e),this._doFinalize()}}],[{key:"_createHelper",value:function(e){return function(t,r){return new e(r).finalize(t)}}},{key:"_createHmacHelper",value:function(e){return function(t,r){return new ot(e,r).finalize(t)}}}]),r}(at),ot=function(e){S(r,e);var t=O(r);function r(e,n){var i;k(this,r),i=t.call(this);var a=new e;i._hasher=a;var s=n;"string"==typeof s&&(s=it(s));var o=a.blockSize,u=4*o;s.sigBytes>u&&(s=a.finalize(n)),s.clamp();var c=s.clone();i._oKey=c;var l=s.clone();i._iKey=l;for(var d=c.words,h=l.words,f=0;f<o;f+=1)d[f]^=1549556828,h[f]^=909522486;return c.sigBytes=u,l.sigBytes=u,i.reset(),i}return T(r,[{key:"reset",value:function(){var e=this._hasher;e.reset(),e.update(this._iKey)}},{key:"update",value:function(e){return this._hasher.update(e),this}},{key:"finalize",value:function(e){var t=this._hasher,r=t.finalize(e);return t.reset(),t.finalize(this._oKey.clone().concat(r))}}]),r}(et),ut={stringify:function(e){var t=e.words,r=e.sigBytes,n=this._map;e.clamp();for(var i=[],a=0;a<r;a+=3)for(var s=(t[a>>>2]>>>24-a%4*8&255)<<16|(t[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|t[a+2>>>2]>>>24-(a+2)%4*8&255,o=0;o<4&&a+.75*o<r;o+=1)i.push(n.charAt(s>>>6*(3-o)&63));var u=n.charAt(64);if(u)for(;i.length%4;)i.push(u);return i.join("")},parse:function(e){var t=e.length,r=this._map,n=this._reverseMap;if(!n){this._reverseMap=[],n=this._reverseMap;for(var i=0;i<r.length;i+=1)n[r.charCodeAt(i)]=i}var a=r.charAt(64);if(a){var s=e.indexOf(a);-1!==s&&(t=s)}return function(e,t,r){for(var n=[],i=0,a=0;a<t;a+=1)if(a%4){var s=r[e.charCodeAt(a-1)]<<a%4*2|r[e.charCodeAt(a)]>>>6-a%4*2;n[i>>>2]|=s<<24-i%4*8,i+=1}return tt.create(n,i)}(e,t,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},ct=[],lt=0;lt<64;lt+=1)ct[lt]=4294967296*Math.abs(Math.sin(lt+1))|0;var dt=function(e,t,r,n,i,a,s){var o=e+(t&r|~t&n)+i+s;return(o<<a|o>>>32-a)+t},ht=function(e,t,r,n,i,a,s){var o=e+(t&n|r&~n)+i+s;return(o<<a|o>>>32-a)+t},ft=function(e,t,r,n,i,a,s){var o=e+(t^r^n)+i+s;return(o<<a|o>>>32-a)+t},pt=function(e,t,r,n,i,a,s){var o=e+(r^(t|~n))+i+s;return(o<<a|o>>>32-a)+t},vt=function(e){S(r,e);var t=O(r);function r(){return k(this,r),t.apply(this,arguments)}return T(r,[{key:"_doReset",value:function(){this._hash=new tt([1732584193,4023233417,2562383102,271733878])}},{key:"_doProcessBlock",value:function(e,t){for(var r=e,n=0;n<16;n+=1){var i=t+n,a=e[i];r[i]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}var s=this._hash.words,o=r[t+0],u=r[t+1],c=r[t+2],l=r[t+3],d=r[t+4],h=r[t+5],f=r[t+6],p=r[t+7],v=r[t+8],m=r[t+9],g=r[t+10],y=r[t+11],_=r[t+12],b=r[t+13],k=r[t+14],x=r[t+15],T=s[0],w=s[1],S=s[2],E=s[3];T=dt(T,w,S,E,o,7,ct[0]),E=dt(E,T,w,S,u,12,ct[1]),S=dt(S,E,T,w,c,17,ct[2]),w=dt(w,S,E,T,l,22,ct[3]),T=dt(T,w,S,E,d,7,ct[4]),E=dt(E,T,w,S,h,12,ct[5]),S=dt(S,E,T,w,f,17,ct[6]),w=dt(w,S,E,T,p,22,ct[7]),T=dt(T,w,S,E,v,7,ct[8]),E=dt(E,T,w,S,m,12,ct[9]),S=dt(S,E,T,w,g,17,ct[10]),w=dt(w,S,E,T,y,22,ct[11]),T=dt(T,w,S,E,_,7,ct[12]),E=dt(E,T,w,S,b,12,ct[13]),S=dt(S,E,T,w,k,17,ct[14]),w=dt(w,S,E,T,x,22,ct[15]),T=ht(T,w,S,E,u,5,ct[16]),E=ht(E,T,w,S,f,9,ct[17]),S=ht(S,E,T,w,y,14,ct[18]),w=ht(w,S,E,T,o,20,ct[19]),T=ht(T,w,S,E,h,5,ct[20]),E=ht(E,T,w,S,g,9,ct[21]),S=ht(S,E,T,w,x,14,ct[22]),w=ht(w,S,E,T,d,20,ct[23]),T=ht(T,w,S,E,m,5,ct[24]),E=ht(E,T,w,S,k,9,ct[25]),S=ht(S,E,T,w,l,14,ct[26]),w=ht(w,S,E,T,v,20,ct[27]),T=ht(T,w,S,E,b,5,ct[28]),E=ht(E,T,w,S,c,9,ct[29]),S=ht(S,E,T,w,p,14,ct[30]),w=ht(w,S,E,T,_,20,ct[31]),T=ft(T,w,S,E,h,4,ct[32]),E=ft(E,T,w,S,v,11,ct[33]),S=ft(S,E,T,w,y,16,ct[34]),w=ft(w,S,E,T,k,23,ct[35]),T=ft(T,w,S,E,u,4,ct[36]),E=ft(E,T,w,S,d,11,ct[37]),S=ft(S,E,T,w,p,16,ct[38]),w=ft(w,S,E,T,g,23,ct[39]),T=ft(T,w,S,E,b,4,ct[40]),E=ft(E,T,w,S,o,11,ct[41]),S=ft(S,E,T,w,l,16,ct[42]),w=ft(w,S,E,T,f,23,ct[43]),T=ft(T,w,S,E,m,4,ct[44]),E=ft(E,T,w,S,_,11,ct[45]),S=ft(S,E,T,w,x,16,ct[46]),w=ft(w,S,E,T,c,23,ct[47]),T=pt(T,w,S,E,o,6,ct[48]),E=pt(E,T,w,S,p,10,ct[49]),S=pt(S,E,T,w,k,15,ct[50]),w=pt(w,S,E,T,h,21,ct[51]),T=pt(T,w,S,E,_,6,ct[52]),E=pt(E,T,w,S,l,10,ct[53]),S=pt(S,E,T,w,g,15,ct[54]),w=pt(w,S,E,T,u,21,ct[55]),T=pt(T,w,S,E,v,6,ct[56]),E=pt(E,T,w,S,x,10,ct[57]),S=pt(S,E,T,w,f,15,ct[58]),w=pt(w,S,E,T,b,21,ct[59]),T=pt(T,w,S,E,d,6,ct[60]),E=pt(E,T,w,S,y,10,ct[61]),S=pt(S,E,T,w,c,15,ct[62]),w=pt(w,S,E,T,m,21,ct[63]),s[0]=s[0]+T|0,s[1]=s[1]+w|0,s[2]=s[2]+S|0,s[3]=s[3]+E|0}},{key:"_doFinalize",value:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;t[n>>>5]|=128<<24-n%32;var i=Math.floor(r/4294967296),a=r;t[15+(n+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t[14+(n+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),e.sigBytes=4*(t.length+1),this._process();for(var s=this._hash,o=s.words,u=0;u<4;u+=1){var c=o[u];o[u]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}return s}},{key:"clone",value:function(){var e=A(E(r.prototype),"clone",this).call(this);return e._hash=this._hash.clone(),e}}]),r}(st);st._createHelper(vt),st._createHmacHelper(vt);var mt=function(e){S(r,e);var t=O(r);function r(e){var n;return k(this,r),(n=t.call(this)).cfg=Object.assign(new et,{keySize:4,hasher:vt,iterations:1},e),n}return T(r,[{key:"compute",value:function(e,t){for(var r,n=this.cfg,i=n.hasher.create(),a=tt.create(),s=a.words,o=n.keySize,u=n.iterations;s.length<o;){r&&i.update(r),r=i.update(e).finalize(t),i.reset();for(var c=1;c<u;c+=1)r=i.finalize(r),i.reset();a.concat(r)}return a.sigBytes=4*o,a}}]),r}(et),gt=function(e){S(r,e);var t=O(r);function r(e,n,i){var a;return k(this,r),(a=t.call(this)).cfg=Object.assign(new et,i),a._xformMode=e,a._key=n,a.reset(),a}return T(r,[{key:"reset",value:function(){A(E(r.prototype),"reset",this).call(this),this._doReset()}},{key:"process",value:function(e){return this._append(e),this._process()}},{key:"finalize",value:function(e){return e&&this._append(e),this._doFinalize()}}],[{key:"createEncryptor",value:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)}},{key:"createDecryptor",value:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)}},{key:"_createHelper",value:function(e){var t=function(e){return"string"==typeof e?jt:St};return{encrypt:function(r,n,i){return t(n).encrypt(e,r,n,i)},decrypt:function(r,n,i){return t(n).decrypt(e,r,n,i)}}}}]),r}(at);gt._ENC_XFORM_MODE=1,gt._DEC_XFORM_MODE=2,gt.keySize=4,gt.ivSize=4;var yt=function(e){S(r,e);var t=O(r);function r(e,n){var i;return k(this,r),(i=t.call(this))._cipher=e,i._iv=n,i}return T(r,null,[{key:"createEncryptor",value:function(e,t){return this.Encryptor.create(e,t)}},{key:"createDecryptor",value:function(e,t){return this.Decryptor.create(e,t)}}]),r}(et);function _t(e,t,r){var n,i=e,a=this._iv;a?(n=a,this._iv=void 0):n=this._prevBlock;for(var s=0;s<r;s+=1)i[t+s]^=n[s]}var bt=function(e){S(r,e);var t=O(r);function r(){return k(this,r),t.apply(this,arguments)}return T(r)}(yt);bt.Encryptor=function(e){S(r,e);var t=O(r);function r(){return k(this,r),t.apply(this,arguments)}return T(r,[{key:"processBlock",value:function(e,t){var r=this._cipher,n=r.blockSize;_t.call(this,e,t,n),r.encryptBlock(e,t),this._prevBlock=e.slice(t,t+n)}}]),r}(bt),bt.Decryptor=function(e){S(r,e);var t=O(r);function r(){return k(this,r),t.apply(this,arguments)}return T(r,[{key:"processBlock",value:function(e,t){var r=this._cipher,n=r.blockSize,i=e.slice(t,t+n);r.decryptBlock(e,t),_t.call(this,e,t,n),this._prevBlock=i}}]),r}(bt);var kt={pad:function(e,t){for(var r=4*t,n=r-e.sigBytes%r,i=n<<24|n<<16|n<<8|n,a=[],s=0;s<n;s+=4)a.push(i);var o=tt.create(a,n);e.concat(o)},unpad:function(e){var t=e,r=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=r}},xt=function(e){S(r,e);var t=O(r);function r(e,n,i){var a;return k(this,r),(a=t.call(this,e,n,Object.assign({mode:bt,padding:kt},i))).blockSize=4,a}return T(r,[{key:"reset",value:function(){var e;A(E(r.prototype),"reset",this).call(this);var t=this.cfg,n=t.iv,i=t.mode;this._xformMode===this.constructor._ENC_XFORM_MODE?e=i.createEncryptor:(e=i.createDecryptor,this._minBufferSize=1),this._mode=e.call(i,this,n&&n.words),this._mode.__creator=e}},{key:"_doProcessBlock",value:function(e,t){this._mode.processBlock(e,t)}},{key:"_doFinalize",value:function(){var e,t=this.cfg.padding;return this._xformMode===this.constructor._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e}}]),r}(gt),Tt=function(e){S(r,e);var t=O(r);function r(e){var n;return k(this,r),(n=t.call(this)).mixIn(e),n}return T(r,[{key:"toString",value:function(e){return(e||this.formatter).stringify(this)}}]),r}(et),wt={stringify:function(e){var t=e.ciphertext,r=e.salt;return(r?tt.create([1398893684,1701076831]).concat(r).concat(t):t).toString(ut)},parse:function(e){var t,r=ut.parse(e),n=r.words;return 1398893684===n[0]&&1701076831===n[1]&&(t=tt.create(n.slice(2,4)),n.splice(0,4),r.sigBytes-=16),Tt.create({ciphertext:r,salt:t})}},St=function(e){S(r,e);var t=O(r);function r(){return k(this,r),t.apply(this,arguments)}return T(r,null,[{key:"encrypt",value:function(e,t,r,n){var i=Object.assign(new et,this.cfg,n),a=e.createEncryptor(r,i),s=a.finalize(t),o=a.cfg;return Tt.create({ciphertext:s,key:r,iv:o.iv,algorithm:e,mode:o.mode,padding:o.padding,blockSize:a.blockSize,formatter:i.format})}},{key:"decrypt",value:function(e,t,r,n){var i=t,a=Object.assign(new et,this.cfg,n);return i=this._parse(i,a.format),e.createDecryptor(r,a).finalize(i.ciphertext)}},{key:"_parse",value:function(e,t){return"string"==typeof e?t.parse(e,this):e}}]),r}(et);St.cfg=Object.assign(new et,{format:wt});var Et={execute:function(e,t,r,n){var i=n;i||(i=tt.random(8));var a=mt.create({keySize:t+r}).compute(e,i),s=tt.create(a.words.slice(t),4*r);return a.sigBytes=4*t,Tt.create({key:a,iv:s,salt:i})}},jt=function(e){S(r,e);var t=O(r);function r(){return k(this,r),t.apply(this,arguments)}return T(r,null,[{key:"encrypt",value:function(e,t,r,n){var i=Object.assign(new et,this.cfg,n),a=i.kdf.execute(r,e.keySize,e.ivSize);i.iv=a.iv;var s=St.encrypt.call(this,e,t,a.key,i);return s.mixIn(a),s}},{key:"decrypt",value:function(e,t,r,n){var i=t,a=Object.assign(new et,this.cfg,n);i=this._parse(i,a.format);var s=a.kdf.execute(r,e.keySize,e.ivSize,i.salt);return a.iv=s.iv,St.decrypt.call(this,e,i,s.key,a)}}]),r}(St);jt.cfg=Object.assign(St.cfg,{kdf:Et});for(var Dt=[],Rt=[],Lt=[],Bt=[],Mt=[],Pt=[],Ot=[],It=[],At=[],Ct=[],Ut=[],Nt=0;Nt<256;Nt+=1)Ut[Nt]=Nt<128?Nt<<1:Nt<<1^283;for(var Ft=0,zt=0,qt=0;qt<256;qt+=1){var Vt=zt^zt<<1^zt<<2^zt<<3^zt<<4;Vt=Vt>>>8^255&Vt^99,Dt[Ft]=Vt,Rt[Vt]=Ft;var Ht=Ut[Ft],Gt=Ut[Ht],Kt=Ut[Gt],Wt=257*Ut[Vt]^16843008*Vt;Lt[Ft]=Wt<<24|Wt>>>8,Bt[Ft]=Wt<<16|Wt>>>16,Mt[Ft]=Wt<<8|Wt>>>24,Pt[Ft]=Wt,Wt=16843009*Kt^65537*Gt^257*Ht^16843008*Ft,Ot[Vt]=Wt<<24|Wt>>>8,It[Vt]=Wt<<16|Wt>>>16,At[Vt]=Wt<<8|Wt>>>24,Ct[Vt]=Wt,Ft?(Ft=Ht^Ut[Ut[Ut[Kt^Ht]]],zt^=Ut[Ut[zt]]):Ft=zt=1}var Yt=[0,1,2,4,8,16,32,64,128,27,54],Jt=function(e){S(r,e);var t=O(r);function r(){return k(this,r),t.apply(this,arguments)}return T(r,[{key:"_doReset",value:function(){var e;if(!this._nRounds||this._keyPriorReset!==this._key){this._keyPriorReset=this._key;var t=this._keyPriorReset,r=t.words,n=t.sigBytes/4;this._nRounds=n+6;var i=4*(this._nRounds+1);this._keySchedule=[];for(var a=this._keySchedule,s=0;s<i;s+=1)s<n?a[s]=r[s]:(e=a[s-1],s%n?n>6&&s%n==4&&(e=Dt[e>>>24]<<24|Dt[e>>>16&255]<<16|Dt[e>>>8&255]<<8|Dt[255&e]):(e=Dt[(e=e<<8|e>>>24)>>>24]<<24|Dt[e>>>16&255]<<16|Dt[e>>>8&255]<<8|Dt[255&e],e^=Yt[s/n|0]<<24),a[s]=a[s-n]^e);this._invKeySchedule=[];for(var o=this._invKeySchedule,u=0;u<i;u+=1){var c=i-u;e=u%4?a[c]:a[c-4],o[u]=u<4||c<=4?e:Ot[Dt[e>>>24]]^It[Dt[e>>>16&255]]^At[Dt[e>>>8&255]]^Ct[Dt[255&e]]}}}},{key:"encryptBlock",value:function(e,t){this._doCryptBlock(e,t,this._keySchedule,Lt,Bt,Mt,Pt,Dt)}},{key:"decryptBlock",value:function(e,t){var r=e,n=r[t+1];r[t+1]=r[t+3],r[t+3]=n,this._doCryptBlock(r,t,this._invKeySchedule,Ot,It,At,Ct,Rt),n=r[t+1],r[t+1]=r[t+3],r[t+3]=n}},{key:"_doCryptBlock",value:function(e,t,r,n,i,a,s,o){for(var u=e,c=this._nRounds,l=u[t]^r[0],d=u[t+1]^r[1],h=u[t+2]^r[2],f=u[t+3]^r[3],p=4,v=1;v<c;v+=1){var m=n[l>>>24]^i[d>>>16&255]^a[h>>>8&255]^s[255&f]^r[p];p+=1;var g=n[d>>>24]^i[h>>>16&255]^a[f>>>8&255]^s[255&l]^r[p];p+=1;var y=n[h>>>24]^i[f>>>16&255]^a[l>>>8&255]^s[255&d]^r[p];p+=1;var _=n[f>>>24]^i[l>>>16&255]^a[d>>>8&255]^s[255&h]^r[p];p+=1,l=m,d=g,h=y,f=_}var b=(o[l>>>24]<<24|o[d>>>16&255]<<16|o[h>>>8&255]<<8|o[255&f])^r[p];p+=1;var k=(o[d>>>24]<<24|o[h>>>16&255]<<16|o[f>>>8&255]<<8|o[255&l])^r[p];p+=1;var x=(o[h>>>24]<<24|o[f>>>16&255]<<16|o[l>>>8&255]<<8|o[255&d])^r[p];p+=1;var T=(o[f>>>24]<<24|o[l>>>16&255]<<16|o[d>>>8&255]<<8|o[255&h])^r[p];p+=1,u[t]=b,u[t+1]=k,u[t+2]=x,u[t+3]=T}}]),r}(xt);Jt.keySize=8,xt._createHelper(Jt);var Xt=function(e){S(r,e);var t=O(r);function r(){return k(this,r),t.apply(this,arguments)}return T(r)}(yt);Xt.Encryptor=function(e){S(r,e);var t=O(r);function r(){return k(this,r),t.apply(this,arguments)}return T(r,[{key:"processBlock",value:function(e,t){var r=e,n=this._cipher,i=n.blockSize,a=this._iv,s=this._counter;a&&(this._counter=a.slice(0),s=this._counter,this._iv=void 0);var o=s.slice(0);n.encryptBlock(o,0),s[i-1]=s[i-1]+1|0;for(var u=0;u<i;u+=1)r[t+u]^=o[u]}}]),r}(Xt),Xt.Decryptor=Xt.Encryptor;var Qt,Zt="3.0.0-alpha.30",$t=function(){function e(){k(this,e)}return T(e,null,[{key:"start",value:function(e){return e&&e.length?1===e.length&&e.end(0)-e.start(0)<1e-6||1===e.length&&e.start(0)<0?0:e.start(0):0}},{key:"end",value:function(e){return e&&e.length?1===e.length&&e.end(0)-e.start(0)<1e-6?0:e.end(e.length-1):0}},{key:"get",value:function(e){if(e)try{return e.buffered}catch(t){}}},{key:"buffers",value:function(e,t){if(!e||!e.length)return[];for(var r=[],n=0,i=e.length;n<i;n++){var a=r.length;if(a&&t){var s=r[a-1],o=s[1];if(e.start(n)-o<=t){var u=e.end(n);u>o&&(s[1]=u)}else r.push([e.start(n),e.end(n)])}else r.push([e.start(n),e.end(n)])}return r}},{key:"totalLength",value:function(e){return e&&e.length?e.reduce((function(e,t){return e+(t[1]-t[0])}),0):0}},{key:"info",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!t||!t.length)return{start:0,end:0,buffers:[]};for(var i=0,a=0,s=0,o=0,u=0,c=0,l=0,d=e.buffers(t,n),h=0,f=d.length;h<f;h++){var p=d[h];if(r+n>=p[0]&&r<=p[1])i=p[0],a=p[1],s=h;else{if(r+n<p[0]){o=p[0],u=p[1];break}r+n>p[1]&&(c=p[0],l=p[1])}}return{start:i,end:a,index:s,buffers:d,nextStart:o,nextEnd:u,prevStart:c,prevEnd:l,currentTime:r,behind:r-i,remaining:a?a-r:0,length:e.totalLength&&e.totalLength(d)}}}]),e}(),er="undefined"!=typeof window,tr={MANIFEST:"manifest",NETWORK:"network",NETWORK_TIMEOUT:"network_timeout",NETWORK_FORBIDDEN:"network_forbidden",NETWORK_NOTFOUND:"network_notfound",NETWROK_RANGE_NOT_SATISFIABLE:"network_range_not_satisfiable",DEMUX:"demux",REMUX:"remux",MEDIA:"media",DRM:"drm",OTHER:"other",RUNTIME:"runtime",SUB_TYPES:{FLV:"FLV",HLS:"HLS",MP4:"MP4",FMP4:"FMP4",MSE_ADD_SB:"MSE_ADD_SB",MSE_APPEND_BUFFER:"MSE_APPEND_BUFFER",MSE_OTHER:"MSE_OTHER",MSE_FULL:"MSE_FULL",OPTION:"OPTION",DASH:"DASH",LICENSE:"LICENSE",CUSTOM_LICENSE:"CUSTOM_LICENSE",MSE_HIJACK:"MSE_HIJACK",EME_HIJACK:"EME_HIJACK",SIDX:"SIDX",NO_CANPLAY_ERROR:"NO_CANPLAY_ERROR",BUFFERBREAK_ERROR:"BUFFERBREAK_ERROR",WAITING_TIMEOUT_ERROR:"WAITING_TIMEOUT_ERROR",MEDIA_ERR_ABORTED:"MEDIA_ERR_ABORTED",MEDIA_ERR_NETWORK:"MEDIA_ERR_NETWORK",MEDIA_ERR_DECODE:"MEDIA_ERR_DECODE",MEDIA_ERR_SRC_NOT_SUPPORTED:"MEDIA_ERR_SRC_NOT_SUPPORTED",MEDIA_ERR_CODEC_NOT_SUPPORTED:"MEDIA_ERR_CODEC_NOT_SUPPORTED",MEDIA_ERR_URL_EMPTY:"MEDIA_ERR_URL_EMPTY"}},rr=(w(Qt={},tr.MANIFEST,{HLS:1100,DASH:1200}),w(Qt,tr.NETWORK,2100),w(Qt,tr.NETWORK_TIMEOUT,2101),w(Qt,tr.NETWORK_FORBIDDEN,2103),w(Qt,tr.NETWORK_NOTFOUND,2104),w(Qt,tr.NETWROK_RANGE_NOT_SATISFIABLE,2116),w(Qt,tr.DEMUX,{FLV:3100,HLS:3200,MP4:3300,FMP4:3400,SIDX:3410}),w(Qt,tr.REMUX,{FMP4:4100,MP4:4200}),w(Qt,tr.MEDIA,{MEDIA_ERR_ABORTED:5101,MEDIA_ERR_NETWORK:5102,MEDIA_ERR_DECODE:5103,MEDIA_ERR_SRC_NOT_SUPPORTED:5104,MEDIA_ERR_CODEC_NOT_SUPPORTED:5105,MEDIA_ERR_URL_EMPTY:5106,MSE_ADD_SB:5200,MSE_APPEND_BUFFER:5201,MSE_OTHER:5202,MSE_FULL:5203,MSE_HIJACK:5204,EME_HIJACK:5301}),w(Qt,tr.DRM,{LICENSE:7100,CUSTOM_LICENSE:7200}),w(Qt,tr.OTHER,8e3),w(Qt,tr.RUNTIME,{NO_CANPLAY_ERROR:9001,BUFFERBREAK_ERROR:9002,WAITING_TIMEOUT_ERROR:9003}),Qt),nr=function(e){S(r,e);var t=O(r);function r(e,n,i,a,s){var o;return k(this,r),(o=t.call(this,s||(null==i?void 0:i.message))).errorType=e===tr.NETWORK_TIMEOUT?tr.NETWORK:e,o.originError=i,o.ext=a,o.errorCode=rr[e][n]||rr[e],o.errorMessage=o.message,o.errorCode||(o.errorType=tr.OTHER,o.errorCode=rr[o.errorType]),o}return T(r,null,[{key:"create",value:function(e,t,n,i,a){return e instanceof r?e:(e instanceof Error&&(n=e,e=""),e||(e=tr.OTHER),new r(e,t,n,i,a))}},{key:"network",value:function(e){var t;return new r(null!=e&&e.isTimeout?tr.NETWORK_TIMEOUT:tr.NETWORK,null,e instanceof Error?e:null,{url:null==e?void 0:e.url,response:null==e?void 0:e.response,httpCode:null==e||null===(t=e.response)||void 0===t?void 0:t.status})}}]),r}(L(Error)),ir={DEBUG:1,LOG:2,WARN:3,ERROR:4},ar=["Boolean","Number","String","Undefined","Null","Date","Object"],sr=function(){function e(t,r){k(this,e),this.name=t||"",this._prefix="[".concat(this.name,"]"),this.logCacheLevel=(null==r?void 0:r.logCacheLevel)||3,this.logMaxSize=(null==r?void 0:r.logMaxSize)||204800,this.logSize=0,this.logTextArray=[]}return T(e,[{key:"debug",value:function(){for(var t,r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];this.logCache.apply(this,[ir.DEBUG].concat(n)),e.disabled||(t=console).debug.apply(t,[this._prefix,or()].concat(n))}},{key:"log",value:function(){for(var t,r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];this.logCache.apply(this,[ir.LOG].concat(n)),e.disabled||(t=console).log.apply(t,[this._prefix,or()].concat(n))}},{key:"warn",value:function(){for(var t,r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];this.logCache.apply(this,[ir.WARN].concat(n)),e.disabled||(t=console).warn.apply(t,[this._prefix,or()].concat(n))}},{key:"error",value:function(){for(var t,r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];this.logCache.apply(this,[ir.ERROR].concat(n)),e.disabled||(t=console).error.apply(t,[this._prefix,or()].concat(n))}},{key:"logCache",value:function(e){if(!(e<this.logCacheLevel)){var t="";try{for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];var a=n.map((function(e){return cr(e)}));t=this._prefix+or()+JSON.stringify(a)}catch(o){return}if(e>=this.logCacheLevel&&(this.logSize+=t.length,this.logTextArray.push(t)),this.logSize>this.logMaxSize){var s=this.logTextArray.shift();this.logSize-=s.length}}}},{key:"getLogCache",value:function(){var e=this.logTextArray.join("\n");return this.reset(),e}},{key:"reset",value:function(){this.logTextArray=[],this.logSize=0}},{key:"table",value:function(){var t;e.disabled||(console.group(this._prefix),(t=console).table.apply(t,arguments),console.groupEnd())}},{key:"setLogLevel",value:function(e){this.logCacheLevel=e}}],[{key:"enable",value:function(){e.disabled=!1}},{key:"disable",value:function(){e.disabled=!0}}]),e}();function or(){return(new Date).toLocaleString()}function ur(e){if("object"!==y(e))return e;var t=Object.prototype.toString.call(e).slice(8,-1);switch(t){case"Array":case"Uint8Array":case"ArrayBuffer":return t+"["+e.length+"]";case"Object":return"{}";default:return t}}function cr(e,t,r){r||(r=1),t||(t=2);var n={};if(!e||"object"!==y(e))return e;var i=Object.prototype.toString.call(e).slice(8,-1);if(!ar.includes(i))return i;if(!(r>t)){for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(r===t?n[a]=ur(e[a]):"object"===y(e[a])?n[a]=cr(e[a],t,r+1):n[a]=e[a]);return n}}function lr(){var e,t,r=new Promise((function(r,n){e=r,t=n}));return r.used=!1,r.resolve=function(){return r.used=!0,e.apply(void 0,arguments)},r.reject=function(){return r.used=!0,t.apply(void 0,arguments)},r}function dr(){try{return parseInt(performance.now(),10)}catch(e){return(new Date).getTime()}}w(sr,"disabled",!0);var hr=function(e){try{return JSON.stringify(e)}catch(t){return""}};function fr(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];try{return er?e&&"undefined"!=typeof ManagedMediaSource?ManagedMediaSource:window.MediaSource:null}catch(t){}}function pr(e){return/ManagedMediaSource/gi.test(Object.prototype.toString.call(e))}var vr="appendBuffer",mr="removeBuffer",gr="updateDuration",yr=function(){function e(t,r){var n=this;k(this,e),w(this,"media",null),w(this,"mediaSource",null),w(this,"_openPromise",lr()),w(this,"_queue",Object.create(null)),w(this,"_sourceBuffer",Object.create(null)),w(this,"_mseFullFlag",{}),w(this,"_st",0),w(this,"_opst",0),w(this,"_logger",null),w(this,"_config",null),w(this,"_url",null),w(this,"_onStartStreaming",(function(){n._logger.debug("startstreaming")})),w(this,"_onEndStreaming",(function(){n._logger.debug("endstreaming")})),w(this,"_onSBUpdateEnd",(function(e){var t=n._queue[e];if(t){var r=t[0];if((null==r?void 0:r.opName)!==gr&&t.shift(),r){var i,a=dr()-n._opst;n._logger.debug("UpdateEnd(".concat(e,"/").concat(r.opName,")"),hr(function(e){var t=[];if(e instanceof TimeRanges)for(var r=0;r<e.length;r++)t.push({start:e.start(r),end:e.end(r)});return t}(null===(i=n._sourceBuffer[e])||void 0===i?void 0:i.buffered)),a,r.context),r.promise.resolve({name:r.opName,context:r.context,costtime:a}),n._startQueue(e)}}})),w(this,"_onSBUpdateError",(function(e,t){var r=n._queue[e];if(r){var i=r[0];i&&(n._logger.error("UpdateError",e,i.opName,i.context),i.promise.reject(new nr(tr.MEDIA,tr.SUB_TYPES.MSE_APPEND_BUFFER,t)))}})),this._config=Object.assign(e.getDefaultConfig(),r),t&&this.bindMedia(t),this._logger=new sr("MSE"),this._config.openLog&&sr.enable()}var t,r,n;return T(e,[{key:"isOpened",get:function(){var e;return"open"===(null===(e=this.mediaSource)||void 0===e?void 0:e.readyState)}},{key:"hasOpTasks",get:function(){var e=this,t=!1;return Object.keys(this._queue).forEach((function(r){var n=e._queue[r];Array.isArray(n)&&(t||(t=n.length>0))})),t}},{key:"url",get:function(){return this._url}},{key:"duration",get:function(){var e;return(null===(e=this.mediaSource)||void 0===e?void 0:e.duration)||-1}},{key:"isEnded",get:function(){return!!this.mediaSource&&"ended"===this.mediaSource.readyState}},{key:"streaming",get:function(){return!pr(this.mediaSource)||this.mediaSource.streaming}},{key:"isFull",value:function(t){return t?this._mseFullFlag[t]:this._mseFullFlag[e.VIDEO]}},{key:"updateDuration",value:function(e){var t=this,r=this.mediaSource&&this.mediaSource.duration>e;if(this.mediaSource&&this.mediaSource.duration>e){var n=0;if(Object.keys(this._sourceBuffer).forEach((function(e){try{n=Math.max(t.bufferEnd(e)||0,n)}catch(r){}})),e<n)return Promise.resolve()}return this._enqueueBlockingOp((function(){t.isEnded?t._logger.debug("setDuration but ended"):t.mediaSource&&(t.mediaSource.duration=e,t._logger.debug("setDuration",e))}),gr,{isReduceDuration:r})}},{key:"open",value:function(){var e=this;if(this._openPromise.used&&!this.isOpened&&this.mediaSource){var t=this.mediaSource;t.addEventListener("sourceopen",(function r(){var n=dr()-e._st;e._logger.debug("sourceopen",n),t.removeEventListener("sourceopen",r),e._openPromise.resolve({costtime:n})})),this._openPromise=lr()}return this._openPromise}},{key:"bindMedia",value:(n=b(g().mark((function e(t){var r,n,i,a,s=this;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.mediaSource&&!this.media){e.next=3;break}return e.next=3,this.unbindMedia();case 3:if(r=fr(this._config.preferMMS),t&&r){e.next=6;break}throw new Error("Param media or MediaSource does not exist");case 6:return this.media=t,n=this.mediaSource=new r,i=pr(n),this._st=dr(),a=function e(){var r=dr()-s._st;s._logger.debug("sourceopen"),n.removeEventListener("sourceopen",e),URL.revokeObjectURL(t.src),s._openPromise.resolve({costtime:r})},n.addEventListener("sourceopen",a),i&&(n.addEventListener("startstreaming",this._onStartStreaming),n.addEventListener("endstreaming",this._onEndStreaming)),this._url=URL.createObjectURL(n),t.src=this._url,t.disableRemotePlayback=i,e.abrupt("return",this._openPromise);case 17:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"unbindMedia",value:(r=b(g().mark((function e(){var t,r,n,i=this;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._openPromise.used||this._openPromise.resolve(),t=this.mediaSource){if(Object.keys(this._queue).forEach((function(e){var t=i._queue[e];t&&t.forEach((function(e){var t,r;return null===(t=e.promise)||void 0===t||null===(r=t.resolve)||void 0===r?void 0:r.call(t)}))})),r=!!this.media&&this.media.readyState>=1,n="open"===t.readyState,r&&n)try{t.endOfStream()}catch(a){}Object.keys(this._sourceBuffer).forEach((function(e){try{t.removeSourceBuffer(i._sourceBuffer[e])}catch(a){}})),pr(t)&&(t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming))}if(this.media){this.media.disableRemotePlayback=!1,this.media.removeAttribute("src");try{this.media.load()}catch(a){}this.media=null}this.mediaSource=null,this._openPromise=lr(),this._queue=Object.create(null),this._sourceBuffer=Object.create(null);case 8:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"createSource",value:function(e,t){if(!this._sourceBuffer[e]&&this.mediaSource){var r;try{r=this._sourceBuffer[e]=this.mediaSource.addSourceBuffer(t)}catch(n){throw new nr(tr.MEDIA,tr.SUB_TYPES.MSE_ADD_SB,n)}r.mimeType=t,r.addEventListener("updateend",this._onSBUpdateEnd.bind(this,e)),r.addEventListener("error",this._onSBUpdateError.bind(this,e))}}},{key:"changeType",value:function(e,t){var r=this,n=this._sourceBuffer[e];return this.mediaSource&&n&&n.mimeType!==t?"function"!=typeof n.changeType?Promise.reject():this._enqueueOp(e,(function(){n.changeType(t),n.mimeType=t,r._onSBUpdateEnd(e)}),"changeType",{mimeType:t}):Promise.resolve()}},{key:"createOrChangeSource",value:function(e,t){return this.createSource(e,t),this.changeType(e,t)}},{key:"append",value:function(e,t,r){var n=this;return t&&t.byteLength&&this._sourceBuffer[e]?this._enqueueOp(e,(function(){var i;n.mediaSource&&!n.media.error&&(n._logger.debug("MSE APPEND START",r),n._opst=dr(),null===(i=n._sourceBuffer[e])||void 0===i||i.appendBuffer(t))}),vr,r):Promise.resolve()}},{key:"remove",value:function(e,t,r,n){var i=this,a=!1;return this._mseFullFlag[e]&&(a=!0),this._enqueueOp(e,(function(){if(i.mediaSource&&!i.media.error){var a=i._sourceBuffer[e];t>=r||!a?i._onSBUpdateEnd(e):(i._opst=dr(),i._logger.debug("MSE REMOVE START",e,t,r,n),a.remove(t,r))}}),mr,n,a)}},{key:"clearBuffer",value:function(e,t){var r,n=this;return Object.keys(this._sourceBuffer).forEach((function(i){r=n.remove(i,e,t)})),r||Promise.resolve()}},{key:"clearAllBuffer",value:function(){var e,t=this;return Object.keys(this._sourceBuffer).forEach((function(r){var n=t._sourceBuffer[r];e=t.remove(r,0,$t.end($t.get(n)))})),e}},{key:"clearOpQueues",value:function(e,t){var r;this._logger.debug("MSE clearOpQueue START");var n=this._queue[e];if(t&&n)this._queue[e]=[];else if(n&&n[e]&&!(n.length<5)){var i=[];n.forEach((function(e){e.context&&e.context.isinit&&i.push(e)})),this._queue[e]=n.slice(0,2),i.length>0&&(r=this._queue[e]).push.apply(r,i)}}},{key:"endOfStream",value:function(e){var t=this;return this.mediaSource&&"open"===this.mediaSource.readyState?this._enqueueBlockingOp((function(){var r=t.mediaSource;r&&"open"===r.readyState&&(t._logger.debug("MSE endOfStream START"),e?r.endOfStream(e):r.endOfStream())}),"endOfStream"):Promise.resolve()}},{key:"setLiveSeekableRange",value:function(e,t){var r=this.mediaSource;e<0||t<e||null==r||!r.setLiveSeekableRange||"open"!==r.readyState||r.setLiveSeekableRange(e,t)}},{key:"getSourceBuffer",value:function(e){return this._sourceBuffer[e]}},{key:"buffered",value:function(e){return $t.get(this._sourceBuffer[e])}},{key:"bufferStart",value:function(e){return $t.start(this.buffered(e))}},{key:"bufferEnd",value:function(e){return $t.end(this.buffered(e))}},{key:"_enqueueOp",value:function(e,t,r,n,i){var a=this;if(!this.mediaSource)return Promise.resolve();var s=this._queue[e]=this._queue[e]||[],o={exec:t,promise:lr(),opName:r,context:n};return i?(s.splice(0,0,o),this._mseFullFlag[e]=!1,this._startQueue(e)):s.push(o),this.isOpened||this.isEnded?1===s.length&&this._startQueue(e):this._openPromise.then((function(){1===s.length&&a._startQueue(e)})),o.promise}},{key:"_enqueueBlockingOp",value:(t=b(g().mark((function e(t,r,n){var i,a,s=this;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.mediaSource){e.next=2;break}return e.abrupt("return",Promise.resolve());case 2:if((i=Object.keys(this._sourceBuffer)).length){e.next=5;break}return e.abrupt("return",t());case 5:return a=[],i.forEach((function(e){var t=s._queue[e],i=lr();a.push(i),t.push({exec:function(){i.resolve()},promise:i,opName:r,context:n}),1===t.length&&s._startQueue(e)})),e.abrupt("return",Promise.all(a).then((function(){try{return t()}finally{i.forEach((function(e){var t=s._queue[e],r=s._sourceBuffer[e];null==t||t.shift(),r&&r.updating||s._startQueue(e)}))}})));case 8:case"end":return e.stop()}}),e,this)}))),function(e,r,n){return t.apply(this,arguments)})},{key:"_startQueue",value:function(e){var t=this._queue[e];if(t){var r=t[0];if(r&&!this._mseFullFlag[e])try{r.exec()}catch(n){n&&n.message&&n.message.indexOf("SourceBuffer is full")>=0?(this._mseFullFlag[e]=!0,this._logger.error("[MSE error], context,",r.context," ,name,",r.opName,",err,SourceBuffer is full"),r.promise.reject(new nr(tr.MEDIA,tr.SUB_TYPES.MSE_FULL,n))):(this._logger.error(n),r.promise.reject(new nr(tr.MEDIA,tr.SUB_TYPES.MSE_OTHER,n)),t.shift(),this._startQueue(e))}}}},{key:"setTimeoffset",value:function(e,t,r){var n=this;return this._enqueueOp(e,(function(){t<0&&(t+=.001),n._sourceBuffer[e].timestampOffset=t,n._onSBUpdateEnd(e)}),"setTimeoffset",r)}},{key:"abort",value:function(e,t){var r=this;return this.isOpened?this._enqueueOp(e,(function(){r._sourceBuffer[e].abort(),r._onSBUpdateEnd(e)}),"abort",t):Promise.resolve()}}],[{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'video/mp4; codecs="avc1.42E01E,mp4a.40.2"',t=fr();if(!t)return!1;try{return t.isTypeSupported(e)}catch(r){return this._logger.error(e,r),!1}}},{key:"isMMSOnly",value:function(){return"undefined"!=typeof ManagedMediaSource&&"undefined"==typeof MediaSource}},{key:"getDefaultConfig",value:function(){return{openLog:!1,preferMMS:!1}}}]),e}();w(yr,"VIDEO","video"),w(yr,"AUDIO","audio");var _r="fetch",br="xhr",kr="arraybuffer",xr="text",Tr="json",wr=function(e){S(r,e);var t=O(r);function r(e,n,i,a){var s;return k(this,r),w(M(s=t.call(this,a)),"retryCount",0),w(M(s),"isTimeout",!1),w(M(s),"loaderType",_r),w(M(s),"startTime",0),w(M(s),"endTime",0),w(M(s),"options",{}),s.url=e,s.request=n,s.response=i,s}return T(r)}(L(Error)),Sr=Object.prototype.toString;function Er(e){if("[object Object]"!==Sr.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function jr(e){if(e&&null!==e[0]&&void 0!==e[0]&&(0!==e[0]||null!==e[1]&&void 0!==e[1])){var t="bytes="+e[0]+"-";return e[1]&&(t+=e[1]),t}}function Dr(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Rr(e,t){if(e){if(!t)return e;var r,n=Object.keys(t).map((function(e){if(null!=(r=t[e]))return Array.isArray(r)?e+="[]":r=[r],r.map((function(t){var r;return r=t,"[object Date]"===Sr.call(r)?t=t.toISOString():function(e){return null!==e&&"object"===y(e)}(t)&&(t=JSON.stringify(t)),"".concat(Dr(e),"=").concat(Dr(t))})).join("&")})).filter(Boolean).join("&");if(n){var i=e.indexOf("#");-1!==i&&(e=e.slice(0,i)),e+=(-1===e.indexOf("?")?"?":"&")+n}return e}}function Lr(e,t,r,n,i,a,s,o,u,c,l){return i=null!=i?parseFloat(i):null,n=parseInt(n||"0",10),Number.isNaN(n)&&(n=0),{data:e,done:t,options:{range:u,vid:c,index:o,contentLength:n,age:i,startTime:a,firstByteTime:s,endTime:Date.now(),priOptions:l},response:r}}function Br(e,t){return Math.round(8*e*1e3/t/1024)}var Mr="real_time_speed",Pr=2097152,Or=function(e){S(n,e);var t,r=O(n);function n(){var e;return k(this,n),w(M(e=r.call(this)),"_abortController",null),w(M(e),"_timeoutTimer",null),w(M(e),"_reader",null),w(M(e),"_response",null),w(M(e),"_aborted",!1),w(M(e),"_index",-1),w(M(e),"_range",null),w(M(e),"_receivedLength",0),w(M(e),"_running",!1),w(M(e),"_logger",null),w(M(e),"_vid",""),w(M(e),"_onProcessMinLen",0),w(M(e),"_onCancel",null),w(M(e),"_priOptions",null),e}return T(n,[{key:"load",value:function(e){var t,r=this,n=e.url,i=e.vid,a=e.timeout,s=e.responseType,o=e.onProgress,u=e.index,c=e.onTimeout,l=e.onCancel,d=e.range,h=e.transformResponse,f=e.request,p=e.params,v=e.logger,m=e.method,y=e.headers,_=e.body,k=e.mode,x=e.credentials,T=e.cache,w=e.redirect,S=e.referrer,E=e.referrerPolicy,j=e.onProcessMinLen,D=e.priOptions;this._logger=v,this._aborted=!1,this._onProcessMinLen=j,this._onCancel=l,this._abortController="undefined"!=typeof AbortController&&new AbortController,this._running=!0,this._index=u,this._range=d||[0,0],this._vid=i||n,this._priOptions=D||{};var R={method:m,headers:y,body:_,mode:k,credentials:x,cache:T,redirect:w,referrer:S,referrerPolicy:E,signal:null===(t=this._abortController)||void 0===t?void 0:t.signal},L=!1;clearTimeout(this._timeoutTimer),n=Rr(n,p);var B=jr(d);B&&(y=f?f.headers:R.headers=R.headers||(Headers?new Headers:{}),Headers&&y instanceof Headers?y.append("Range",B):y.Range=B),a&&(this._timeoutTimer=setTimeout((function(){if(L=!0,r.cancel(),c){var e=new wr(n,R,null,"timeout");e.isTimeout=!0,c(e,{index:r._index,range:r._range,vid:r._vid,priOptions:r._priOptions})}}),a));var M=Date.now();return this._logger.debug("[fetch load start], index,",u,",range,",d),new Promise((function(e,t){fetch(f||n,f?void 0:R).then(function(){var i=b(g().mark((function i(a){var c,l,f,p;return g().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(clearTimeout(r._timeoutTimer),r._response=a,!r._aborted&&r._running){i.next=4;break}return i.abrupt("return");case 4:if(h&&(a=h(a,n)||a),a.ok){i.next=7;break}throw new wr(n,R,a,"bad network response");case 7:if(c=Date.now(),s!==xr){i.next=15;break}return i.next=11,a.text();case 11:l=i.sent,r._running=!1,i.next=37;break;case 15:if(s!==Tr){i.next=22;break}return i.next=18,a.json();case 18:l=i.sent,r._running=!1,i.next=37;break;case 22:if(!o){i.next=29;break}return r.resolve=e,r.reject=t,r._loadChunk(a,o,M,c),i.abrupt("return");case 29:return i.next=31,a.arrayBuffer();case 31:l=i.sent,l=new Uint8Array(l),r._running=!1,f=Date.now()-M,p=Br(l.byteLength,f),r.emit(Mr,{speed:p,len:l.byteLength,time:f,vid:r._vid,index:r._index,range:r._range,priOptions:r._priOptions});case 37:r._logger.debug("[fetch load end], index,",u,",range,",d),e(Lr(l,!0,a,a.headers.get("Content-Length"),a.headers.get("age"),M,c,u,d,r._vid,r._priOptions));case 39:case"end":return i.stop()}}),i)})));return function(e){return i.apply(this,arguments)}}()).catch((function(e){var i;clearTimeout(r._timeoutTimer),r._running=!1,r._aborted&&!L||((e=e instanceof wr?e:new wr(n,R,null,null===(i=e)||void 0===i?void 0:i.message)).startTime=M,e.endTime=Date.now(),e.isTimeout=L,e.options={index:r._index,range:r._range,vid:r._vid,priOptions:r._priOptions},t(e))}))}))}},{key:"cancel",value:(t=b(g().mark((function e(){return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._aborted){e.next=2;break}return e.abrupt("return");case 2:if(this._aborted=!0,this._running=!1,!this._response){e.next=14;break}if(e.prev=5,!this._reader){e.next=9;break}return e.next=9,this._reader.cancel();case 9:e.next=13;break;case 11:e.prev=11,e.t0=e.catch(5);case 13:this._response=this._reader=null;case 14:if(this._abortController){try{this._abortController.abort()}catch(t){}this._abortController=null}this._onCancel&&this._onCancel({index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions});case 16:case"end":return e.stop()}}),e,this,[[5,11]])}))),function(){return t.apply(this,arguments)})},{key:"_loadChunk",value:function(e,t,r,n){var i=this;if(!e.body||!e.body.getReader){this._running=!1;var a=new wr(e.url,"",e,"onProgress of bad response.body.getReader");return a.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},void this.reject(a)}this._onProcessMinLen>0&&(this._cache=new Uint8Array(Pr),this._writeIdx=0);var s,o,u,c=this._reader=e.body.getReader(),l=function(){var a=b(g().mark((function a(){var d,h,f,p,v,m,y,_;return g().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return o=Date.now(),a.prev=1,a.next=4,c.read();case 4:s=a.sent,u=Date.now(),a.next=13;break;case 8:return a.prev=8,a.t0=a.catch(1),u=Date.now(),i._aborted||(i._running=!1,a.t0.options={index:i._index,range:i._range,vid:i._vid,priOptions:i._priOptions},i.reject(a.t0)),a.abrupt("return");case 13:if(h=(null===(d=i._range)||void 0===d?void 0:d.length)>0?i._range[0]:0,f=h+i._receivedLength,!i._aborted){a.next=19;break}return i._running=!1,t(void 0,!1,{range:[f,f],vid:i._vid,index:i._index,startTime:o,endTime:u,st:r,firstByteTime:n,priOptions:i._priOptions},e),a.abrupt("return");case 19:p=s.value?s.value.byteLength:0,i._receivedLength+=p,i._logger.debug("【fetchLoader,onProgress call】,task,",i._range,", start,",f,", end,",h+i._receivedLength,", done,",s.done),i._onProcessMinLen>0?i._writeIdx+p>=i._onProcessMinLen||s.done?((v=new Uint8Array(i._writeIdx+p)).set(i._cache.slice(0,i._writeIdx),0),p>0&&v.set(s.value,i._writeIdx),i._writeIdx=0,i._logger.debug("【fetchLoader,onProgress enough】,done,",s.done,",len,",v.byteLength,", writeIdx,",i._writeIdx)):p>0&&i._writeIdx+p<Pr?(i._cache.set(s.value,i._writeIdx),i._writeIdx+=p,i._logger.debug("【fetchLoader,onProgress cache】,len,",p,", writeIdx,",i._writeIdx)):p>0&&(m=new Uint8Array(i._writeIdx+p+2048),i._logger.debug("【fetchLoader,onProgress extra start】,size,",i._writeIdx+p+2048,", datalen,",p,", writeIdx,",i._writeIdx),m.set(i._cache.slice(0,i._writeIdx),0),p>0&&m.set(s.value,i._writeIdx),i._writeIdx+=p,delete i._cache,i._cache=m,i._logger.debug("【fetchLoader,onProgress extra end】,len,",p,", writeIdx,",i._writeIdx)):v=s.value,(v&&v.byteLength>0||s.done)&&t(v,s.done,{range:[i._range[0]+i._receivedLength-(v?v.byteLength:0),i._range[0]+i._receivedLength],vid:i._vid,index:i._index,startTime:o,endTime:u,st:r,firstByteTime:n,priOptions:i._priOptions},e),s.done?(y=Date.now()-r,_=Br(i._receivedLength,y),i.emit(Mr,{speed:_,len:i._receivedLength,time:y,vid:i._vid,index:i._index,range:i._range,priOptions:i._priOptions}),i._running=!1,i._logger.debug("[fetchLoader onProgress end],task,",i._range,",done,",s.done),i.resolve(Lr(s,!0,e,e.headers.get("Content-Length"),e.headers.get("age"),r,n,i._index,i._range,i._vid,i._priOptions))):l();case 25:case"end":return a.stop()}}),a,null,[[1,8]])})));return function(){return a.apply(this,arguments)}}();l()}},{key:"receiveLen",get:function(){return this._receivedLength}},{key:"running",get:function(){return this._running},set:function(e){this._running=e}}],[{key:"isSupported",value:function(){return!("undefined"==typeof fetch)}}]),n}(H);var Ir=function(e){S(r,e);var t=O(r);function r(){var e;return k(this,r),w(M(e=t.call(this)),"_xhr",null),w(M(e),"_aborted",!1),w(M(e),"_timeoutTimer",null),w(M(e),"_range",null),w(M(e),"_receivedLength",0),w(M(e),"_url",null),w(M(e),"_onProgress",null),w(M(e),"_index",-1),w(M(e),"_headers",null),w(M(e),"_currentChunkSizeKB",384),w(M(e),"_timeout",null),w(M(e),"_xhr",null),w(M(e),"_withCredentials",null),w(M(e),"_startTime",-1),w(M(e),"_loadCompleteResolve",null),w(M(e),"_loadCompleteReject",null),w(M(e),"_runing",!1),w(M(e),"_logger",!1),w(M(e),"_vid",""),w(M(e),"_responseType",void 0),w(M(e),"_credentials",void 0),w(M(e),"_method",void 0),w(M(e),"_transformResponse",void 0),w(M(e),"_firstRtt",void 0),w(M(e),"_onCancel",null),w(M(e),"_priOptions",null),e}return T(r,[{key:"load",value:function(e){var t=this;clearTimeout(this._timeoutTimer),this._logger=e.logger,this._range=e.range,this._onProgress=e.onProgress,this._index=e.index,this._headers=e.headers,this._withCredentials="include"===e.credentials||"same-origin"===e.credentials,this._body=e.body||null,e.method&&(this._method=e.method),this._timeout=e.timeout||null,this._runing=!0,this._vid=e.vid||e.url,this._responseType=e.responseType,this._firstRtt=-1,this._onTimeout=e.onTimeout,this._onCancel=e.onCancel,this._request=e.request,this._priOptions=e.priOptions||{},this._logger.debug("【xhrLoader task】, range",this._range),this._url=Rr(e.url,e.params);var r=Date.now();return new Promise((function(e,r){t._loadCompleteResolve=e,t._loadCompleteReject=r,t._startLoad()})).catch((function(e){if(clearTimeout(t._timeoutTimer),t._runing=!1,!t._aborted)throw(e=e instanceof wr?e:new wr(t._url,t._request)).startTime=r,e.endTime=Date.now(),e.options={index:t._index,vid:t._vid,priOptions:t._priOptions},e}))}},{key:"_startLoad",value:function(){var e=null;if(this._responseType===kr&&this._range&&this._range.length>1)if(this._onProgress){this._firstRtt=-1;var t=1024*this._currentChunkSizeKB,r=this._range[0]+this._receivedLength,n=this._range[1];t<this._range[1]-r&&(n=r+t),e=[r,n],this._logger.debug("[xhr_loader->],tast :",this._range,", SubRange, ",e)}else e=this._range,this._logger.debug("[xhr_loader->],tast :",this._range,", allRange, ",e);this._internalOpen(e)}},{key:"_internalOpen",value:function(e){var t=this;try{this._startTime=Date.now();var r=this._xhr=new XMLHttpRequest;r.open(this._method||"GET",this._url,!0),r.responseType=this._responseType,this._timeout&&(r.timeout=this._timeout),r.withCredentials=this._withCredentials,r.onload=this._onLoad.bind(this),r.onreadystatechange=this._onReadyStatechange.bind(this),r.onerror=function(e){var r,n,i;t._running=!1;var a=new wr(t._url,t._request,null==e||null===(r=e.currentTarget)||void 0===r?void 0:r.response,"xhr.onerror.status:"+(null==e||null===(n=e.currentTarget)||void 0===n?void 0:n.status)+",statusText,"+(null==e||null===(i=e.currentTarget)||void 0===i?void 0:i.statusText));a.options={index:t._index,range:t._range,vid:t._vid,priOptions:t._priOptions},t._loadCompleteReject(a)},r.ontimeout=function(e){t.cancel();var r=new wr(t._url,t._request,{status:408},"timeout");t._onTimeout&&(r.isTimeout=!0,t._onTimeout(r,{index:t._index,range:t._range,vid:t._vid,priOptions:t._priOptions})),r.options={index:t._index,range:t._range,vid:t._vid,priOptions:t._priOptions},t._loadCompleteReject(r)};var n=this._headers||{},i=jr(e);i&&(n.Range=i),n&&Object.keys(n).forEach((function(e){r.setRequestHeader(e,n[e])})),this._logger.debug("[xhr.send->] tast,",this._range,",load sub range, ",e),r.send(this._body)}catch(a){a.options={index:this._index,range:e,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(a)}}},{key:"_onReadyStatechange",value:function(e){2===e.target.readyState&&this._firstRtt<0&&(this._firstRtt=Date.now())}},{key:"_onLoad",value:function(e){var t,r=e.target.status;if(r<200||r>299){var n=new wr(this._url,null,m(m({},e.target.response),{},{status:r}),"bad response,status:"+r);return n.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(n)}var i,a=null,s=!1,o=(null===(t=this._range)||void 0===t?void 0:t.length)>0?this._range[0]:0;if(this._responseType===kr){var u,c=new Uint8Array(e.target.response);if(i=o+this._receivedLength,c&&c.byteLength>0){this._receivedLength+=c.byteLength;var l=Date.now()-this._startTime,d=Br(this._receivedLength,l);this.emit(Mr,{speed:d,len:this._receivedLength,time:l,vid:this._vid,index:this._index,range:[i,o+this._receivedLength],priOptions:this._priOptions})}a=c,s=!((null===(u=this._range)||void 0===u?void 0:u.length)>1&&this._range[1]&&this._receivedLength<this._range[1]-this._range[0]),this._logger.debug("[xhr load done->], tast :",this._range,", start",i,"end ",o+this._receivedLength,",dataLen,",c?c.byteLength:0,",receivedLength",this._receivedLength,",index,",this._index,", done,",s)}else s=!0,a=e.target.response;var h={ok:r>=200&&r<300,status:r,statusText:this._xhr.statusText,url:this._xhr.responseURL,headers:this._getHeaders(this._xhr),body:this._xhr.response};this._transformResponse&&(h=this._transformResponse(h,this._url)||h),this._onProgress&&this._onProgress(a,s,{index:this._index,vid:this._vid,range:[i,o+this._receivedLength],startTime:this._startTime,endTime:Date.now(),priOptions:this._priOptions},h),s?(this._runing=!1,this._loadCompleteResolve&&this._loadCompleteResolve(Lr(this._onProgress?null:a,s,h,h.headers["content-length"],h.headers.age,this._startTime,this._firstRtt,this._index,this._range,this._vid,this._priOptions))):this._startLoad()}},{key:"cancel",value:function(){if(!this._aborted)return this._aborted=!0,this._runing=!1,A(E(r.prototype),"removeAllListeners",this).call(this),this._onCancel&&this._onCancel({index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions}),this._xhr?this._xhr.abort():void 0}},{key:"receiveLen",get:function(){return this._receivedLength}},{key:"running",get:function(){return this._running},set:function(e){this._running=e}},{key:"_getHeaders",value:function(e){var t,r={},n=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=N(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,o=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){o=!0,a=e},f:function(){try{s||null==r.return||r.return()}finally{if(o)throw a}}}}(e.getAllResponseHeaders().trim().split("\r\n"));try{for(n.s();!(t=n.n()).done;){var i=t.value.split(": ");r[i[0].toLowerCase()]=i.slice(1).join(": ")}}catch(a){n.e(a)}finally{n.f()}return r}}],[{key:"isSupported",value:function(){return"undefined"!=typeof XMLHttpRequest}}]),r}(H),Ar=["retry","retryDelay","onRetryError","transformError"],Cr=function(){function e(t,r){k(this,e),this.promise=lr(),this.alive=!!r.onProgress,!r.logger&&(r.logger=new sr("Loader")),this._loaderType=t,this._loader=t===_r&&"undefined"!=typeof fetch?new Or:new Ir,this._config=r,this._retryCount=0,this._retryTimer=null,this._canceled=!1,this._retryCheckFunc=r.retryCheckFunc,this._logger=r.logger}var t;return T(e,[{key:"exec",value:function(){var e=this,t=this._config,r=t.retry,n=t.retryDelay,i=t.onRetryError,a=t.transformError,s=B(t,Ar),o=function(){var t=b(g().mark((function t(){var u,c,l;return g().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,e._loader.load(s);case 3:u=t.sent,e.promise.resolve(u),t.next=27;break;case 7:if(t.prev=7,t.t0=t.catch(0),e._loader.running=!1,e._logger.debug("[task request catch err]",t.t0),!e._canceled){t.next=13;break}return t.abrupt("return");case 13:if(t.t0.loaderType=e._loaderType,t.t0.retryCount=e._retryCount,c=t.t0,a&&(c=a(c)||c),i&&e._retryCount>0&&i(c,e._retryCount,{index:s.index,vid:s.vid,range:s.range,priOptions:s.priOptions}),e._retryCount++,l=!0,e._retryCheckFunc&&(l=e._retryCheckFunc(t.t0)),!(l&&e._retryCount<=r)){t.next=26;break}return clearTimeout(e._retryTimer),e._logger.debug("[task request setTimeout],retry",e._retryCount,",retry range,",s.range),e._retryTimer=setTimeout(o,n),t.abrupt("return");case 26:e.promise.reject(c);case 27:case"end":return t.stop()}}),t,null,[[0,7]])})));return function(){return t.apply(this,arguments)}}();return o(),this.promise}},{key:"cancel",value:(t=b(g().mark((function e(){return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return clearTimeout(this._retryTimer),this._canceled=!0,this._loader.running=!1,e.abrupt("return",this._loader.cancel());case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"running",get:function(){return this._loader&&this._loader.running}},{key:"loader",get:function(){return this._loader}}]),e}();function Ur(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];if((t=t.filter(Boolean)).length<2)return t[0];var n=new Uint8Array(t.reduce((function(e,t){return e+t.byteLength}),0)),i=0;return t.forEach((function(e){n.set(e,i),i+=e.byteLength})),n}function Nr(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((function(t){return setTimeout(t,e)}))}var Fr=function(e){S(n,e);var t,r=O(n);function n(e){var t;return k(this,n),w(M(t=r.call(this,e)),"type",_r),w(M(t),"_queue",[]),w(M(t),"_alive",[]),w(M(t),"_currentTask",null),w(M(t),"_finnalUrl",""),w(M(t),"_config",void 0),t._config=function(e){return m({loaderType:_r,retry:0,retryDelay:0,timeout:0,request:null,onTimeout:void 0,onProgress:void 0,onRetryError:void 0,transformRequest:void 0,transformResponse:void 0,transformError:void 0,responseType:xr,range:void 0,url:"",params:void 0,method:"GET",headers:{},body:void 0,mode:void 0,credentials:void 0,cache:void 0,redirect:void 0,referrer:void 0,referrerPolicy:void 0,integrity:void 0,onProcessMinLen:0},e)}(e),t._config.loaderType!==br&&Or.isSupported()||(t.type=br),t.log=e.logger,t}return T(n,[{key:"isFetch",value:function(){return this.type===_r}},{key:"load",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};"string"!=typeof e&&e?r=e:r.url=e||r.url||this._config.url,(r=Object.assign({},this._config,r)).params&&(r.params=Object.assign({},r.params)),r.headers&&Er(r.headers)&&(r.headers=Object.assign({},r.headers)),r.body&&Er(r.body)&&(r.body=Object.assign({},r.body)),r.transformRequest&&(r=r.transformRequest(r)||r),r.logger=this.log;var n=new Cr(this.type,r);return n.loader.on(Mr,(function(e){t.emit(Mr,e)})),this._queue.push(n),1!==this._queue.length||this._currentTask&&this._currentTask.running||this._processTask(),n.promise}},{key:"cancel",value:(t=b(g().mark((function e(){var t;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this._queue.map((function(e){return e.cancel()})).concat(this._alive.map((function(e){return e.cancel()}))),this._currentTask&&t.push(this._currentTask.cancel()),this._queue=[],this._alive=[],e.next=6,Promise.all(t);case 6:return e.next=8,Nr();case 8:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"_processTask",value:function(){var e=this;if(this._currentTask=this._queue.shift(),this._currentTask){this._currentTask.alive&&this._alive.push(this._currentTask);var t=this._currentTask.exec().catch((function(e){}));t&&"function"==typeof t.finally&&t.finally((function(){var t,r;null!==(t=e._currentTask)&&void 0!==t&&t.alive&&(null===(r=e._alive)||void 0===r?void 0:r.length)>0&&(e._alive=e._alive.filter((function(t){return t&&t!==e._currentTask}))),e._processTask()}))}}}],[{key:"isFetchSupport",value:function(){return Or.isSupported()}}]),n}(H),zr={416:rr[tr.NETWROK_RANGE_NOT_SATISFIABLE],403:rr[tr.NETWORK_FORBIDDEN],404:rr[tr.NETWORK_NOTFOUND],timeout:rr[tr.NETWORK_TIMEOUT],"4xx":"".concat(rr[tr.NETWORK],"4XX"),"5xx":"".concat(rr[tr.NETWORK],"5XX"),networkError:rr[tr.NETWORK],contentError:"".concat(rr[tr.NETWORK],"contentError"),mse:rr[tr.MEDIA][tr.SUB_TYPES.MSE_OTHER],mseOpen:rr[tr.MEDIA][tr.SUB_TYPES.MSE_ADD_SB],mseAppend:rr[tr.MEDIA][tr.SUB_TYPES.MSE_APPEND_BUFFER],mse_hijack:rr[tr.MEDIA][tr.SUB_TYPES.MSE_HIJACK],eme_hijack:rr[tr.MEDIA][tr.SUB_TYPES.EME_HIJACK],metaError:rr[tr.DEMUX][tr.SUB_TYPES.MP4],muxError:rr[tr.REMUX][tr.SUB_TYPES.FMP4],other:rr[tr.OTHER],waitTimeout:rr[tr.RUNTIME][tr.SUB_TYPES.BUFFERBREAK_ERROR],waitTimeoutWithHidden:rr[tr.RUNTIME][tr.SUB_TYPES.WAITING_TIMEOUT_ERROR],drm:rr[tr.DRM][tr.SUB_TYPES.LICENSE]},qr=tr;var Vr=T((function e(t,r,n){k(this,e);var i=0,a=0;n&&n.range&&n.range.length>1&&(i=n.range[0],a=n.range[1]);var s=function(e){return zr[e]||e}(r);return{errorCode:s,errorType:t,errorMessage:(null==n?void 0:n.httpText)||(null==n?void 0:n.message),url:null==n?void 0:n.url,httpCode:r,version:Zt,rangeStart:i,rangeEnd:a,ext:n,mediaError:{code:s,message:(null==n?void 0:n.httpText)||(null==n?void 0:n.message)}}})),Hr=T((function e(t,r,n){return k(this,e),{errorCode:r,errorType:t,version:Zt,errorMessage:n.msg,ext:n,mediaError:{code:r,message:n.msg}}})),Gr={};Gr.nowTime=function(){try{return parseInt(performance.now(),10)}catch(e){return(new Date).getTime()}},Gr.concatData=function(e,t){var r=[],n=0;e&&r.push(e),t&&r.push(t),r.every((function(e){return e&&(n+=e.byteLength),!0}));var i=new Uint8Array(n),a=0;return r.every((function(e){return e&&(i.set(e,a),a+=e.byteLength),!0})),i};var Kr="content-range";function Wr(e){var t=Kr;if(e&&e.get&&e.get(t)){var r=e.get(t).split("/");if(2===(null==r?void 0:r.length))return r[1]}return null}function Yr(e){var t="Content-Length";return e&&e.get&&e.get(t)?e.get(t):null}function Jr(e){try{e&&e.src&&(e.removeAttribute("src"),e.load())}catch(t){}}function Xr(e,t){var r=e.media||e.video;e._detachSourceEvents(r),t instanceof Array?e._attachSourceEvents(r,t):t?r.src=t:r.removeAttribute("src")}var Qr=T((function e(t,r){k(this,e),this.type="file",this.message=t,this.data=r})),Zr=function(){function e(){k(this,e),w(this,"_data",Object.create(null))}return T(e,[{key:"set",value:function(e,t){this._data[e]=t}},{key:"get",value:function(e){return this._data[e]}},{key:"clear",value:function(){this._data=Object.create(null)}}]),e}();function $r(e,t){var r=e.trak;if(r&&r.length){var n=r.find((function(e){var t,r;return"vide"===(null===(t=e.mdia)||void 0===t||null===(r=t.hdlr)||void 0===r?void 0:r.handlerType)})),i=r.find((function(e){var t,r;return"soun"===(null===(t=e.mdia)||void 0===t||null===(r=t.hdlr)||void 0===r?void 0:r.handlerType)}));if(n||i){var a,s=[],o=[];if(n){var u,c,l,d=null===(u=n.mdia)||void 0===u||null===(c=u.minf)||void 0===c?void 0:c.stbl;if(!d)return;var h=null===(l=n.mdia.mdhd)||void 0===l?void 0:l.timescale,f=d.stts,p=d.stsc,v=d.stsz,m=d.stco,g=d.stss,y=d.ctts;if(!(h&&f&&p&&v&&m&&g))return;a=(s=en(t,h,f,p,v,m,g,y)).map((function(e){return e.duration}))}if(i){var _,b,k,x=null===(_=i.mdia)||void 0===_||null===(b=_.minf)||void 0===b?void 0:b.stbl;if(!x)return;var T=null===(k=i.mdia.mdhd)||void 0===k?void 0:k.timescale,w=x.stts,S=x.stsc,E=x.stsz,j=x.stco;if(!(T&&w&&S&&E&&j))return;o=en(t,T,w,S,E,j,null,null,a)}return{videoSegments:s,audioSegments:o}}}}function en(e,t,r,n,i,a,s,o,u){var c,l,d,h,f=[],p=[],v=[],m=n.entries,g=a.entries,y=i.entrySizes,_=null==s?void 0:s.entries,b=null==o?void 0:o.entries;b&&(c=[],b.forEach((function(e){for(var t=e.count,r=e.offset,n=0;n<t;n++)c.push(r)}))),_&&(l={},_.forEach((function(e){l[e-1]=!0})));var k=0,x=0,T=0,w=0,S=0,E=m[0].samplesPerChunk,j=m[1]?m[1].firstChunk-1:1/0,D=0,R=-1;r.entries.forEach((function(e){var t=e.count,r=e.delta;h=r;for(var n=0;n<t;n++)d={dts:D,startTime:k,duration:h,size:y[x]||i.sampleSize,offset:g[T]+S,index:x},_&&(d.keyframe=l[x],d.keyframe?(R++,p.push([d]),v.push(d.duration)):(p[p.length-1].push(d),v[p.length-1]+=d.duration),d.gopId=R),c&&x<c.length&&(d.pts=D+c[x]),0===x&&(d.pts=0),f.push(d),k+=h,D+=r,++x<E?S+=d.size:(T++,S=0,T>=j&&(w++,j=m[w+1]?m[w+1].firstChunk-1:1/0),E+=m[w].samplesPerChunk)}));var L=f.length;if(L&&(!s||f[0].keyframe)){var B,M=[],P=[],O=0,I=0,A=function(e){var r;B=P[P.length-1],M.push({index:M.length,startTime:(null===(r=M[M.length-1])||void 0===r?void 0:r.endTime)||P[0].startTime/t,endTime:(B.startTime+B.duration)/t,duration:e,range:[P[0].offset,B.offset+B.size],frames:P}),O=0,P=[]};if(s)for(var C=e*t,N=0,F=p.length;N<F;N++){var z;O+=v[N],(z=P).push.apply(z,U(p[N])),N+1<F?(0===N||O>C)&&A(O/t):A(O/t)}else for(var q=(u=u||[])[0]||e,V=0;V<L;V++){P.push(f[V]);var H=(O+=f[V].duration)/t;(V+1>=L||H+I>=q)&&(I+=H-q,A(H),q=u[M.length]||e)}return M}}function tn(e){var t="",r="",n=0,i=0,a=0,s=0,o=0,u=0,c=0;e.mvhd&&(o=e.mvhd.duration/e.mvhd.timescale);var l=e.trak;if(l){var d,h,f,p,v,m,g,y,_,b,k,x,T,w,S,E,j,D=l.find((function(e){var t,r;return"vide"===(null===(t=e.mdia)||void 0===t||null===(r=t.hdlr)||void 0===r?void 0:r.handlerType)})),R=l.find((function(e){var t,r;return"soun"===(null===(t=e.mdia)||void 0===t||null===(r=t.hdlr)||void 0===r?void 0:r.handlerType)})),L=null;if(D)if(L=null===(h=D.mdia)||void 0===h||null===(f=h.minf)||void 0===f||null===(p=f.stbl)||void 0===p?void 0:p.stsd.entries[0])if(n=L.width,i=L.height,u=null===(v=D.mdia)||void 0===v||null===(m=v.mdhd)||void 0===m?void 0:m.timescale,t=null===(g=L.avcC||L.hvcC)||void 0===g?void 0:g.codec,"encv"===L.type)d=null===(y=L.sinf)||void 0===y||null===(_=y.schi)||void 0===_?void 0:_.tenc.default_KID;if(R)if(L=null===(b=R.mdia)||void 0===b||null===(k=b.minf)||void 0===k||null===(x=k.stbl)||void 0===x?void 0:x.stsd.entries[0])if(a=L.channelCount,s=L.sampleRate,r=null===(T=L.esds)||void 0===T?void 0:T.codec,c=null===(w=R.mdia)||void 0===w||null===(S=w.mdhd)||void 0===S?void 0:S.timescale,"enca"===L.type)d=d||(null===(E=L.sinf)||void 0===E||null===(j=E.schi)||void 0===j?void 0:j.tenc.default_KID);return{kid:d?d.join(""):null,videoCodec:t,audioCodec:r,width:n,height:i,videoTimescale:u,audioChannelCount:a,audioSampleRate:s,duration:o,audioTimescale:c,moov:e}}}function rn(e){return"number"==typeof e&&!Number.isNaN(e)}var nn=["vid","cache"],an=function(e){S(f,e);var t,r,n,i,a,s,o,u,c,l,d,h=O(f);function f(e){var t;k(this,f),w(M(t=h.call(this)),"vid",""),w(M(t),"url",""),w(M(t),"meta",{}),w(M(t),"downloadInfo",[]),w(M(t),"videoSegments",[]),w(M(t),"audioSegments",[]),w(M(t),"cache",null),w(M(t),"_currentSegmentIndex",-1),w(M(t),"_currentLoadingSegmentIndex",-1),w(M(t),"buffer",void 0),w(M(t),"_error",void 0),w(M(t),"_transformError",(function(e){return e})),t._config=m({vid:"",moovEnd:8e4,segmentDuration:2,maxDownloadInfoSize:30,responseType:"arraybuffer",cache:null},e);var r=t._config,n=r.vid,i=r.cache,a=B(r,nn);return t.cache=i||new Zr,t.vid=n||a.url,t.url=a.url,a.transformError=t._transformError,t.logger=new sr("MP4Loader_"+t.vid),e.openLog&&sr.enable(),a.logger=t.logger,t._loader=new Fr(a),t._loader.on(Mr,(function(e){t.emit(Mr,e)})),t}return T(f,[{key:"isMetaLoaded",get:function(){return this.videoSegments.length||this.audioSegments.length}},{key:"setCurrentSegment",value:function(e){rn(e)&&(this._currentSegmentIndex=e)}},{key:"isLastSegment",value:function(e){var t,r;return!!rn(e)&&e>=((null===(t=this.videoSegments[this.videoSegments.length-1])||void 0===t?void 0:t.index)||(null===(r=this.audioSegments[this.audioSegments.length-1])||void 0===r?void 0:r.index)||0)}},{key:"isSegmentLoading",value:function(e){return e===this._currentLoadingSegmentIndex}},{key:"changeUrl",value:(d=b(g().mark((function e(t){var r,n,i,a=arguments;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=a.length>1&&void 0!==a[1]?a[1]:t,n=a.length>2?a[2]:void 0,i=a.length>3?a[3]:void 0,e.next=5,this.reset(i);case 5:t&&(this.url=t),r&&(this.vid=r),n&&(this._config.moovEnd=n);case 8:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"getOrLoadMeta",value:(l=b(g().mark((function e(t){return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.isMetaLoaded){e.next=3;break}return e.next=3,this.loadMeta(t);case 3:return e.abrupt("return",this.meta);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"loadMetaProcess",value:(c=b(g().mark((function e(t,r,n,i){var a,s,o,u,c=this;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=C(r,2),s=a[0],o=a[1],this._error=!1,this.logger.debug("[loadMetaProcess start], range,",[s,o]),u=function(){var e=b(g().mark((function e(r,a,u,l){var d,h,f,p,v,m,y,_;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c.meta&&null!=u&&u.range&&u.range.length>0&&u.range[1]>=o&&(a=!0,c.logger.debug("[loadMetaProcess],data done,setstate true,[",s,o,"]")),a&&null!=u&&u.range&&u.range.length>0&&u.range[1]<o&&(a=!1,c.logger.debug("[loadMetaProcess],data not done,setstate false,[",s,o,"]")),c.logger.debug("[loadMetaProcess],task,[",s,o,"], range,",u.range,",dataLen,",r?r.byteLength:void 0,", state,",a,",err,",c._error),!c._error&&r&&r.byteLength>0&&n(r,a,u,null,l),!c.meta.moov&&!c._error){e.next=6;break}return e.abrupt("return");case 6:if(!(r&&r.byteLength>0)){e.next=44;break}if(c.buffer=Ur(c.buffer,r),d=Fe.findBox(c.buffer,["moov"])[0]){e.next=23;break}if(h=Fe.findBox(c.buffer,["mdat"])[0],!a){e.next=23;break}if(h){e.next=18;break}return c._error=!0,n(null,a,u,{err:"cannot find moov or mdat box"},l),e.abrupt("return");case 18:return f=h.start+h.size,e.next=21,c.loadData([f,""],t,i);case 21:(p=e.sent)&&(d=Fe.findBox(p.data,["moov"])[0]);case 23:if(!(d&&a&&d.size>d.data.length)){e.next=27;break}return c.logger.debug("[loadMetaProcess],moov not all, range,",u.range[1],",dataLen,",c.buffer.byteLength,", state,",a),e.next=27,c.loadMetaProcess(t,[u.range[1],d.start+d.size-1],n);case 27:if(!(d&&d.size<=d.data.length)||c.meta.moov){e.next=44;break}if(v=Fe.moov(d)){e.next=33;break}return c._error=!0,n(null,a,u,{err:"cannot parse moov box"},l),e.abrupt("return");case 33:if(m=$r(v,c._config.segmentDuration)){e.next=38;break}return c._error=!0,n(null,a,u,{err:"cannot parse segments"},l),e.abrupt("return");case 38:c.meta=tn(v),y=m.videoSegments,_=m.audioSegments,c.videoSegments=y,c.audioSegments=_,c.logger.debug("[loadMetaProcess] moov ok"),n(void 0,a,{meta:{meta:c.meta,videoSegments:y,audioSegments:_}},null,l);case 44:case"end":return e.stop()}}),e)})));return function(t,r,n,i){return e.apply(this,arguments)}}(),e.next=6,this.loadData([s,o||this._config.moovEnd],t,m({onProgress:u},i));case 6:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n){return c.apply(this,arguments)})},{key:"loadMeta",value:(u=b(g().mark((function e(t,r,n){var i,a,s,o,u,c,l,d,h;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=[],this.logger.debug("[loadMeta start]"),e.next=4,this.loadData([0,r||this._config.moovEnd],t,n);case 4:if(a=e.sent){e.next=7;break}return e.abrupt("return");case 7:if(i.push(a),s=Fe.findBox(a.data,["moov"])[0]){e.next=23;break}if(o=Fe.findBox(a.data,["mdat"])[0]){e.next=13;break}throw new Qr("cannot find moov or mdat box",a.data);case 13:return u=o.start+o.size,e.next=16,this.loadData([u],t,n);case 16:if(a=e.sent){e.next=19;break}return e.abrupt("return");case 19:if(i.push(a),s=Fe.findBox(a.data,["moov"],u)[0]){e.next=23;break}throw new Qr("cannot find moov box",a.data);case 23:if(!(s.size>s.data.length)){e.next=31;break}return e.next=26,this.loadData([a.data.length,s.start+s.size-1],t,n);case 26:if(a=e.sent){e.next=29;break}return e.abrupt("return");case 29:i.push(a),s.data=Ur(s.data,a.data);case 31:if(c=Fe.moov(s)){e.next=34;break}throw new Qr("cannot parse moov box",s.data);case 34:if(l=$r(c,this._config.segmentDuration)){e.next=37;break}throw new Qr("cannot parse segments",s.data);case 37:return this.meta=tn(c),d=l.videoSegments,h=l.audioSegments,this.videoSegments=d,this.audioSegments=h,this.logger.debug("[load moov end!!!!!]"),e.abrupt("return",{meta:this.meta,videoSegments:d,audioSegments:h,responses:i});case 43:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return u.apply(this,arguments)})},{key:"loadCacheMeta",value:function(e,t){var r=$r(e.moov,this._config.segmentDuration),n=r.videoSegments,i=r.audioSegments;this.videoSegments=n,this.audioSegments=i,this._currentSegmentIndex=t,this.meta=e}},{key:"getSegmentByTime",value:function(e){var t,r;return this.videoSegments.length?(t=this.videoSegments.find((function(t){return t.startTime<=e&&t.endTime>e})))&&(r=this.audioSegments[t.index]):r=this.audioSegments.find((function(t){return t.startTime<=e&&t.endTime>e})),{video:t,audio:r}}},{key:"loadSegmentByTime",value:(o=b(g().mark((function e(t,r){var n,i,a,s,o,u=arguments;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=!(u.length>2&&void 0!==u[2])||u[2],i=u.length>3&&void 0!==u[3]?u[3]:{},this.isMetaLoaded){e.next=5;break}return e.next=5,this.loadMeta(r);case 5:return a=this.getSegmentByTime(t),s=a.video,o=a.audio,e.abrupt("return",this._loadSegment(s,o,r,n,i));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"loadNextSegment",value:(s=b(g().mark((function e(t){var r,n,i,a,s=arguments;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=!(s.length>1&&void 0!==s[1])||s[1],n=s.length>2&&void 0!==s[2]?s[2]:{},this.isMetaLoaded){e.next=5;break}return e.next=5,this.loadMeta();case 5:return i=this.videoSegments[this._currentSegmentIndex+1],a=this.audioSegments[this._currentSegmentIndex+1],e.abrupt("return",this._loadSegment(i,a,t,r,n));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"preload",value:(a=b(g().mark((function e(t){var r,n,i,a,s,o,u,c=this;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.isMetaLoaded){e.next=3;break}return e.next=3,this.loadMeta(!0);case 3:if(t&&!(t<0)){e.next=5;break}return e.abrupt("return");case 5:if(r=this.getSegmentByTime(t),n=r.video,i=r.audio,a=Math.max((null==n?void 0:n.index)||0,(null==i?void 0:i.index)||0)){e.next=9;break}return e.abrupt("return");case 9:return s=this.videoSegments.slice(0,a),o=this.audioSegments.slice(0,a),u=function(){var e=b(g().mark((function e(t){return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t>a)){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,c._loadSegment(s[t],o[t],!0,!1);case 4:return e.next=6,u(t+1);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),e.next=14,u(0);case 14:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"cancel",value:function(){return this._loader.cancel()}},{key:"reset",value:(i=b(g().mark((function e(){var t=arguments;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.length>0&&void 0!==t[0]&&t[0]){e.next=5;break}return this.logger.debug("[MP4loader reset func call loader.cancel]"),e.next=5,this._loader.cancel();case 5:this.vid=this.url="",this.meta={},this.downloadInfo=[],this.videoSegments=[],this.audioSegments=[],this._currentSegmentIndex=-1,this._currentLoadingSegmentIndex=-1;case 12:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"destroy",value:(n=b(g().mark((function e(){return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.reset();case 2:this.cache.clear();case 3:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"_loadSegment",value:(r=b(g().mark((function e(t,r,n,i,a){var s,o;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t||r){e.next=2;break}return e.abrupt("return");case 2:return s=(null==t?void 0:t.index)||(null==r?void 0:r.index)||0,this._currentLoadingSegmentIndex=s,e.prev=4,e.next=7,this.loadData([Math.min((null==t?void 0:t.range[0])||1/0,(null==r?void 0:r.range[0])||1/0),Math.max((null==t?void 0:t.range[1])||0,(null==r?void 0:r.range[1])||0)],n,a);case 7:o=e.sent;case 8:return e.prev=8,this._currentLoadingSegmentIndex=-1,e.finish(8);case 11:if(o){e.next=13;break}return e.abrupt("return");case 13:return i&&(this._currentSegmentIndex=s),o.video=t,o.audio=r,e.abrupt("return",o);case 17:case"end":return e.stop()}}),e,this,[[4,,8,11]])}))),function(e,t,n,i,a){return r.apply(this,arguments)})},{key:"loadData",value:(t=b(g().mark((function e(t,r,n){var i,a,s,o;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=this._getCacheKey(t),e.next=3,this.cache.get(i);case 3:if(a=e.sent){e.next=11;break}return o=n&&n.url?n.url:this.url,e.next=8,this._loader.load(o,m({range:t,vid:this.vid},n));case 8:s=e.sent,e.next=12;break;case 11:s={data:a,state:!0,options:{fromCache:!0,range:t,vid:this.vid}};case 12:if(s){e.next=14;break}return e.abrupt("return");case 14:return a||(s.data&&this.downloadInfo.push({startTime:s.startTime,endTime:s.endTime,size:s.data.byteLength,range:t}),this.downloadInfo&&this.downloadInfo.length>this._config.maxDownloadInfoSize&&(this.downloadInfo=this.downloadInfo.slice(-this._config.maxDownloadInfoSize))),e.abrupt("return",s);case 17:case"end":return e.stop()}}),e,this)}))),function(e,r,n){return t.apply(this,arguments)})},{key:"_getCacheKey",value:function(e){return(this.vid||this.url)+":"+e}}]),f}(H),sn=function(){try{return"undefined"!=typeof localStorage&&"setItem"in window.localStorage&&!!window.localStorage.setItem}catch(e){return!1}}()&&!function(){var e="_localstorage_support_test";try{return window.localStorage.setItem(e,!0),window.localStorage.removeItem(e),!1}catch(t){return!0}}(),on=un();function un(){if(sn)try{return!!window.localStorage.getItem("playerlog")}catch(e){return!1}return!1}function cn(e){for(var t,r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];on&&console.log&&(t=console).log.apply(t,["[logger]",Gr.nowTime(),e].concat(n))}!function(){if(sn)try{return!!window.localStorage.getItem("playertestlog")}catch(e){return!1}}();var ln="error",dn="metaReady",hn="moov_request_Progress",fn="update_load_fragmentIdx",pn=function(e){S(h,e);var t,r,n,i,a,s,o,u,c,l,d=O(h);function h(e,t){var r;return k(this,h),w(M(r=d.call(this)),"onprogressDataArrive",function(){var e=b(g().mark((function e(t,n,i){var a;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t&&t.byteLength>0&&((a=r.timeRange[i.index].range)&&i.range[1]>=a[1]&&!n&&(n=!0),r.log("[mp4.loadFragment onprogressDataArrive ] receive data, >>> index,",i.index,",range,",JSON.stringify(i.range),", dataLen,",t.byteLength),r._mux(t,i.range[0],i.index,n)),n&&(r.timeRange[i.index].downloaded=!0,r.bufferLoadedPos=-1,r.log("[FragLoadDowned],fragmentIdx,",i.index,",rangeEnd,",i.range[1]));case 2:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}()),r.url=e,r.options=h.getDefaultConfig(),Object.keys(t).map((function(e){void 0!==t[e]&&null!==t[e]&&(r.options[e]=t[e])})),r.timeRange=[],r.CHUNK_SIZE=r.options.chunkSize,r.bufferLoaded=new Uint8Array(0),r.bufferLoadedPos=0,r.meta=null,r.videoTrak=null,r.audioTrak=null,r.canDownload=!0,r._loadSuccessCallBack=null,r._isPending=!1,r._metaLoading=!1,r.MP4Loader=new an(m(m({segmentDuration:r.options.segmentDuration,url:e,vid:t.vid,retry:r.options.retryCount,retryDelay:r.options.retryDelay,timeout:r.options.timeout},t.reqOptions),{},{openLog:un()})),r.MP4Demuxer=null,r.FMP4Remuxer=null,r._needInitSegment=!0,r._switchBitRate=!1,r.enableWorker=r.options.enableWorker,r.enableWorker||(r.MP4Demuxer=null,r.FMP4Remuxer=null),r.seekTime=-1,r.changeBitRateTime=-1,r}return T(h,[{key:"changeBitRate",value:(l=b(g().mark((function e(t){return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.url=t.url,e.next=3,this.MP4Loader.changeUrl(this.url,this.options.vid+Date.now(),this.CHUNK_SIZE);case 3:this._switchBitRate=!0,this.log("[switchBitrate] changeUrl, bitRate,",this.url);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"log",value:function(e){for(var t=this.options,r=t&&t.vid?"[MP4] ".concat(t.vid," ").concat(e):"[MP4] ".concat(e),n=arguments.length,i=new Array(n>1?n-1:0),a=1;a<n;a++)i[a-1]=arguments[a];cn.apply(void 0,[r].concat(i))}},{key:"errorHandler",value:(c=b(g().mark((function e(t,r){var n,i,a,s;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.response,i=t.message,a=this.options?this.options.vid:"",s=null,this._isPending=!0,n?(s=new Vr("network",n.status,{httpText:n.httpText,message:i,url:n.url}),this.emit(ln,s)):(console.error("[MP4] [".concat(a,"] errorHandler,"),t),s=t,this.emit(ln,s));case 6:case"end":return e.stop()}}),e,this)}))),function(e,t){return c.apply(this,arguments)})},{key:"init",value:(u=b(g().mark((function e(){return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.url){e.next=3;break}return e.next=3,this.MP4Loader.changeUrl(this.url,this.options.vid+Date.now(),this.CHUNK_SIZE);case 3:return e.next=5,this.getMetaInfo();case 5:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"getTimeRange",value:function(){for(var e=[],t=null,r=0;this.videoTrak&&r<this.videoTrak.length;r++)t={startTime:this.videoTrak[r].startTime,endTime:this.videoTrak[r].endTime,downloaded:!1,isLoading:!1},e.push(t);if(this.audioTrak&&this.audioTrak.length>e.length)for(var n=e.length;n<this.audioTrak.length;n++)t={startTime:Math.max(this.audioTrak[n].startTime,t?t.endTime:0),endTime:Math.max(this.audioTrak[n].endTime,t?t.endTime:0),downloaded:!1,isLoading:!1},e.push(t);return e}},{key:"getMetaInfo",value:(o=b(g().mark((function e(){var t,r,n,i=this,a=arguments;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=!(a.length>0&&void 0!==a[0])||a[0],e.prev=1,this._metaLoading=!0,this.log("getMetaInfo start"),this.bufferLoaded=new Uint8Array(0),r=0,n=function(){var e=b(g().mark((function e(n,a,s,o,u){var c,l,d,h;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=u?Number(Wr(u.headers)):0,l=u?Number(Yr(u.headers)):0,i.log("getMetaInfo onProgressHandle, dataLen,",n?n.byteLength:-1,", state,",a,",range,",JSON.stringify(s.range)),console.log("getMetaInfo onProgressHandle, dataLen,",a,",state","range",JSON.stringify(s.range),l,c),!o){e.next=7;break}return i.emit(ln,o),e.abrupt("return");case 7:n&&s.range[0]===r&&(i.bufferLoaded=K(Uint8Array,i.bufferLoaded,new Uint8Array(n)),r+=n.byteLength),s.meta&&!i.meta&&(d=s.meta,i.videoTrak=d.videoSegments,i.audioTrak=d.audioSegments,i.timeRange=i.getTimeRange(),i.meta=m(m({},d.meta),{},{ext:{videoTrak:i.videoTrak,audioTrak:i.audioTrak}}),d.bufferLoaded=i.bufferLoaded,i.log("meta reach"),t&&i.emit(dn,i.meta)),i.meta&&a&&(i.log("[getMetaInfo req end]"),i._metaLoading=!1),i.meta&&(n||a)&&(i.log("emit moov_req_progress"),i.emit(hn)),h=(null==s?void 0:s.range)||[],c>0&&!i.meta&&h&&h.length>1&&h[1]>=c&&(i.log("getMetaInfo_error_nometa"),i.emit(ln,{message:"getMetaInfo_error_nometa"})),l>0&&!i.meta&&h&&h.length>1&&h[1]===l&&(i.log("getMetaInfo_error_nometa"),i.emit(ln,{message:"getMetaInfo_error_nometa"}));case 14:case"end":return e.stop()}}),e)})));return function(t,r,n,i,a){return e.apply(this,arguments)}}(),e.next=9,this.MP4Loader.loadMetaProcess(this.MP4Loader.cache,[0,this.CHUNK_SIZE],n);case 9:e.next=15;break;case 11:e.prev=11,e.t0=e.catch(1),console.error("[MP4] trigger errorHandler getMetaInfo",null===e.t0||void 0===e.t0?void 0:e.t0.message),this.loadError(e.t0,"getMetaInfo");case 15:case"end":return e.stop()}}),e,this,[[1,11]])}))),function(){return o.apply(this,arguments)})},{key:"getFragmentIdx",value:function(e){var t,r;if(this.videoTrak.length){if(t=this.videoTrak.find((function(t){return t.startTime<=e&&t.endTime>e})),r=this.audioTrak.find((function(t){return t.startTime<=e&&t.endTime>e})),t&&r)return Math.min(t.index,r.index);if(t||r)return t?t.index:r.index;var n=Number.MAX_VALUE;return this.videoTrak&&this.videoTrak.length>0&&(n=this.videoTrak.length-1),this.audioTrak&&this.audioTrak.length>0&&(n=Math.min(this.audioTrak.length-1,n)),n}return(r=this.audioTrak.find((function(t){return t.startTime<=e&&t.endTime>e})))?r.index:0}},{key:"_checkHasMeta",value:(s=b(g().mark((function e(){var t;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.log(" loadMeta start"),this._metaLoading=!0,e.prev=2,e.next=5,this.MP4Loader.loadMeta(this.MP4Loader.cache,Math.round(this.CHUNK_SIZE/2));case 5:return t=e.sent,this._metaLoading=!1,this.videoTrak=t.videoSegments,this.audioTrak=t.audioSegments,this.meta=m(m({},t.meta),{},{ext:{videoTrak:this.videoTrak,audioTrak:this.audioTrak}}),this.timeRange=this.getTimeRange(),this.bufferLoaded=new Uint8Array(0),t.bufferLoaded=this.bufferLoaded,e.abrupt("return",!0);case 16:return e.prev=16,e.t0=e.catch(2),console.error(e.t0),this._metaLoading=!1,this.emit(ln,e.t0),console.error(e.t0),e.abrupt("return",!1);case 23:case"end":return e.stop()}}),e,this,[[2,16]])}))),function(){return s.apply(this,arguments)})},{key:"resetFragmentLoadState",value:function(e){for(var t=0;t<this.timeRange.length;t++)t<e?(this.timeRange[t].downloaded=!0,this.timeRange[t].isLoading=!0):(this.timeRange[t].downloaded=!1,this.timeRange[t].isLoading=!1)}},{key:"getFragRange",value:function(e){var t,r,n,i,a=null;this.videoTrak&&(a=e<this.videoTrak.length?this.videoTrak[e]:this.videoTrak[this.videoTrak.length-1]);var s=null;this.audioTrak&&(s=e<this.audioTrak.length?this.audioTrak[e]:this.audioTrak[this.audioTrak.length-1]);var o=0,u=0;this.videoTrak&&e>=this.videoTrak.length-1&&(o=-1),this.audioTrak&&e>=this.audioTrak.length-1&&(u=-1);var c=[Math.min((null===(t=a)||void 0===t?void 0:t.range[0])||1/0,(null===(r=s)||void 0===r?void 0:r.range[0])||1/0),Math.max((null===(n=a)||void 0===n?void 0:n.range[1])+o||0,(null===(i=s)||void 0===i?void 0:i.range[1])+u||0)];return e<this.timeRange.length&&(this.timeRange[e].range=c),c}},{key:"load",value:(a=b(g().mark((function e(t,r){var n,i,a;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._loadSuccessCallBack=r,!this._switchBitRate||this._metaLoading){e.next=12;break}return this.log("[switchBitrate], switch bitRate start load, time,",t>=this.videoTrak.length?this.audioTrak[t].startTime:this.videoTrak[t].startTime,", fragIndex,",t),e.next=5,this._checkHasMeta();case 5:n=e.sent,this.changeBitRateTime>0&&(this.timeRange[t].startTime<=this.changeBitRateTime&&this.changeBitRateTime<this.timeRange[t].endTime?this.log("[switchBitrate], not need update load fragIndex",t,",stTime,",this.changeBitRateTime):(t=this.getFragmentIdx(this.changeBitRateTime),this.log("[switchBitrate], need update load fragIndex",t,",stTime,",this.changeBitRateTime,",newBitrateTimeRange,",this.timeRange[t].startTime,"-",this.timeRange[t].endTime),this.emit(fn,t)),this.seekTime=this.changeBitRateTime,this.changeBitRateTime=-1),this.resetFragmentLoadState(t),this.log("[switchBitrate], reset timerange state,",t),this._needInitSegment=!0,this.resetTansmuxer(),n&&(this._switchBitRate=!1);case 12:if(!this._switchBitRate||!this._metaLoading){e.next=14;break}return e.abrupt("return");case 14:i=this.getFragRange(t),this.log("loadFragment,",t,",range,",JSON.stringify(i)),this.seekTime>0?(a=this.getSubRange(t,this.seekTime,i),this.loadFragment(t,a),this.seekTime=-1):this.loadFragment(t,i);case 17:case"end":return e.stop()}}),e,this)}))),function(e,t){return a.apply(this,arguments)})},{key:"getSubRange",value:function(e,t,r){var n=r[0],i=r[0],a=1,s=!1;if(this.log(">>>>>getSubRange time,",t,JSON.stringify(r)),this.videoTrak){var o=e<this.videoTrak.length?this.videoTrak[e]:this.videoTrak[this.videoTrak.length-1],u=o.frames.filter(vn),c=this.meta.videoTimescale,l=u[0].startTime/c;this.log(">>>>>getSubRange video, startTime,",o.startTime,",endTime,",o.endTime);for(var d=0;d<u.length;d++)this.log(">>>>>getSubRange video keyFrameList, startTime,",u[d].startTime/c,",range,",u[d].offset);for(;a<u.length;a++){var h=u[a].startTime/c;if(l<=t&&t<h&&r[0]<u[a-1].offset){n=u[a-1].offset,s=!0,this.log(">>>>>getSubRange video end, startTime,",l,",endTime,",h,",startRange,",n,", keyFrameIndex,",a-1);break}l=h}!s&&l<=t&&t<o.endTime+.8&&(n=u[a-1].offset,this.log(">>>>>getSubRange video last, startTime,",l,",endTime,",o.endTime,",startRange,",n))}if(a=1,this.audioTrak){var f=e<this.audioTrak.length?this.audioTrak[e]:this.audioTrak[this.audioTrak.length-1],p=f.frames,v=this.meta.audioTimescale;a=Math.floor((t*v-p[0].startTime)/f.frames[0].duration);for(var m=(a=Math.min(p.length-1,a))>0?p[a-1].startTime/v:p[0].startTime/v;a>=0&&a<p.length;)if(a>0&&m>t)m=p[a-=1].startTime/v;else{var g=(p[a].startTime+p[a].duration)/v;if(m<=t&&t<g&&r[0]<p[a].offset){i=p[a].offset,s=!0,this.log(">>>>>getSubRange audio end, startTime,",m,",endTime,",g,",startRange,",i,", index,",a);break}m=g,a++}}var y=[Math.min(i,n),r[1]];return this.log(">>>>>getSubRange finalRange ",JSON.stringify(y),",oldRange,",JSON.stringify(r)),y}},{key:"_mux",value:function(e,t,r,n){var i=this.getSamplesRange(r,"video"),a=this.getSamplesRange(r,"audio"),s=[t,t+e.byteLength];try{this.MP4Demuxer||(this.MP4Demuxer=new $e(this.videoTrak,this.audioTrak,null,{openLog:un()}));var o,u=this.MP4Demuxer.demuxPart(e,t,i,a,this.meta.moov,this.useEME,this.kidValue);this.FMP4Remuxer||this.checkCodecH265()&&!this.options.supportHevc||(this.FMP4Remuxer=new Ze(this.MP4Demuxer.videoTrack,this.MP4Demuxer.audioTrack,{openLog:un()})),this.log("[mux], videoTimeRange,",u.videoTrack?[u.videoTrack.startPts,u.videoTrack.endPts]:null,",audioTimeRange,",u.audioTrack?[u.audioTrack.startPts,u.audioTrack.endPts]:null);var c=[Math.min(u.videoTrack.startPts,u.audioTrack.startPts),Math.max(u.videoTrack.endPts,u.audioTrack.endPts)];if(this.FMP4Remuxer){var l=this.FMP4Remuxer.remux(this._needInitSegment,{initMerge:!0,range:s});l.initSegment&&(this._needInitSegment=!1),o={buffer:Gr.concatData(l.audioSegment,l.videoSegment),range:s,state:n,context:{range:s,fragIndex:r,timeRange:c},initSeg:l.initSegment}}else o={videoTrack:u.videoTrack,audioTrack:u.audioTrack,buffer:null,range:s,state:n,context:{range:s,fragIndex:r,timeRange:c}};this._loadSuccessCallBack&&this._loadSuccessCallBack(o)}catch(h){console.error("mux err:",h);var d=new Hr(qr.remux,zr.muxError,{msg:JSON.stringify(h)});this.errorHandler(d,"mux",{fragIndex:r,range:[t,t+e.byteLength]})}}},{key:"getSamplesRange",value:function(e,t){var r=[];switch(t){case"video":if(this.videoTrak&&e<this.videoTrak.length){var n=this.videoTrak[e].frames;r.push(n[0].index),r.push(n[n.length-1].index)}break;case"audio":if(this.audioTrak&&e<this.audioTrak.length){var i=this.audioTrak[e].frames;r.push(i[0].index),r.push(i[i.length-1].index)}break;default:console.warn("[getSamplesRange] type ",t," is invalid")}return r}},{key:"loadFragment",value:(i=b(g().mark((function e(t,r){var n,i,a,s;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(this._isPending||r.length>0&&0===r[0]&&0===r[1]||this.timeRange[t].isLoading)){e.next=2;break}return e.abrupt("return");case 2:if(this.log("[MP4.loadFragment] ,fragIndex,",t,",range ",r,",len ,",r[1]-r[0],", bufferLoaded_Len,",this.bufferLoaded.byteLength),!(r.length>=2&&r[1]&&r[1]>0&&r[1]<=this.bufferLoaded.byteLength)){e.next=13;break}this.timeRange[t].isLoading=!0,n=Math.max(r[0],this.bufferLoadedPos),i=new Uint8Array(this.bufferLoaded.slice(n,r[1])),this.log("[mp4.loadFragment] has all data: ",n,r[1]),this.timeRange[t].downloaded=!0,this.bufferLoadedPos=-1,this._mux(i,n,t,!0),e.next=34;break;case 13:if(!(r.length>=2&&r[0]&&r[0]<=this.bufferLoaded.byteLength)){e.next=29;break}if(this.timeRange[t].isLoading){e.next=27;break}if(a=Math.max(r[0],this.bufferLoadedPos),!((s=new Uint8Array(this.bufferLoaded.slice(a,r[1]))).byteLength>0)){e.next=22;break}return this.bufferLoadedPos=a+s.byteLength,this.log("[mp4.loadFragment] has part data: ",a,a+s.byteLength),this._mux(s,a,t,r[1]<=this.bufferLoadedPos),e.abrupt("return");case 22:if(this._metaLoading||this.timeRange[t].isLoading){e.next=27;break}return this.log("[mp4.loadFragment] ready to load part data >>> ",this.bufferLoaded.byteLength,r[1]),this.timeRange[t].isLoading=!0,e.next=27,this.startLoad([this.bufferLoaded.byteLength,r[1]],t);case 27:e.next=34;break;case 29:if(this._metaLoading&&!(r[0]>=this.CHUNK_SIZE)||this.timeRange[t].isLoading){e.next=34;break}return this.timeRange[t].isLoading=!0,this.log("[mp4.loadFragment],ready to load all data ,segmentIdx, ",t,",range >>> ",JSON.stringify(r)),e.next=34,this.startLoad(r,t);case 34:case"end":return e.stop()}}),e,this)}))),function(e,t){return i.apply(this,arguments)})},{key:"startLoad",value:(n=b(g().mark((function e(t,r){return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.MP4Loader.loadData(t,this.MP4Loader.cache,{index:r,onProgress:this.onprogressDataArrive,onProcessMinLen:this.options.onProcessMinLen,url:this.url});case 3:e.next=10;break;case 5:e.prev=5,e.t0=e.catch(0),console.error("[MP4] trigger errorHandler startLoad",t,r,null===e.t0||void 0===e.t0?void 0:e.t0.message),this.timeRange[r].isLoading=!1,this.loadError(e.t0,"startLoad",{range:t,fragIndex:r});case 10:case"end":return e.stop()}}),e,this,[[0,5]])}))),function(e,t){return n.apply(this,arguments)})},{key:"loadError",value:function(e,t,r){var n;!e.response&&(e.response={}),e.isTimeout?e.response.status="timeout":null!=e&&null!==(n=e.response)&&void 0!==n&&n.status||(e.response.status="networkError"),this.errorHandler(e,t,r)}},{key:"cancelLoading",value:(r=b(g().mark((function e(){return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.MP4Loader;case 2:if(e.t0=e.sent,!e.t0){e.next=5;break}this.MP4Loader.cancel();case 5:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"update",value:(t=b(g().mark((function e(t){return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.url=t,this.MP4Loader&&this.MP4Loader.changeUrl(t),this.MP4Loader&&this.MP4Loader.changeUrl(t);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"restart",value:function(){this._isPending=!1,this.meta||this.init()}},{key:"checkCodecH265",value:function(){return this.meta&&(this.meta.videoCodec.indexOf("hvc1")>-1||this.meta.videoCodec.indexOf("hev1")>-1)}},{key:"destroy",value:function(){this.hasDestroyed||(this.resetTansmuxer(),this._isPending=!1,this._metaLoading=!1,this.bufferLoadedPos=0,this.bufferLoaded=new Uint8Array(0),this.MP4Loader&&(this.MP4Loader.cancel(),this.MP4Loader.destroy()),this.hasDestroyed=!0)}},{key:"resetTansmuxer",value:function(){this.MP4Demuxer&&this.MP4Demuxer.reset(),this.MP4Demuxer=null,this.FMP4Remuxer&&this.FMP4Remuxer.reset(),this.FMP4Remuxer=null}}],[{key:"getDefaultConfig",value:function(){return{segmentDuration:5,onProcessMinLen:1024,chunkSize:8e5,retryCount:3,retryDelay:1e3,timeout:3e3,enableWorker:!1,playerId:"",vid:"",ext:{}}}}]),h}(H);function vn(e){if(e.keyframe)return e}var mn=function(){function e(t){k(this,e),this.onTick_=t,this.cancelPending_=null}return T(e,[{key:"tickAfter",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.stop();var n=!0,i=null;this.cancelPending_=function(){window.clearTimeout(i),n=!1};var a=function(){n&&(t.onTick_(),r&&r())};return i=window.setTimeout(a,1e3*e),this}},{key:"tickEvery",value:function(e){var t=this;this.tickAfter(e,(function(){t.tickEvery(e)}))}},{key:"stop",value:function(){this.cancelPending_&&(this.cancelPending_(),this.cancelPending_=null)}}]),e}(),gn=function(){function e(){var t,r;k(this,e);var n=new Promise((function(e,n){t=e,r=n}));return n.resolve=function(e){t(e),n.state="fulfilled"},n.reject=function(e){r(e),n.state="rejected",n.isBreak="DESTROYED"===e},n.state="pending",n}return T(e,[{key:"resolve",value:function(e){}},{key:"reject",value:function(e){}}]),e}(),yn=null,_n=null,bn=null,kn=null,xn=function(e){S(a,e);var t,r,n,i=O(a);function a(e){var t;return k(this,a),w(M(t=i.call(this,e)),"_onMp4DataCallBack",(function(){t._isMseInit&&t._onTimeUpdate()})),w(M(t),"_onMp4MetaReady",(function(e){var r=M(t).config,n=t.mp4.checkCodecH265();try{if(n&&!t.config.supportHevc){var i="browser not support HEVC",a=new p.Errors(t.player,{errorType:"runtime",errorTypeCode:qr.runtime,errorCode:zr.h265Error,errorMessage:i,vid:r.vid,mediaError:{code:zr.h265Error,message:i}});t._errorHandler(a)}else t._initMse(e),t._initPromise.resolve()}catch(o){console.error(o);var s=new p.Errors(t.player,{errorType:"runtime",errorTypeCode:qr.runtime,errorCode:zr.mse,errorMessage:null==o?void 0:o.message,vid:r.vid,mediaError:{code:zr.other1,message:null==o?void 0:o.message}});return void t._errorHandler(s)}t._loadData()})),w(M(t),"_onMp4Error",(function(e){var r=t.playerConfig.vid;console.error("[Index] _onMp4Error",r,e),t._errorHandler(e)})),w(M(t),"_loadDataSuccess",(function(e){if(!t.isDestroy&&t.mse){t.log("[loadFragment] _loadDataSuccess ",JSON.stringify(e.context.range),",dataLen,",e.buffer?e.buffer.byteLength:0,e.state);try{e.initSeg&&(t._appendInitSeg(e.initSeg),(!e.buffer||e.buffer.byteLength<1)&&(t.log("no data, must load data"),t._onTimeUpdate()));var r=e.buffer,n=e.state,i=e.context;if(t.mse&&n&&(!r||r.byteLength<=0)&&i.fragIndex===t.mp4.timeRange.length-1){var a=t.player.buffered;a&&a.length>0&&(t.bufferEndTime=a.end(a.length-1)),t._isEnded(),t.log("loaded ended !!!==>>>",JSON.stringify(i.range),", fragIndex,",i.fragIndex,", bufferEndTime,",t.bufferEndTime,",meta_duration,",t.mp4.meta.duration)}if(t.mse&&n&&i.fragIndex===t.mp4.timeRange.length-1&&(!r||r.byteLength<=0)){var s=t.player.buffered;s&&s.length>0&&(t.bufferEndTime=s.end(s.length-1)),t._isEnded(),t.log("load ended !!!==>>>",t.playerConfig.vid,JSON.stringify(i.range),", fragIndex,",i.fragIndex,", bufferEndTime,",t.bufferEndTime,",meta_duration,",t.mp4.meta.duration)}r&&t.mse&&r&&r.byteLength>0&&t._appendBuffer(yr.VIDEO,r,i,n)}catch(u){console.error("appendBuffer error: ",u),t.log("appendBuffer error",u);var o=new p.Errors(t.player,{errorType:"runtime",errorTypeCode:qr.runtime,errorCode:zr.mse,vid:t.player.config.vid,errorMessage:u.message,mediaError:{code:zr.mse,message:u.message}});t._errorHandler(o)}null!=e&&e.state&&t._onTimeUpdate()}})),w(M(t),"_onWaiting",(function(){var e=M(t),r=e.player,n=e.config;clearTimeout(t._waitInBufferTimer),t._waitInBufferTimer=null;var i=r.currentTime,a=r.bufferedPoint;a.end>0&&a.end-r.currentTime>=2&&t._waitAdjustTimeCnt<n.waitJampBufferMaxCnt&&(t._waitInBufferTimer=setTimeout((function(){t._waitAdjustTimeCnt++,r.currentTime=r.currentTime+.5,t.log("[waitInBufferTimeout], waitAdjustTimeCnt,",t._waitAdjustTimeCnt,",curtime,",i,Gr.nowTime())}),n.waitingInBufferTimeOut))})),w(M(t),"_onSeeking",b(g().mark((function e(){var r,n,i,a,s,o,u,c,l,d,h;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=M(t),n=r.player,i=r.mp4,a=n.currentTime,t.log("[seekTime], curTime,",a,",buffer,",n.buffered2.bufferedList),i&&i.meta){e.next=5;break}return e.abrupt("return");case 5:if(t.endofstream=!1,i.bufferLoadedPos=-1,i._metaLoading=!1,s=n.bufferedPoint,o=!1,u=0,!(s.end>0)){e.next=25;break}if(o=!0,!(i.meta.duration-s.end<.5)){e.next=17;break}return t._startProgress(),t.log("[seeking in buffered range], buffer end,",s.end,", duration,",i.meta.duration),e.abrupt("return");case 17:if(u=i.getFragmentIdx(s.end),t._curLoadSegmentIdx!==u){e.next=22;break}return t._startProgress(),t.log("[seeking in buffered range], seek fragIndex is current load segmentIdx",u),e.abrupt("return");case 22:i.seekTime=s.end,u<0&&(u=t._curLoadSegmentIdx),t.log("[seeking in buffered range], seekTime ",a,",bufferRange,",s.start,"-",s.end,", fragIndex,",u);case 25:return o||(i.seekTime=a,(u=i.getFragmentIdx(a))<0&&(u=t._curLoadSegmentIdx),t.log("[seekTime out buffer range], curTime,",a,", Idx,",u),c=M(t),(l=c.mse)&&l.isFull()&&(d=n.buffered2.bufferedList,h=d[d.length-1],l.clearOpQueues(yr.VIDEO),t._checkRemoveSourceBuffer([h.start,h.end],n.currentTime,!0,!0))),e.next=28,i.cancelLoading();case 28:i.resetFragmentLoadState(u),t._curLoadSegmentIdx=u,t._onTimeUpdate(),t._startProgress(),t._isEnded();case 33:case"end":return e.stop()}}),e)})))),w(M(t),"changeDefineCanPlay",(function(e,r,n,i){var a=M(t).player;a.ended?a.currentTime=0:(t.log("[oldChangeDefinition],this._changeDefState,",t._changeDefState),a.currentTime=t._changeDefState?t._changeDefState.currentTime:e,(t._changeDefState?t._changeDefState.paused:r)?a.pause():a.play(),t._changeDefState=null,a.emit(p.Events.AFTER_DEFINITION_CHANGE,{from:n,to:i}))})),w(M(t),"changeDefinition",function(){var e=b(g().mark((function e(r,n){var i,a,s,o,u,c,l,d,h,f,v,y;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=M(t),a=i.player,s=i.config,o=i.mp4,n||(n=a.curDefinition),t._MSEError=!1,u=a.definitionList,c=null,l=0;case 6:if(!(l<u.length)){e.next=14;break}if((d=u[l].definition)!==r.definition&&d!==Number(r.definition)){e.next=11;break}return c=u[l],e.abrupt("break",14);case 11:l++,e.next=6;break;case 14:if(c){e.next=17;break}return console.error("there is no definition for ",r),e.abrupt("return");case 17:if(!s.witchBitRateWay){e.next=20;break}return t.oldChangeDefinition(c,n),e.abrupt("return");case 20:if(!t.useVideoLoad){e.next=23;break}return bn.call(t.player,c,n),e.abrupt("return");case 23:if(a.emit(p.Events.DEFINITION_CHANGE,{from:n,to:c}),h=a.currentTime,(f=o.getFragmentIdx(h))<0&&(f=t._curLoadSegmentIdx),t.log("switchBitrate:point,fragIndex,",f,",startTime,",o.timeRange[f].startTime,",currentTime,",a.currentTime),!o){e.next=33;break}return t.mp4.changeBitRateTime=h,e.next=32,o.cancelLoading();case 32:o._metaLoading&&(o._metaLoading=!1);case 33:return t._removeBuffeEndTime=o.timeRange[f].startTime,t._isChangeDefinition=!0,(v=a.getBufferedRange(a.buffered))[1]>0&&v[1]-a.currentTime>5&&(t.mse.clearOpQueues(yr.VIDEO),t.mse.remove(yr.VIDEO,a.currentTime+5,v[1])),t.log("switchBitrate: resetFragmentLoadState,",f),o.resetFragmentLoadState(f),t._curLoadSegmentIdx=f,t._handlerUrl(c.url),a.config.url=c.url,y=m(m({},c),{},{url:t.config._mainURL}),e.next=45,t.mp4.changeBitRate(y);case 45:t._onTimeUpdate(),a.emit("RESOLUTION_UPDATE",y);case 47:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()),w(M(t),"_replayHook",(function(){var e;return null===(e=t.player)||void 0===e||e.play(),!1})),w(M(t),"_retryHook",(function(){return t.beforePlayerInit(),!1})),w(M(t),"_errorMiddleware",(function(e,r){var n=(e||{}).error,i=(t.player||{}).video;n&&n.message&&n.message.indexOf("CHUNK_DEMUXER_ERROR_APPEND_FAILED")>-1||i&&!t.useVideoLoad&&function(e){return e.media&&(e=e.media),!!(e&&e instanceof HTMLMediaElement)&&(/^blob/.test(e.currentSrc)||/^blob/.test(e.src))}(i)?t._errorHandler(n):r(e.eventName,null==e?void 0:e.error)})),t.compatibleConfig(t.playerConfig),t.mp4=null,t.mse=null,t._waitAdjustTimeCnt=0,t._lastCheckTime=Gr.nowTime(),t._removeBuffeEndTime=0,t._pendingPromises=[],t}return T(a,[{key:"compatibleConfig",value:function(e){for(var t=Object.keys(e),r=null,n=0;n<t.length;n++){var i=t[n].toLowerCase();if("mp4player"===i||"m4aplayer"===i){r=e[t[n]];break}}r&&(this.config=m(m({},this.config),r));var a=this.config,s=a.reqOptions,o=a.headers;!o||s&&s.headers||(this.config.reqOptions=m(m({},s),{},{headers:o}))}},{key:"afterCreate",value:function(){var e=this;window.__mp4player=this;try{p.BasePlugin.defineGetterOrSetter(this.player,{__url:{get:function(){try{return e.mse?e.mse.url:e.config.url}catch(t){return console.error(t),null}}}})}catch(t){console.error(t)}this._proxyPlayer()}},{key:"attachEvents",value:function(){this.off(p.Events.SEEKING,this._onSeeking),this.on(p.Events.SEEKING,this._onSeeking),this.on(p.Events.WAITING,this._onWaiting),this.off(p.Events.URL_CHANGE,this.switchURL),this.on(p.Events.URL_CHANGE,this.switchURL)}},{key:"detachEvents",value:function(){this.off(p.Events.SEEKING,this._onSeeking),this.off(p.Events.WAITING,this._onWaiting),this.off(p.Events.URL_CHANGE,this.switchURL)}},{key:"_proxyPlayer",value:function(){var e=this;"function"==typeof this.player.playNext&&(yn=this.player.playNext),this.player.playNext=function(){e.playNext.apply(e,arguments)},_n=this.player._startInit,kn=this.player.switchURL,bn=this.player.changeDefinition,this.player._startInit=this._playerStartInit.bind(this),this.player.switchURL=this.switchURL.bind(this),this.player.changeDefinition=this.changeDefinition.bind(this),this.player.useHooks("replay",this._replayHook),this.player.useHooks("retry",this._retryHook),this.player.setEventsMiddleware({error:this._errorMiddleware})}},{key:"_playerStartInit",value:function(e){var t=this,r=this.config,n=this.playerConfig;void 0===r.supportHevc&&null!==p.Sniffer&&void 0!==p.Sniffer&&p.Sniffer.isHevcSupported&&p.Sniffer.isHevcSupported()&&(r.supportHevc=!0),this._handlerUrl(n.url);var i=this.initMp4();this._initPromise=i,this._addPendingPromise(this._initPromise),this.mse&&"String"===p.Util.typeOf(e)&&/^blob/.test(e)&&e!==this.mse.url&&(e=n.url),i.then((function(){t.mse&&(e=t.mse.url),t.attachEvents(),t._startProgress()})).catch((function(r){console.error(r);var n=!!t._initPromise&&t._initPromise.isBreak;if(!t.isDestroy&&!n){var i=r;i.errorCode||((i=new p.Errors(t.player,{errorType:qr.RUNTIME,errorCode:(null==r?void 0:r.errorCode)||zr.other,vid:t.playerConfig.vid,errorMessage:(null==r?void 0:r.errorMessage)||(null==r?void 0:r.message),mediaError:{code:(null==r?void 0:r.httpCode)||zr.other,message:(null==r?void 0:r.errorMessage)||(null==r?void 0:r.message),errorType:null==r?void 0:r.errorType}})).url=e),t.useVideoLoad=!0,t.player.vtype="MP4_1",t.player.emit("playCatch",t.player.vtype,i)}})).finally((function(){if(t._initPromise){var r=t._initPromise.isBreak;r||(t._initPromise&&t._removePendingPromise(t._initPromise),t._initPromise=null,!t.isDestroy&&!r&&_n.call(t.player,e))}}))}},{key:"initMp4",value:function(){var e=this,t=this.player,r=this.config;t.config.vid||(t.config.vid=Date.now());var n=new gn;this.mp4&&(this.mp4.off(dn,this._onMp4MetaReady),this.mp4.off(ln,this._onMp4Error),this.mp4.off(hn,this._onMp4DataCallBack),this.mp4.destroy(),this.mp4=null);var i=r._mainURL;return this.mp4=new pn(i,m(m({},this.config),{},{vid:t.config.vid})),this.mp4.on(dn,this._onMp4MetaReady),this.mp4.on(ln,this._onMp4Error),this.mp4.on(hn,this._onMp4DataCallBack),this.mp4.on(fn,(function(t){e._curLoadSegmentIdx=t,e.log("[update curLoadSegmentIdx]",t)})),this.mp4.init(),n}},{key:"_handlerUrl",value:function(e){var t,r=this.config,n=this.playerConfig,i=[];if("String"===p.Util.typeOf(e))t=e,n.backupURL&&i.push(n.backupURL);else if("Array"===p.Util.typeOf(e)&&e.length>0&&(t=e[0].src,e.length>1))for(var a=1;a<e.length;a++)i.push(e[a].src);if(!t&&0===i.length)return!1;r._mainURL=t,r._backupURL=i}},{key:"setConfig",value:function(e){this.config=Object.assign(this.config,e)}},{key:"playNext",value:function(e){var t=this.player;this._defInited=!1,t.resetState(),t._currentTime=0,t._duration=0,t.isPlaying=!1,this._MSEError=!1,t.pause(),this._reset(),t.setConfig(e),this.log("[Index] playNext",e),t.play(),this.emit("playnext")}},{key:"checkDegrade",value:function(e){return!this.config.closeDowngrade||"networkError"===e.httpCode}},{key:"_errorHandler",value:function(e){var t,r,n=this.player,i=this.config,a=this.playerConfig;if(n&&!this.useVideoLoad){var s=i._backupURL;if(s&&s.length>0){var o=s[0];return this.mp4.update(o),this.mp4.restart(),void s.splice(0,1)}!e.url&&null!==(t=this.mp4)&&void 0!==t&&t.url&&(e.url=this.mp4.url);var u=n.paused;if(console.error("final error !!!!, ",i.vid,e,null===(r=this.player.video)||void 0===r?void 0:r.error),this.player.vtype="MP4_2",this.player.emit("playCatch",this.player.vtype,e),this.checkDegrade(e)){this._initPromise&&this._removeAndRejectInitPromise(e),this._reset();var c=this.mp4?this.mp4.url:a.url;this._startDegradedPlayback(e,u,c)}else{this.player.pause(),this._reset();var l=n.currentTime;this.destroyMSE(),n.currentTime=l,this.emit("error",e)}}}},{key:"_startDegradedPlayback",value:function(e,t,r){var n=this,i=this.player,a=this.playerConfig;this.useVideoLoad=!0,this.destroyMSE(),this._currentTime=i._currentTime,this.__onmetadataHandle=function(){n._currentTime&&(i.currentTime=n._currentTime),t?n.player.pause():n.player.play(),(i.media||i.video).removeEventListener("loadedmetadata",n.__onmetadataHandle),n.__onmetadataHandle=null};var s=i.media||i.video;s.addEventListener("loadedmetadata",this.__onmetadataHandle),Jr(s),a.url=r,Xr(i,r)}},{key:"_addPendingPromise",value:function(e){this._pendingPromises.push(e)}},{key:"_removePendingPromise",value:function(e){var t=this._pendingPromises.indexOf(e);t>-1&&this._pendingPromises.splice(t,1)}},{key:"_cancelPendingPromises",value:function(){this._pendingPromises.length>0&&this._pendingPromises.forEach((function(e){e.reject("DESTROYED")})),this._pendingPromises=[]}},{key:"_removeAndRejectInitPromise",value:function(e){this._initPromise&&(this._removePendingPromise(this._initPromise),this._initPromise.reject(e))}},{key:"_initMse",value:(n=b(g().mark((function e(t){var r,n,i,a,s,o=this;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.mse){e.next=4;break}return e.next=3,this.mse.unbindMedia();case 3:this.mse=null;case 4:r=this.mp4&&this.mp4.checkCodecH265(),n=!!t.videoCodec,i=!!t.audioCodec,a=n&&i?r?'video/mp4; codecs="hev1.1.6.L93.B0, mp4a.40.5"':'video/mp4; codecs="avc1.64001E, mp4a.40.5"':n?r?'video/mp4; codecs="hev1.1.6.L93.B0"':'video/mp4; codecs="avc1.64001E"':'video/mp4; codecs="mp4a.40.5"',s=w({},yr.VIDEO,{mimeType:"video/mp4",codec:a}),this.mse=new yr,this.mse.bindMedia(this.player.video).then((function(){var e=Object.keys(s);try{for(var t=0;t<e.length;t++){var r=e[t];o.mse.createSource(r,s[r].codec)}}catch(n){console.error("MSE error: ",n),o._errorHandler(n)}o._isMseInit=!0,o._onTimeUpdate()}));case 12:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"destroyMSE",value:(r=b(g().mark((function e(){var t;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null===(t=this.mse)||void 0===t?void 0:t.unbindMedia();case 2:this.mse=null;case 3:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"_onTimeUpdate",value:function(){var e=this,t=this.mse,r=this.mp4,n=this.player,i=this.config;if(r){var a=r.timeRange,s=n.getBufferedRange(n.buffered2);if(t&&r&&r.canDownload){Gr.nowTime()-this._lastCheckTime>1e3&&(this._lastCheckTime=Gr.nowTime(),this._loadStuckCheck(),this._checkRemoveSourceBuffer(s,n.currentTime));var o=n.paused?n.currentTime+i.minBufferLength:n.currentTime+i.maxBufferLength;s[1]-o<0&&a.every((function(t,r){return!!t.downloaded||(!e._isChangeDefinition&&t.endTime-t.startTime>1&&e._isInBuffer(t)?(t.downloaded=!0,t.isLoading=!0,e.log("onTimeUpdate, ".concat(r," download segment, has buffer"),t.startTime,t.endTime),!0):void(t.startTime-n.currentTime<i.maxBufferLength&&(e._curLoadSegmentIdx=r,e.log("[onTimeUpdate],load index==>>>, ",r,",IdxTimeRange, ",t.startTime,"-",t.endTime,",buffEnd, ",s[1],",playCurTime,",n.currentTime,", bufferLen,",s[1]-n.currentTime,",bufferRangeList,",e.player.buffered2?e.player.buffered2.bufferedList:null),e._loadData())))})),this._isEnded()}this.checkRemoveOldBitrateBuffer()}}},{key:"checkRemoveOldBitrateBuffer",value:function(){var e=this.mse,t=this.player;e&&this._removeBuffeEndTime>0&&t.currentTime>this._removeBuffeEndTime+1&&(this.log("remove old bitrate buffer",this._removeBuffeEndTime),e.remove(yr.VIDEO,0,this._removeBuffeEndTime-1),this._removeBuffeEndTime=0)}},{key:"_isInBuffer",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=!1,n=this.player.video.buffered,i=0;i<n.length;i++){var a=n.start(i)-t,s=n.end(i)+t;if(a<=e.startTime&&e.endTime<=s){r=!0;break}}return r}},{key:"_loadData",value:(t=b(g().mark((function e(){return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.mp4&&this._isMseInit){e.next=3;break}return this.log("loadData, player.mp4 null",this._isMseInit),e.abrupt("return");case 3:return e.prev=3,e.next=6,this.mp4.load(this._curLoadSegmentIdx,this._loadDataSuccess);case 6:e.next=12;break;case 8:e.prev=8,e.t0=e.catch(3),console.error("[Index] _loadData error",this.playerConfig.vid,e.t0),this._errorHandler(e.t0);case 12:case"end":return e.stop()}}),e,this,[[3,8]])}))),function(){return t.apply(this,arguments)})},{key:"_appendInitSeg",value:function(e){var t=this;this.mp4&&this.mse&&this.mse.append(yr.VIDEO,e,{vid:this.playerConfig.vid,range:null,dataLen:e.byteLength,isinit:!0}).then((function(e){t.log("appendInitSeg end ==>>>",e.context?e.context:null,", costTime,",e.costtime)}))}},{key:"_appendBuffer",value:function(e,t){var r=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0,a=this.mse,s=this.config;a.append(e,t,{vid:s.vid,fragIndex:n.fragIndex,range:n.range,dataLen:t.byteLength,state:i}).then((function(e){if(e&&(r.log("player appendBuffer end ==>>>",e.context?e.context:null,", costTime,",e.costtime,", opt,",e.name,",bufferRange,",r.player.getBufferedRange()),r.mse&&n.state&&n.fragIndex===r.mp4.timeRange.length-1)){var t=r.player.buffered;t&&t.length>0&&(r.bufferEndTime=t.end(t.length-1)),r._isEnded(),r.log("loaded ended !!!==>>>",n.range,", fragIndex,",n.fragIndex,", bufferEndTime,",r.bufferEndTime,",meta_duration,",r.mp4.meta.duration)}})).catch((function(e){if(console.log("[MSE error]",e),e&&null!=a&&a.isFull()){var t=r.player.getBufferedRange(r.player.buffered2);r._checkRemoveSourceBuffer(t,r.player.currentTime,!0)}}))}},{key:"_checkRemoveSourceBuffer",value:function(e,t,r){var n=this,i=this.mse,a=this.mp4,s=this.player;if(i&&a&&s&&(r&&(clearTimeout(this._removeBufferTimer),this._removeBufferTimer=null),e||(e=s.getBufferedRange(s.buffered2)),t||(t=s.currentTime),!(!r&&Gr.nowTime()-this._checkRemoveBufferLastTime<=this.config.removeBufferLen||this.endofstream)&&(this._checkRemoveBufferLastTime=Gr.nowTime(),e&&e[0]>=0&&(t-e[0]>this.config.removeBufferLen||i.isFull())))){var o=e[1],u=a.getFragmentIdx(o);if(u>=0&&a.timeRange[u].startTime<t){var c=Math.floor(Math.min(a.timeRange[u].startTime,e[1]));e[0]<c?(this.log("[checkremoveSourceBuffer], remove range==>>>",e[0],c),i.remove(yr.VIDEO,e[0],c)):i.isFull()&&!this._removeBufferTimer&&(this._removeBufferTimer=setTimeout((function(){n._checkRemoveSourceBuffer(null,null,!0)}),1e4))}}}},{key:"_isEnded",value:function(){var e=this.player,t=this.mp4,r=e.bufferedPoint,n=r?r.end:0;return!this.endofstream&&this.mse&&t.meta.duration-e.currentTime<.5&&(this.log("[check player isEnded],deal mse.endOfStream, currentTime,",e.currentTime,", bufferend,",n,", duration,",t.meta.duration),this.endofstream=!0,this.mse.endOfStream()),!!(t&&t.meta&&t.meta.duration-e.currentTime<.5)&&(this._stopProgress(),this.log("[check player isEnded],stopProgress and endOfStream,currentTime, ",e.currentTime,", bufferend,",n,", duration,",t.meta.duration),this.mse&&this.mse.endOfStream(),!0)}},{key:"switchURL",value:function(e){if(this.useVideoLoad){var t=this.player,r=t.currentTime;Xr(t,e),t.once("canplay",(function(){t.currentTime=r})),t.play()}else this.changeDefinition(e)}},{key:"oldChangeDefinition",value:function(e,t){var r=this,n=this.config,i=this.player;this.log("[oldChangeDefinition],currentTime,",i.currentTime,",from,",t,",to,",e);var a=i.currentTime,s=i.paused;this._changeDefState||(this._changeDefState={currentTime:a,paused:s},this.log("[oldChangeDefinition],currentTime,",i.currentTime,",pause,",s)),i.config.url=e.url,n.focusUserDefinition=!0,i.currentTime=0,i.pause(),this._reset(),this._isMseInit=!1,this._changeDefineCanPlay&&i.off("canplay",this._changeDefineCanPlay),this._changeDefineCanPlay=function(){r.changeDefineCanPlay(a,s,t,e),r._changeDefineCanPlay=null},i.once("canplay",this._changeDefineCanPlay),this.player.video.load(),this.initMp4()}},{key:"_loadStuckCheck",value:function(){var e=this,t=this.config,r=this.player,n=this.playerConfig;t.disableBufferBreakCheck||(r.currentTime-(this._lastCurrentTime||0)>.1||r.paused?1!==this._bufferBreakFlag&&2!==this._bufferBreakFlag||(this.log("视频没有卡死,重置卡死标记"),this._bufferBreakFlag=0,clearTimeout(this._bufferBreakTimer),this._bufferBreakFlag=null):this._bufferBreakFlag||(this._bufferBreakFlag=1,this.log("卡死计时开始! 持续".concat(t.waitingTimeOut,"毫秒则确认卡死")),this._bufferBreakTimer=setTimeout((function(){e.isDestroy||(1===e._bufferBreakFlag&&(e._bufferBreakFlag=2,e.log("确认卡死!!!"),e._errorHandler(new p.Errors(e.player,{errorType:"runtime",errorTypeCode:qr.runtime,errorCode:zr.waitTimeout,errorMessage:"wait_timeout",vid:n.vid}))),e._bufferBreakTimer=null)}),t.waitingTimeOut)),this._lastCurrentTime=r.currentTime)}},{key:"isDestroy",get:function(){return!this.player}},{key:"_stopProgress",value:function(){this._hasStartProgress=!1,this._requestTimer&&(this._requestTimer.stop(),this._requestTimer=null),this._bufferBreakTimer&&(clearTimeout(this._bufferBreakTimer),this._bufferBreakTimer=null,this._bufferBreakFlag=void 0)}},{key:"_startProgress",value:function(){var e=this;this._hasStartProgress||(this._stopProgress(),this._requestTimer=new mn((function(){e._requestTimer&&e._onTimeUpdate()})),this._requestTimer.tickEvery(this.config.tickInSeconds),this._hasStartProgress=!0)}},{key:"log",value:function(e){for(var t=this.playerConfig,r=t&&t.vid?"[Index]".concat(t.vid," ").concat(e):"[Index] ".concat(e),n=arguments.length,i=new Array(n>1?n-1:0),a=1;a<n;a++)i[a-1]=arguments[a];cn.apply(void 0,[r].concat(i))}},{key:"_reset",value:function(){this._isMseInit=!1,this.endofstream=!1,this._curLoadSegmentIdx=0,this._removeBuffeEndTime=0,this._isChangeDefinition=!1,this._stopProgress(),this.mp4&&(this.mp4.off(dn,this._onMp4MetaReady),this.mp4.off(ln,this._onMp4Error),this.mp4.off(hn,this._onMp4DataCallBack),this.mp4.destroy(),this.mp4=null),this.mse&&(this.mse.unbindMedia(),this.mse=null),Jr(this.player.video)}},{key:"destroy",value:function(){var e=this.player;e.removeHooks("replay",this._replayHook),e.removeHooks("retry",this._retryHook),e.removeEventsMiddleware({error:this._errorMiddleware}),this.detachEvents(),this._reset(),this.player.playNext=yn,this.player._startInit=_n,this.player.changeDefinition=bn,this.player.switchURL=kn,this._bufferBreakTimer&&clearInterval(this._bufferBreakTimer),this._removeBufferTimer&&(clearTimeout(this._removeBufferTimer),this._removeBufferTimer=null),this._waitInBufferTimer&&(clearTimeout(this._waitInBufferTimer),this._waitInBufferTimer=null)}}],[{key:"pluginName",get:function(){return"mp4Plugin"}},{key:"defaultConfig",get:function(){return{maxBufferLength:40,minBufferLength:5,disableBufferBreakCheck:!1,waitingTimeOut:15e3,waitingInBufferTimeOut:5e3,waitJampBufferMaxCnt:3,tickInSeconds:.1,reqOptions:null,closeDowngrade:!1}}},{key:"version",get:function(){return"3.0.0-alpha.30"}}]),a}(p.BasePlugin);e.M4aPlayer=xn,e.default=xn,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
1
|
+
var __defProp=Object.defineProperty,__defNormalProp=(e,t,i)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,__publicField=(e,t,i)=>(__defNormalProp(e,"symbol"!=typeof t?t+"":t,i),i);!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("xgplayer")):"function"==typeof define&&define.amd?define(["exports","xgplayer"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Mp4Plugin={},e.Player)}(this,(function(e,t){"use strict";var i={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,i="~";function s(){}function r(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function n(e,t,s,n,a){if("function"!=typeof s)throw new TypeError("The listener must be a function");var o=new r(s,n||e,a),l=i?i+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],o]:e._events[l].push(o):(e._events[l]=o,e._eventsCount++),e}function a(e,t){0==--e._eventsCount?e._events=new s:delete e._events[t]}function o(){this._events=new s,this._eventsCount=0}Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(i=!1)),o.prototype.eventNames=function(){var e,s,r=[];if(0===this._eventsCount)return r;for(s in e=this._events)t.call(e,s)&&r.push(i?s.slice(1):s);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},o.prototype.listeners=function(e){var t=i?i+e:e,s=this._events[t];if(!s)return[];if(s.fn)return[s.fn];for(var r=0,n=s.length,a=new Array(n);r<n;r++)a[r]=s[r].fn;return a},o.prototype.listenerCount=function(e){var t=i?i+e:e,s=this._events[t];return s?s.fn?1:s.length:0},o.prototype.emit=function(e,t,s,r,n,a){var o=i?i+e:e;if(!this._events[o])return!1;var l,h,d=this._events[o],c=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),c){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,s),!0;case 4:return d.fn.call(d.context,t,s,r),!0;case 5:return d.fn.call(d.context,t,s,r,n),!0;case 6:return d.fn.call(d.context,t,s,r,n,a),!0}for(h=1,l=new Array(c-1);h<c;h++)l[h-1]=arguments[h];d.fn.apply(d.context,l)}else{var u,f=d.length;for(h=0;h<f;h++)switch(d[h].once&&this.removeListener(e,d[h].fn,void 0,!0),c){case 1:d[h].fn.call(d[h].context);break;case 2:d[h].fn.call(d[h].context,t);break;case 3:d[h].fn.call(d[h].context,t,s);break;case 4:d[h].fn.call(d[h].context,t,s,r);break;default:if(!l)for(u=1,l=new Array(c-1);u<c;u++)l[u-1]=arguments[u];d[h].fn.apply(d[h].context,l)}}return!0},o.prototype.on=function(e,t,i){return n(this,e,t,i,!1)},o.prototype.once=function(e,t,i){return n(this,e,t,i,!0)},o.prototype.removeListener=function(e,t,s,r){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return a(this,n),this;var o=this._events[n];if(o.fn)o.fn!==t||r&&!o.once||s&&o.context!==s||a(this,n);else{for(var l=0,h=[],d=o.length;l<d;l++)(o[l].fn!==t||r&&!o[l].once||s&&o[l].context!==s)&&h.push(o[l]);h.length?this._events[n]=1===h.length?h[0]:h:a(this,n)}return this},o.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&a(this,t)):(this._events=new s,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=i,o.EventEmitter=o,e.exports=o}(i);var s,r=i.exports,n={};Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){for(var t=0,i=arguments.length,s=Array(i>1?i-1:0),r=1;r<i;r++)s[r-1]=arguments[r];var n=!0,a=!1,o=void 0;try{for(var l,h=s[Symbol.iterator]();!(n=(l=h.next()).done);n=!0){var d=l.value;t+=d.length}}catch(v){a=!0,o=v}finally{try{!n&&h.return&&h.return()}finally{if(a)throw o}}var c=new e(t),u=0,f=!0,p=!1,m=void 0;try{for(var g,_=s[Symbol.iterator]();!(f=(g=_.next()).done);f=!0){var y=g.value;c.set(y,u),u+=y.length}}catch(v){p=!0,m=v}finally{try{!f&&_.return&&_.return()}finally{if(p)throw m}}return c};var a=((s=n)&&s.__esModule?s:{default:s}).default;const o="video",l="audio",h="metadata",d="avc",c="hevc",u="aac",f="g7110a",p="g7110m";class m{constructor(){__publicField(this,"id",1),__publicField(this,"type",o),__publicField(this,"codecType",d),__publicField(this,"pid",-1),__publicField(this,"hvcC"),__publicField(this,"codec",""),__publicField(this,"timescale",0),__publicField(this,"formatTimescale",0),__publicField(this,"sequenceNumber",0),__publicField(this,"baseMediaDecodeTime",0),__publicField(this,"baseDts",0),__publicField(this,"duration",0),__publicField(this,"warnings",[]),__publicField(this,"samples",[]),__publicField(this,"pps",[]),__publicField(this,"sps",[]),__publicField(this,"vps",[]),__publicField(this,"fpsNum",0),__publicField(this,"fpsDen",0),__publicField(this,"sarRatio",[]),__publicField(this,"width",0),__publicField(this,"height",0),__publicField(this,"nalUnitSize",4),__publicField(this,"present",!1),__publicField(this,"isVideoEncryption",!1),__publicField(this,"isAudioEncryption",!1),__publicField(this,"isVideo",!0),__publicField(this,"kid",null),__publicField(this,"pssh",null),__publicField(this,"ext")}reset(){this.sequenceNumber=this.width=this.height=this.fpsDen=this.fpsNum=this.duration=this.baseMediaDecodeTime=this.timescale=0,this.codec="",this.present=!1,this.pid=-1,this.pps=[],this.sps=[],this.vps=[],this.sarRatio=[],this.samples=[],this.warnings=[],this.hvcC=null}get firstDts(){return this.samples.length?this.samples[0].dts:null}get firstPts(){return this.samples.length?this.samples[0].pts:null}get samplesDuration(){if(this.samples.length>0){const e=this.samples[0],t=this.samples[this.samples.length-1];return t.dts-e.dts+t.duration}return 0}exist(){return!!(this.pps.length&&this.sps.length&&this.codec)}hasSample(){return!!this.samples.length}get isEncryption(){return this.isVideoEncryption}}class g{constructor(){__publicField(this,"id",2),__publicField(this,"type",l),__publicField(this,"codecType",u),__publicField(this,"pid",-1),__publicField(this,"codec",""),__publicField(this,"sequenceNumber",0),__publicField(this,"sampleDuration",0),__publicField(this,"timescale",0),__publicField(this,"formatTimescale",0),__publicField(this,"baseMediaDecodeTime",0),__publicField(this,"duration",0),__publicField(this,"warnings",[]),__publicField(this,"samples",[]),__publicField(this,"baseDts",0),__publicField(this,"sampleSize",16),__publicField(this,"sampleRate",0),__publicField(this,"channelCount",0),__publicField(this,"objectType",0),__publicField(this,"sampleRateIndex",0),__publicField(this,"config",[]),__publicField(this,"present",!1),__publicField(this,"isVideoEncryption",!1),__publicField(this,"isAudioEncryption",!1),__publicField(this,"kid",null),__publicField(this,"ext")}reset(){this.sequenceNumber=0,this.timescale=0,this.sampleDuration=0,this.sampleRate=0,this.channelCount=0,this.baseMediaDecodeTime=0,this.present=!1,this.pid=-1,this.codec="",this.samples=[],this.config=[],this.warnings=[]}exist(){return!!(this.sampleRate&&this.channelCount&&this.codec&&this.codecType===u)}hasSample(){return!!this.samples.length}get isEncryption(){return this.isAudioEncryption}get firstDts(){return this.samples.length?this.samples[0].dts:null}get firstPts(){return this.samples.length?this.samples[0].pts:null}get samplesDuration(){if(this.samples.length>0){const e=this.samples[0],t=this.samples[this.samples.length-1];return t.dts-e.dts+t.duration}return 0}}class _{constructor(e,t,i){__publicField(this,"flag",{}),__publicField(this,"keyframe",!1),__publicField(this,"gopId",0),__publicField(this,"duration",0),__publicField(this,"size",0),__publicField(this,"units",[]),__publicField(this,"chromaFormat",420),this.originPts=this.pts=e,this.originDts=this.dts=t,i&&(this.units=i)}get cts(){return this.pts-this.dts}setToKeyframe(){this.keyframe=!0,this.flag.dependsOn=2,this.flag.isNonSyncSample=0}}class y{constructor(e,t,i,s){__publicField(this,"duration",1024),__publicField(this,"flag",{dependsOn:2,isNonSyncSample:0}),__publicField(this,"keyframe",!0),this.originPts=this.pts=this.dts=e,this.data=t,this.size=t.byteLength,this.sampleOffset=s,i&&(this.duration=i)}}class v{constructor(){__publicField(this,"id",3),__publicField(this,"type",h),__publicField(this,"timescale",0),__publicField(this,"flvScriptSamples",[]),__publicField(this,"seiSamples",[])}exist(){return!(!this.flvScriptSamples.length&&!this.seiSamples.length||!this.timescale)}reset(){this.timescale=0,this.flvScriptSamples=[],this.seiSamples=[]}hasSample(){return!(!this.flvScriptSamples.length&&!this.seiSamples.length)}}const b="undefined"!=typeof window,T=b&&navigator.userAgent.toLocaleLowerCase();b&&/^((?!chrome|android).)*safari/.test(T);const S=b&&T.includes("firefox"),x=b&&T.includes("android");function E(...e){e=e.filter(Boolean);const t=new Uint8Array(e.reduce(((e,t)=>e+t.byteLength),0));let i=0;return e.forEach((e=>{t.set(e,i),i+=e.byteLength})),t}const w=Math.pow(2,32);function k(e,t=0){return(e[t]<<8)+(e[t+1]||0)}function R(e,t=0){return(e[t]<<24>>>0)+(e[t+1]<<16)+(e[t+2]<<8)+(e[t+3]||0)}function M(e,t=0){return R(e,t)*w+R(e,t+4)}function L(e){if(!Array.isArray(e)){const t=[];let i="";for(let s=0;s<e.length;s++)s%2&&(i=e[s-1]+e[s],t.push(parseInt(i,16)),i="");return t}return e.map((e=>parseInt(e,16)))}const I=class{static getRateIndexByRate(e){return I.FREQ.indexOf(e)}static parseADTS(e,t){const i=e.length;let s=0;for(;s+2<i&&(255!==e[s]||240!=(246&e[s+1]));)s++;if(s>=i)return;const r=s,n=[],a=(60&e[s+2])>>>2,o=I.FREQ[a];if(!o)throw new Error(`Invalid sampling index: ${a}`);const l=1+((192&e[s+2])>>>6),h=(1&e[s+2])<<2|(192&e[s+3])>>>6,{config:d,codec:c}=I._getConfig(a,h,l);let u,f,p=0;const m=I.getFrameDuration(o);for(;s+7<i;)if(255===e[s]&&240==(246&e[s+1])){if(f=(3&e[s+3])<<11|e[s+4]<<3|(224&e[s+5])>>5,i-s<f)break;u=2*(1&~e[s+1]),n.push({pts:t+p*m,data:e.subarray(s+7+u,s+f)}),p++,s+=f}else s++;return{skip:r,remaining:s>=i?void 0:e.subarray(s),frames:n,samplingFrequencyIndex:a,sampleRate:o,objectType:l,channelCount:h,codec:c,config:d,originCodec:`mp4a.40.${l}`}}static parseAudioSpecificConfig(e){if(!e.length)return;const t=e[0]>>>3,i=(7&e[0])<<1|e[1]>>>7,s=(120&e[1])>>>3,r=I.FREQ[i];if(!r)return;const{config:n,codec:a}=I._getConfig(i,s,t);return{samplingFrequencyIndex:i,sampleRate:r,objectType:t,channelCount:s,config:n,codec:a,originCodec:`mp4a.40.${t}`}}static getFrameDuration(e,t=9e4){return 1024*t/e}static _getConfig(e,t,i){const s=[];let r,n;return S?e>=6?(r=5,n=e-3):(r=2,n=e):x?(r=2,n=e):(r=2===i||5===i?i:5,n=e,e>=6?n=e-3:1===t&&(r=2,n=e)),s[0]=r<<3,s[0]|=(14&e)>>1,s[1]=(1&e)<<7,s[1]|=t<<3,5===r&&(s[1]|=(14&n)>>1,s[2]=(1&n)<<7,s[2]|=8,s[3]=0),{config:s,codec:`mp4a.40.${r}`}}static getSilentFrame(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}};let C=I;__publicField(C,"FREQ",[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350]);class P{static findBox(e,t,i=0){const s=[];if(!e)return s;let r=0,n="",a=0;for(;e.length>7;){if(r=R(e),n=String.fromCharCode.apply(null,e.subarray(4,8)),a=8,1===r?(r=M(e,8),a+=8):r||(r=e.length),!t[0]||n===t[0]){const o=e.subarray(0,r);if(!(t.length<2))return P.findBox(o.subarray(a),t.slice(1),i+a);s.push({start:i,size:r,headerSize:a,type:n,data:o})}i+=r,e=e.subarray(r)}return s}static tfhd(e){return D(e,!0,((e,t)=>{e.trackId=R(t);let i=4;const s=1&e.flags,r=2&e.flags,n=8&e.flags,a=16&e.flags,o=32&e.flags;s&&(i+=4,e.baseDataOffset=R(t,i),i+=4),r&&(e.sampleDescriptionIndex=R(t,i),i+=4),n&&(e.defaultSampleDuration=R(t,i),i+=4),a&&(e.defaultSampleSize=R(t,i),i+=4),o&&(e.defaultSampleFlags=R(t,i))}))}static sidx(e){return D(e,!0,((e,t)=>{let i=0;e.reference_ID=R(t,i),i+=4,e.timescale=R(t,i),i+=4,0===e.version?(e.earliest_presentation_time=R(t,i),i+=4,e.first_offset=R(t,i),i+=4):(e.earliest_presentation_time=M(t,i),i+=8,e.first_offset=M(t,i),i+=8),i+=2,e.references=[];const s=k(t,i);i+=2;for(let r=0;r<s;r++){const s={};e.references.push(s);let r=R(t,i);i+=4,s.reference_type=r>>31&1,s.referenced_size=2147483647&r,s.subsegment_duration=R(t,i),i+=4,r=R(t,i),i+=4,s.starts_with_SAP=r>>31&1,s.SAP_type=r>>28&7,s.SAP_delta_time=268435455&r}}))}static moov(e){return D(e,!1,((e,t,i)=>{e.mvhd=P.mvhd(P.findBox(t,["mvhd"],i)[0]),e.trak=P.findBox(t,["trak"],i).map((e=>P.trak(e))),e.pssh=P.pssh(P.findBox(t,["pssh"],i)[0])}))}static mvhd(e){return D(e,!0,((e,t)=>{let i=0;1===e.version?(e.timescale=R(t,16),e.duration=M(t,20),i+=28):(e.timescale=R(t,8),e.duration=R(t,12),i+=16),e.nextTrackId=R(t,i+76)}))}static trak(e){return D(e,!1,((e,t,i)=>{e.tkhd=P.tkhd(P.findBox(t,["tkhd"],i)[0]),e.mdia=P.mdia(P.findBox(t,["mdia"],i)[0])}))}static tkhd(e){return D(e,!0,((e,t)=>{let i=0;1===e.version?(e.trackId=R(t,16),e.duration=M(t,24),i+=32):(e.trackId=R(t,8),e.duration=R(t,16),i+=20),e.width=R(t,i+52),e.height=R(t,i+56)}))}static mdia(e){return D(e,!1,((e,t,i)=>{e.mdhd=P.mdhd(P.findBox(t,["mdhd"],i)[0]),e.hdlr=P.hdlr(P.findBox(t,["hdlr"],i)[0]),e.minf=P.minf(P.findBox(t,["minf"],i)[0])}))}static mdhd(e){return D(e,!0,((e,t)=>{let i=0;1===e.version?(e.timescale=R(t,16),e.duration=M(t,20),i+=28):(e.timescale=R(t,8),e.duration=R(t,12),i+=16);const s=k(t,i);e.language=String.fromCharCode(96+(s>>10&31),96+(s>>5&31),96+(31&s))}))}static hdlr(e){return D(e,!0,((e,t)=>{0===e.version&&(e.handlerType=String.fromCharCode.apply(null,t.subarray(4,8)))}))}static minf(e){return D(e,!1,((e,t,i)=>{e.vmhd=P.vmhd(P.findBox(t,["vmhd"],i)[0]),e.smhd=P.smhd(P.findBox(t,["smhd"],i)[0]),e.stbl=P.stbl(P.findBox(t,["stbl"],i)[0])}))}static vmhd(e){return D(e,!0,((e,t)=>{e.graphicsmode=k(t),e.opcolor=[k(t,2),k(t,4),k(t,6)]}))}static smhd(e){return D(e,!0,((e,t)=>{e.balance=k(t)}))}static stbl(e){return D(e,!1,((e,t,i)=>{var s,r,n;e.stsd=P.stsd(P.findBox(t,["stsd"],i)[0]),e.stts=P.stts(P.findBox(t,["stts"],i)[0]),e.ctts=P.ctts(P.findBox(t,["ctts"],i)[0]),e.stsc=P.stsc(P.findBox(t,["stsc"],i)[0]),e.stsz=P.stsz(P.findBox(t,["stsz"],i)[0]),e.stco=P.stco(P.findBox(t,["stco"],i)[0]),e.stco||(e.co64=P.co64(P.findBox(t,["co64"],i)[0]),e.stco=e.co64);const a=null==(n=null==(r=null==(s=e.stsd.entries[0])?void 0:s.sinf)?void 0:r.schi)?void 0:n.tenc.default_IV_size;e.stss=P.stss(P.findBox(t,["stss"],i)[0]),e.senc=P.senc(P.findBox(t,["senc"],i)[0],a)}))}static senc(e,t=8){return D(e,!0,((e,i)=>{let s=0;const r=R(i,s);s+=4,e.samples=[];for(let n=0;n<r;n++){const r={InitializationVector:[]};for(let e=0;e<t;e++)r.InitializationVector[e]=i[s+e];if(s+=t,2&e.flags){r.subsamples=[];const e=k(i,s);s+=2;for(let t=0;t<e;t++){const e={};e.BytesOfClearData=k(i,s),s+=2,e.BytesOfProtectedData=R(i,s),s+=4,r.subsamples.push(e)}}e.samples.push(r)}}))}static pssh(e){return D(e,!0,((e,t)=>{const i=[],s=[];let r=0;for(let a=0;a<16;a++)s.push(A(t[r+a]));if(r+=16,e.version>0){const e=R(t,r);r+=4;for(let s=0;s<(""+e).length;s++)for(let e=0;e<16;e++){const e=t[r];r+=1,i.push(A(e))}}const n=R(t,r);e.data_size=n,r+=4,e.kid=i,e.system_id=s,e.buffer=t}))}static stsd(e){return D(e,!0,((e,t,i)=>{e.entryCount=R(t),e.entries=P.findBox(t.subarray(4),[],i+4).map((e=>{switch(e.type){case"avc1":case"avc2":case"avc3":case"avc4":return P.avc1(e);case"hvc1":case"hev1":return P.hvc1(e);case"mp4a":return P.mp4a(e);case"alaw":case"ulaw":return P.alaw(e);case"enca":return D(e,!1,((e,t,i)=>{e.channelCount=k(t,16),e.samplesize=k(t,18),e.sampleRate=R(t,24)/65536,t=t.subarray(28),e.sinf=P.sinf(P.findBox(t,["sinf"],i)[0]),e.esds=P.esds(P.findBox(t,["esds"],i)[0])}));case"encv":return D(e,!1,((e,t,i)=>{e.width=k(t,24),e.height=k(t,26),e.horizresolution=R(t,28),e.vertresolution=R(t,32),t=t.subarray(78),e.sinf=P.sinf(P.findBox(t,["sinf"],i)[0]),e.avcC=P.avcC(P.findBox(t,["avcC"],i)[0]),e.hvcC=P.hvcC(P.findBox(t,["hvcC"],i)[0]),e.pasp=P.pasp(P.findBox(t,["pasp"],i)[0])}))}})).filter(Boolean)}))}static tenc(e){return D(e,!1,((e,t)=>{let i=6;e.default_IsEncrypted=t[i],i+=1,e.default_IV_size=t[i],i+=1,e.default_KID=[];for(let s=0;s<16;s++)e.default_KID.push(A(t[i])),i+=1}))}static schi(e){return D(e,!1,((e,t,i)=>{e.tenc=P.tenc(P.findBox(t,["tenc"],i)[0])}))}static sinf(e){return D(e,!1,((e,t,i)=>{e.schi=P.schi(P.findBox(t,["schi"],i)[0]),e.frma=P.frma(P.findBox(t,["frma"],i)[0])}))}static frma(e){return D(e,!1,((e,t)=>{e.data_format="";for(let i=0;i<4;i++)e.data_format+=String.fromCharCode(t[i])}))}static avc1(e){return D(e,!1,((e,t,i)=>{const s=F(e,t),r=t.subarray(s);i+=s,e.avcC=P.avcC(P.findBox(r,["avcC"],i)[0]),e.pasp=P.pasp(P.findBox(r,["pasp"],i)[0])}))}static avcC(e){return D(e,!1,((t,i)=>{t.data=e.data,t.configurationVersion=i[0],t.AVCProfileIndication=i[1],t.profileCompatibility=i[2],t.AVCLevelIndication=i[3],t.codec=function(e){let t,i="avc1.";for(let s=0;s<3;s++)t=e[s].toString(16),t.length<2&&(t=`0${t}`),i+=t;return i}([i[1],i[2],i[3]]),t.lengthSizeMinusOne=3&i[4],t.spsLength=31&i[5],t.sps=[];let s=6;for(let e=0;e<t.spsLength;e++){const e=k(i,s);s+=2,t.sps.push(i.subarray(s,s+e)),s+=e}t.ppsLength=i[s],s+=1,t.pps=[];for(let e=0;e<t.ppsLength;e++){const e=k(i,s);s+=2,t.pps.push(i.subarray(s,s+=e)),s+=e}}))}static hvc1(e){return D(e,!1,((e,t,i)=>{const s=F(e,t),r=t.subarray(s);i+=s,e.hvcC=P.hvcC(P.findBox(r,["hvcC"],i)[0]),e.pasp=P.pasp(P.findBox(r,["pasp"],i)[0])}))}static hvcC(e){return D(e,!1,((t,i)=>{t.data=e.data,t.codec="hev1.1.6.L93.B0",t.configurationVersion=i[0];const s=i[1];t.generalProfileSpace=s>>6,t.generalTierFlag=(32&s)>>5,t.generalProfileIdc=31&s,t.generalProfileCompatibility=R(i,2),t.generalConstraintIndicatorFlags=i.subarray(6,12),t.generalLevelIdc=i[12],t.avgFrameRate=k(i,19),t.numOfArrays=i[22],t.vps=[],t.sps=[],t.pps=[];let r=23,n=0,a=0,o=0;for(let e=0;e<t.numOfArrays;e++){n=63&i[r],a=k(i,r+1),r+=3;const e=[];for(let t=0;t<a;t++)o=k(i,r),r+=2,e.push(i.subarray(r,r+o)),r+=o;32===n?t.vps.push(...e):33===n?t.sps.push(...e):34===n&&t.pps.push(...e)}}))}static pasp(e){return D(e,!1,((e,t)=>{e.hSpacing=R(t),e.vSpacing=R(t,4)}))}static mp4a(e){return D(e,!1,((e,t,i)=>{const s=O(e,t);e.esds=P.esds(P.findBox(t.subarray(s),["esds"],i+s)[0])}))}static esds(e){return D(e,!0,((e,t)=>{e.codec="mp4a.";let i=0,s=0,r=0,n=0;for(;t.length;){for(i=0,n=t[i],s=t[i+1],i+=2;128&s;)r=(127&s)<<7,s=t[i],i+=1;if(r+=127&s,3===n)t=t.subarray(i+3);else{if(4!==n){if(5===n){const s=e.config=t.subarray(i,i+r);let n=(248&s[0])>>3;return 31===n&&s.length>=2&&(n=32+((7&s[0])<<3)+((224&s[1])>>5)),e.objectType=n,e.codec+=n.toString(16),void("."===e.codec[e.codec.length-1]&&(e.codec=e.codec.substring(0,e.codec.length-1)))}return void("."===e.codec[e.codec.length-1]&&(e.codec=e.codec.substring(0,e.codec.length-1)))}e.codec+=(t[i].toString(16)+".").padStart(3,"0"),t=t.subarray(i+13)}}}))}static alaw(e){return D(e,!1,((e,t)=>{O(e,t)}))}static stts(e){return D(e,!0,((e,t)=>{const i=R(t),s=[];let r=4;for(let n=0;n<i;n++)s.push({count:R(t,r),delta:R(t,r+4)}),r+=8;e.entryCount=i,e.entries=s}))}static ctts(e){return D(e,!0,((e,t)=>{const i=R(t),s=[];let r=4;if(1===e.version)for(let n=0;n<i;n++)s.push({count:R(t,r),offset:R(t,r+4)}),r+=8;else for(let n=0;n<i;n++)s.push({count:R(t,r),offset:-(1+~R(t,r+4))}),r+=8;e.entryCount=i,e.entries=s}))}static stsc(e){return D(e,!0,((e,t)=>{const i=R(t),s=[];let r=4;for(let n=0;n<i;n++)s.push({firstChunk:R(t,r),samplesPerChunk:R(t,r+4),sampleDescriptionIndex:R(t,r+8)}),r+=12;e.entryCount=i,e.entries=s}))}static stsz(e){return D(e,!0,((e,t)=>{const i=R(t),s=R(t,4),r=[];if(!i){let e=8;for(let i=0;i<s;i++)r.push(R(t,e)),e+=4}e.sampleSize=i,e.sampleCount=s,e.entrySizes=r}))}static stco(e){return D(e,!0,((e,t)=>{const i=R(t),s=[];let r=4;for(let n=0;n<i;n++)s.push(R(t,r)),r+=4;e.entryCount=i,e.entries=s}))}static co64(e){return D(e,!0,((e,t)=>{const i=R(t),s=[];let r=4;for(let n=0;n<i;n++)s.push(M(t,r)),r+=8;e.entryCount=i,e.entries=s}))}static stss(e){return D(e,!0,((e,t)=>{const i=R(t),s=[];let r=4;for(let n=0;n<i;n++)s.push(R(t,r)),r+=4;e.entryCount=i,e.entries=s}))}static moof(e){return D(e,!1,((e,t,i)=>{e.mfhd=P.mfhd(P.findBox(t,["mfhd"],i)[0]),e.traf=P.findBox(t,["traf"],i).map((e=>P.traf(e)))}))}static mfhd(e){return D(e,!0,((e,t)=>{e.sequenceNumber=R(t)}))}static traf(e){return D(e,!1,((e,t,i)=>{e.tfhd=P.tfhd(P.findBox(t,["tfhd"],i)[0]),e.tfdt=P.tfdt(P.findBox(t,["tfdt"],i)[0]),e.trun=P.trun(P.findBox(t,["trun"],i)[0])}))}static trun(e){return D(e,!0,((e,t)=>{const{version:i,flags:s}=e,r=t.length,n=e.sampleCount=R(t);let a=4;if(r>a&&1&s&&(e.dataOffset=-(1+~R(t,a)),a+=4),r>a&&4&s&&(e.firstSampleFlags=R(t,a),a+=4),e.samples=[],r>a){let r;for(let o=0;o<n;o++)r={},256&s&&(r.duration=R(t,a),a+=4),512&s&&(r.size=R(t,a),a+=4),1024&s&&(r.flags=R(t,a),a+=4),2048&s&&(r.cts=i?-(1+~R(t,a+4)):R(t,a),a+=4),e.samples.push(r)}}))}static tfdt(e){return D(e,!0,((e,t)=>{1===e.version?e.baseMediaDecodeTime=M(t):e.baseMediaDecodeTime=R(t)}))}static probe(e){return!!P.findBox(e,["ftyp"])}static parseSampleFlags(e){return{isLeading:(12&e[0])>>>2,dependsOn:3&e[0],isDependedOn:(192&e[1])>>>6,hasRedundancy:(48&e[1])>>>4,paddingValue:(14&e[1])>>>1,isNonSyncSample:1&e[1],degradationPriority:e[2]<<8|e[3]}}static moovToTrack(e,t,i){var s,r,n,a,o,l,h,d,u,m,g,_,y,v,b,T,S,x,E,w,k,R,M,L,I,P,B,F,O,D,A,U,N,z,j,H;const V=e.trak;if(!V||!V.length)return;const q=V.find((e=>{var t,i;return"vide"===(null==(i=null==(t=e.mdia)?void 0:t.hdlr)?void 0:i.handlerType)})),K=V.find((e=>{var t,i;return"soun"===(null==(i=null==(t=e.mdia)?void 0:t.hdlr)?void 0:i.handlerType)}));if(q&&t){const i=t,f=null==(s=q.tkhd)?void 0:s.trackId;null!=f&&(i.id=q.tkhd.trackId),i.tkhdDuration=q.tkhd.duration,i.mvhdDurtion=e.mvhd.duration,i.mvhdTimecale=e.mvhd.timescale,i.timescale=i.formatTimescale=q.mdia.mdhd.timescale,i.duration=q.mdia.mdhd.duration||i.mvhdDurtion/i.mvhdTimecale*i.timescale;const p=q.mdia.minf.stbl.stsd.entries[0];if(i.width=p.width,i.height=p.height,p.pasp&&(i.sarRatio=[p.pasp.hSpacing,p.pasp.vSpacing]),p.hvcC)i.codecType=c,i.codec=p.hvcC.codec,i.vps=p.hvcC.vps,i.sps=p.hvcC.sps,i.pps=p.hvcC.pps,i.hvcC=p.hvcC.data;else{if(!p.avcC)throw new Error("unknown video stsd entry");i.codec=p.avcC.codec,i.sps=p.avcC.sps,i.pps=p.avcC.pps}i.present=!0,i.ext={},i.ext.stss=null==(a=null==(n=null==(r=q.mdia)?void 0:r.minf)?void 0:n.stbl)?void 0:a.stss,i.ext.ctts=null==(h=null==(l=null==(o=q.mdia)?void 0:o.minf)?void 0:l.stbl)?void 0:h.ctts,p&&"encv"===p.type&&(i.isVideoEncryption=!0,p.default_KID=null==(u=null==(d=p.sinf)?void 0:d.schi)?void 0:u.tenc.default_KID,p.default_IsEncrypted=null==(g=null==(m=p.sinf)?void 0:m.schi)?void 0:g.tenc.default_IsEncrypted,p.default_IV_size=null==(y=null==(_=p.sinf)?void 0:_.schi)?void 0:y.tenc.default_IV_size,i.videoSenc=q.mdia.minf.stbl.senc&&q.mdia.minf.stbl.senc.samples,p.data_format=null==(b=null==(v=p.sinf)?void 0:v.frma)?void 0:b.data_format,i.useEME=e.useEME,i.kidValue=e.kidValue,i.pssh=e.pssh,i.encv=p)}if(K&&i){const t=i,s=null==(T=K.tkhd)?void 0:T.trackId;null!=s&&(t.id=K.tkhd.trackId),t.tkhdDuration=K.tkhd.duration,t.mvhdDurtion=e.mvhd.duration,t.mvhdTimecale=e.mvhd.timescale,t.timescale=t.formatTimescale=K.mdia.mdhd.timescale,t.duration=K.mdia.mdhd.duration||t.mvhdDurtion/t.mvhdTimecale*t.timescale;const r=K.mdia.minf.stbl.stsd.entries[0];switch(t.sampleSize=r.sampleSize,t.sampleRate=r.sampleRate,t.channelCount=r.channelCount,t.present=!0,r.type){case"alaw":t.codecType=t.codec=f,t.sampleRate=8e3;break;case"ulaw":t.codecType=t.codec=p,t.sampleRate=8e3;break;default:t.sampleDuration=C.getFrameDuration(t.sampleRate,t.timescale),t.sampleRateIndex=C.getRateIndexByRate(t.sampleRate),t.objectType=(null==(S=r.esds)?void 0:S.objectType)||2,r.esds&&(t.config=Array.from(r.esds.config)),t.codec=(null==(x=r.esds)?void 0:x.codec)||"mp4a.40.2"}t.sampleDuration=C.getFrameDuration(t.sampleRate,t.timescale),t.objectType=(null==(E=r.esds)?void 0:E.objectType)||2,r.esds&&(r.esds.config?t.config=Array.from(r.esds.config):console.warn("esds config is null")),t.codec=(null==(w=r.esds)?void 0:w.codec)||"mp4a.40.2",t.sampleRateIndex=C.getRateIndexByRate(t.sampleRate),t.ext={},t.ext.stss=null==(M=null==(R=null==(k=K.mdia)?void 0:k.minf)?void 0:R.stbl)?void 0:M.stss,t.ext.ctts=null==(P=null==(I=null==(L=K.mdia)?void 0:L.minf)?void 0:I.stbl)?void 0:P.ctts,t.present=!0,r&&"enca"===r.type&&(t.isAudioEncryption=!0,r.data_format=null==(F=null==(B=r.sinf)?void 0:B.frma)?void 0:F.data_format,r.default_KID=null==(D=null==(O=r.sinf)?void 0:O.schi)?void 0:D.tenc.default_KID,r.default_IsEncrypted=null==(U=null==(A=r.sinf)?void 0:A.schi)?void 0:U.tenc.default_IsEncrypted,r.default_IV_size=null==(z=null==(N=r.sinf)?void 0:N.schi)?void 0:z.tenc.default_IV_size,t.audioSenc=K.mdia.minf.stbl.senc&&K.mdia.minf.stbl.senc.samples,t.useEME=e.useEME,t.kidValue=e.kidValue,t.enca=r)}if(i&&(i.isVideoEncryption=!!t&&t.isVideoEncryption),t&&(t.isAudioEncryption=!!i&&i.isAudioEncryption),(null==t?void 0:t.encv)||(null==i?void 0:i.enca)){const e=null==(j=null==t?void 0:t.encv)?void 0:j.default_KID,s=null==(H=null==i?void 0:i.enca)?void 0:H.default_KID,r=e||s?(e||s).join(""):null;t&&(t.kid=r),i&&(i.kid=r)}return t&&(t.flags=3841),i&&(i.flags=1793),{videoTrack:t,audioTrack:i}}static evaluateDefaultDuration(e,t,i){var s;const r=null==(s=null==t?void 0:t.samples)?void 0:s.length;if(!r)return 1024;return 1024*r/t.timescale*e.timescale/i}static moofToSamples(e,t,i){const s={};return e.mfhd&&(t&&(t.sequenceNumber=e.mfhd.sequenceNumber),i&&(i.sequenceNumber=e.mfhd.sequenceNumber)),e.traf.forEach((({tfhd:e,tfdt:r,trun:n})=>{if(!e||!n)return;r&&(t&&t.id===e.trackId&&(t.baseMediaDecodeTime=r.baseMediaDecodeTime),i&&i.id===e.trackId&&(i.baseMediaDecodeTime=r.baseMediaDecodeTime));const a=e.defaultSampleSize||0,o=e.defaultSampleDuration||P.evaluateDefaultDuration(t,i,n.samples.length||n.sampleCount);let l=n.dataOffset||0,h=0,d=-1;if(!n.samples.length&&n.sampleCount){s[e.trackId]=[];for(let t=0;t<n.sampleCount;t++)s[e.trackId].push({offset:l,dts:h,duration:o,size:a}),h+=o,l+=a}else s[e.trackId]=n.samples.map(((e,t)=>((e={offset:l,dts:h,pts:h+(e.cts||0),duration:e.duration||o,size:e.size||a,gopId:d,keyframe:0===t||null!==e.flags&&void 0!==e.flags&&(65536&e.flags)>>>0!=65536}).keyframe&&(d++,e.gopId=d),h+=e.duration,l+=e.size,e)))})),s}static moovToSamples(e){var t,i,s,r,n;const a=e.trak;if(!a||!a.length)return;const o=a.find((e=>{var t,i;return"vide"===(null==(i=null==(t=e.mdia)?void 0:t.hdlr)?void 0:i.handlerType)})),l=a.find((e=>{var t,i;return"soun"===(null==(i=null==(t=e.mdia)?void 0:t.hdlr)?void 0:i.handlerType)}));if(!o&&!l)return;let h,d;if(o){const e=null==(i=null==(t=o.mdia)?void 0:t.minf)?void 0:i.stbl;if(!e)return;const{stts:s,stsc:r,stsz:n,stco:a,stss:l,ctts:d}=e;if(!(s&&r&&n&&a&&l))return;h=B(s,r,n,a,d,l)}if(l){const e=null==(r=null==(s=l.mdia)?void 0:s.minf)?void 0:r.stbl;if(!e)return;const t=null==(n=l.mdia.mdhd)?void 0:n.timescale,{stts:i,stsc:a,stsz:o,stco:h}=e;if(!(t&&i&&a&&o&&h))return;d=B(i,a,o,h)}return{videoSamples:h,audioSamples:d}}}function B(e,t,i,s,r,n){const a=[],o=null==r?void 0:r.entries,l=t.entries,h=s.entries,d=i.entrySizes,c=null==n?void 0:n.entries;let u,f,p;c&&(u={},c.forEach((e=>{u[e-1]=!0}))),o&&(f=[],o.forEach((({count:e,offset:t})=>{for(let i=0;i<e;i++)f.push(t)})));let m=-1,g=0,_=0,y=0,v=0,b=0,T=l[0].samplesPerChunk,S=l[1]?l[1].firstChunk-1:1/0;return e.entries.forEach((({count:e,delta:t})=>{for(let s=0;s<e;s++)p={dts:g,duration:t,size:d[_]||i.sampleSize,offset:h[y]+b,index:_},c&&(p.keyframe=u[_],p.keyframe&&m++,p.gopId=m),f&&_<f.length&&(p.pts=p.dts+f[_]),a.push(p),g+=t,_++,_<T?b+=p.size:(y++,b=0,y>=S&&(v++,S=l[v+1]?l[v+1].firstChunk-1:1/0),T+=l[v].samplesPerChunk)})),a}function F(e,t){return e.dataReferenceIndex=k(t,6),e.width=k(t,24),e.height=k(t,26),e.horizresolution=R(t,28),e.vertresolution=R(t,32),e.frameCount=k(t,40),e.depth=k(t,74),78}function O(e,t){return e.dataReferenceIndex=k(t,6),e.channelCount=k(t,16),e.sampleSize=k(t,18),e.sampleRate=R(t,24)/65536,28}function D(e,t,i){if(!e)return;if(e.size!==e.data.length)throw new Error(`box ${e.type} size !== data.length`);const s={start:e.start,size:e.size,headerSize:e.headerSize,type:e.type};return t&&(s.version=e.data[e.headerSize],s.flags=function(e,t=0){return(e[t]<<16)+(e[t+1]<<8)+(e[t+2]||0)}(e.data,e.headerSize+1),s.headerSize+=4),i(s,e.data.subarray(s.headerSize),s.start+s.headerSize),s}const A=function(...e){const t=[];return e.forEach((e=>{t.push(function(e,t,i){const s=String(i),r=t>>0;let n=Math.ceil(r/s.length);const a=[],o=String(e);for(;n--;)a.push(s);return a.join("").substring(0,r-o.length)+o}(Number(e).toString(16),2,0))})),t[0]};class U{constructor(){this.buffer=new Uint8Array(0)}write(...e){const t=this;e.forEach((e=>{e?t.buffer=function(e,...t){let i=0;t.forEach((function(e){i+=e.length}));const s=new e(i);let r=0;return t.forEach((function(e){s.set(e,r),r+=e.length})),s}(Uint8Array,t.buffer,e):window.console.warn(e)}))}static writeUint16(e){return new Uint8Array([e>>8&255,255&e])}static writeUint32(e){return new Uint8Array([e>>24,e>>16&255,e>>8&255,255&e])}}const N=class{static box(e,...t){const i=8+(t=t.filter(Boolean)).reduce(((e,t)=>e+t.byteLength),0),s=new Uint8Array(i);s[0]=i>>24&255,s[1]=i>>16&255,s[2]=i>>8&255,s[3]=255&i,s.set(e,4);let r=8;return t.forEach((e=>{s.set(e,r),r+=e.byteLength})),s}static ftyp(e){return e.find((e=>e.type===o&&e.codecType===c))?N.FTYPHEV1:N.FTYPAVC1}static initSegment(e){return E(N.ftyp(e),N.moov(e))}static pssh(e){const t=new Uint8Array([1,0,0,0].concat([16,119,239,236,192,178,77,2,172,227,60,30,82,226,251,75],[0,0,0,1],L(e.kid),[0,0,0,0]));return N.box(N.types.pssh,t)}static moov(e){if(e[0].useEME&&(e[0].encv||e[0].enca)){e[0].pssh||(e[0].pssh={kid:e[0].kid});const t=this.pssh(e[0].pssh);return N.box(N.types.moov,N.mvhd(e[0].mvhdDurtion||e[0].duration,e[0].mvhdTimecale||e[0].timescale),N.mvex(e),...e.map((e=>N.trak(e))),t)}return N.box(N.types.moov,N.mvhd(e[0].mvhdDurtion||e[0].duration,e[0].mvhdTimecale||e[0].timescale),...e.map((e=>N.trak(e))),N.mvex(e))}static mvhd(e,t=9e4){return N.box(N.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>24&255,t>>16&255,t>>8&255,255&t,e>>24&255,e>>16&255,e>>8&255,255&e,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}static trak(e){return N.box(N.types.trak,N.tkhd(e.id,e.tkhdDuration||0,e.width,e.height),N.mdia(e))}static tkhd(e,t,i=0,s=0){return N.box(N.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,e>>24&255,e>>16&255,e>>8&255,255&e,0,0,0,0,t>>24&255,t>>16&255,t>>8&255,255&t,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>8&255,255&i,0,0,s>>8&255,255&s,0,0]))}static mdia(e){return N.box(N.types.mdia,N.mdhd(e.duration,e.timescale),N.hdlr(e.type),N.minf(e))}static mdhd(e,t=9e4){return N.box(N.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>24&255,t>>16&255,t>>8&255,255&t,e>>24&255,e>>16&255,e>>8&255,255&e,85,196,0,0]))}static hdlr(e){return N.box(N.types.hdlr,N.HDLR_TYPES[e])}static minf(e){return N.box(N.types.minf,e.type===o?N.VMHD:N.SMHD,N.DINF,N.stbl(e))}static stbl(e){const t=[];e&&e.ext&&e.ext.stss&&t.push(N.stss(e.ext.stss.entries));return N.box(N.types.stbl,N.stsd(e),N.STTS,t[0],N.STSC,N.STSZ,N.STCO)}static stsd(e){let t;t="audio"===e.type?e.useEME&&e.enca?N.enca(e):N.mp4a(e):e.useEME&&e.encv?N.encv(e):N.avc1hev1(e);return N.box(N.types.stsd,new Uint8Array([0,0,0,0,0,0,0,1]),t)}static enca(e){const t=e.enca.channelCount,i=e.enca.sampleRate,s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,i>>8&255,255&i,0,0]),r=N.esds(e.config),n=N.sinf(e.enca);return N.box(N.types.enca,s,r,n)}static encv(e){const t=e.sps.length>0?e.sps[0]:[],i=e.pps.length>0?e.pps[0]:[],s=e.width,r=e.height,n=e.sarRatio[0],a=e.sarRatio[1],o=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,s>>8&255,255&s,r>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),l=new Uint8Array([1,t[1],t[2],t[3],255,225,t.length>>>8&255,255&t.length].concat(...t).concat([1,i.length>>>8&255,255&i.length]).concat(...i)),h=new Uint8Array([0,0,88,57,0,15,200,192,0,4,86,72]),d=N.sinf(e.encv),c=new Uint8Array([n>>24,n>>16&255,n>>8&255,255&n,a>>24,a>>16&255,a>>8&255,255&a]);return N.box(N.types.encv,o,N.box(N.types.avcC,l),N.box(N.types.btrt,h),d,N.box(N.types.pasp,c))}static schi(e){const t=new Uint8Array([]),i=N.tenc(e);return N.box(N.types.schi,t,i)}static tenc(e){const t=new Uint8Array([0,0,0,0,0,0,255&e.default_IsEncrypted,255&e.default_IV_size].concat(L(e.default_KID)));return N.box(N.types.tenc,t)}static sinf(e){const t=new Uint8Array([]),i=new Uint8Array([e.data_format.charCodeAt(0),e.data_format.charCodeAt(1),e.data_format.charCodeAt(2),e.data_format.charCodeAt(3)]),s=new Uint8Array([0,0,0,0,99,101,110,99,0,1,0,0]),r=N.schi(e);return N.box(N.types.sinf,t,N.box(N.types.frma,i),N.box(N.types.schm,s),r)}static avc1hev1(e){const t=e.codecType===c,i=t?N.types.hvc1:N.types.avc1,s=t?N.hvcC(e):N.avcC(e),r=[new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,e.width>>8&255,255&e.width,e.height>>8&255,255&e.height,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),s];return t?r.push(N.box(N.types.fiel,new Uint8Array([1,0]))):e.sarRatio&&e.sarRatio.length>1&&r.push(N.pasp(e.sarRatio)),N.box(i,...r)}static avcC(e){const t=[],i=[];let s;return e.sps.forEach((e=>{s=e.byteLength,t.push(s>>>8&255),t.push(255&s),t.push(...e)})),e.pps.forEach((e=>{s=e.byteLength,i.push(s>>>8&255),i.push(255&s),i.push(...e)})),N.box(N.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(...t).concat([e.pps.length]).concat(...i)))}static hvcC(e){const t=e.hvcC;if(t instanceof ArrayBuffer||t instanceof Uint8Array)return t;const{vps:i,sps:s,pps:r}=e;let n;if(t){const e=t.generalProfileCompatibilityFlags,a=t.generalConstraintIndicatorFlags,o=(i.length&&1)+(s.length&&1)+(r.length&&1);n=[1,t.generalProfileSpace<<6|t.generalTierFlag<<5|t.generalProfileIdc,e>>>24,e>>>16,e>>>8,e,a[0],a[1],a[2],a[3],a[4],a[5],t.generalLevelIdc,240,0,252,252|t.chromaFormatIdc,248|t.bitDepthLumaMinus8,248|t.bitDepthChromaMinus8,0,0,t.numTemporalLayers<<3|t.temporalIdNested<<2|3,o];const l=e=>{n.push(e.length>>8,e.length),n.push(...e)};i.length&&(n.push(160,0,i.length),i.forEach(l)),s.length&&(n.push(161,0,s.length),s.forEach(l)),r.length&&(n.push(162,0,r.length),r.forEach(l))}else n=[1,1,96,0,0,0,144,0,0,0,0,0,93,240,0,252,253,248,248,0,0,15,3,160,0,1,0,24,64,1,12,1,255,255,1,96,0,0,3,0,144,0,0,3,0,0,3,0,93,153,152,9,161,0,1,0,45,66,1,1,1,96,0,0,3,0,144,0,0,3,0,0,3,0,93,160,2,128,128,45,22,89,153,164,147,43,154,128,128,128,130,0,0,3,0,2,0,0,3,0,50,16,162,0,1,0,7,68,1,193,114,180,98,64];return N.box(N.types.hvcC,new Uint8Array(n))}static pasp([e,t]){return N.box(N.types.pasp,new Uint8Array([e>>24,e>>16&255,e>>8&255,255&e,t>>24,t>>16&255,t>>8&255,255&t]))}static mp4a(e){return N.box(N.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,e.sampleRate>>8&255,255&e.sampleRate,0,0]),e.config.length?N.esds(e.config):void 0)}static esds(e){const t=e.length;return N.box(N.types.esds,new Uint8Array([0,0,0,0,3,23+t,0,0,0,4,15+t,64,21,0,6,0,0,0,218,192,0,0,218,192,5].concat([t]).concat(e).concat([6,1,2])))}static mvex(e){return N.box(N.types.mvex,...e.map((e=>N.trex(e.id))))}static trex(e){return N.box(N.types.trex,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trex1(e){return N.box(N.types.trex,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e,0,0,0,1,0,0,2,0,0,0,0,0,0,1,0,0]))}static trex2(e){return N.box(N.types.trex,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e,0,0,0,1,0,0,4,0,0,0,0,0,2,0,0,0]))}static moof(e){return N.box(N.types.moof,N.mfhd(e[0].samples?e[0].samples[0].gopId:0),...e.map((e=>N.traf(e))))}static mfhd(e){return N.box(N.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e]))}static traf(e){const t=N.tfhd(e.id),i=N.tfdt(e,e.baseMediaDecodeTime);let s,r=0;if(e.isVideo&&e.videoSenc&&(s=e.videoSenc,s.forEach((function(e){r+=8,e.subsamples&&e.subsamples.length&&(r+=2,r+=6*e.subsamples.length)}))),e.videoSencLength=r,e.useEME&&(e.isVideoEncryption||e.isAudioEncryption)){if(e.isVideoEncryption){if(e.isVideo){const s=N.saiz(e),r=N.saio(e),n=N.trun1(e),a=N.senc(e);return N.box(N.types.traf,t,i,s,r,n,a)}if(e.isAudioEncryption){const s=N.sbgp(),r=N.saiz(e),n=N.saio(e),a=N.senc(e),o=N.trun1(e);return N.box(N.types.traf,t,i,s,r,n,a,o)}{const s=N.sbgp(),r=N.trun1(e);return N.box(N.types.traf,t,i,s,r)}}if(e.isVideo){const s=N.trun1(e);return N.box(N.types.traf,t,i,s)}{const s=N.sbgp(),r=N.saiz(e),n=N.saio(e),a=N.senc(e),o=N.trun1(e);return N.box(N.types.traf,t,i,s,r,n,a,o)}}{const s=N.sdtp(e),r=76;return N.box(N.types.traf,t,i,s,N.trun(e.samples,s.byteLength+r))}}static sdtp(e){const t=new U;return e.samples.forEach((i=>{t.write(new Uint8Array(e.isVideo?[i.keyframe?32:16]:[16]))})),N.box(N.types.sdtp,this.extension(0,0),t.buffer)}static trun1(e){const t=new U,i=U.writeUint32(e.samples.length);let s=null;if(e.isVideo){const t=e.videoSencLength;s=U.writeUint32(16*e.samples.length+t+149),!e.isVideoEncryption&&e.isAudioEncryption&&(s=U.writeUint32(16*e.samples.length+92))}else{let t=12*e.samples.length+124;e.isAudioEncryption&&(t=12*e.samples.length+8*e.audioSenc.length+177),s=U.writeUint32(t)}return e.samples.forEach((i=>{t.write(U.writeUint32(i.duration)),t.write(U.writeUint32(i.size)),t.write(U.writeUint32(i.keyframe?33554432:65536)),e.isVideo&&t.write(U.writeUint32(i.cts?i.cts:0))})),N.box(N.types.trun,this.extension(0,e.flags),i,s,t.buffer)}static senc(e){const t=new U,i=e.samples.length,s=e.isVideo?16:8,r=e.isVideo?2:0;let n=[],a=0;return e.isVideo?(n=e.videoSenc,a=e.videoSencLength):n=e.audioSenc,a=a||s*i,t.write(U.writeUint32(16+a),N.types.senc,this.extension(0,r)),t.write(U.writeUint32(i)),n.forEach((e=>{for(let i=0;i<e.InitializationVector.length;i++)t.write(new Uint8Array([e.InitializationVector[i]]));e.subsamples&&e.subsamples.length&&(t.write(U.writeUint16(e.subsamples.length)),e.subsamples.forEach((e=>{t.write(U.writeUint16(e.BytesOfClearData)),t.write(U.writeUint32(e.BytesOfProtectedData))})))})),t.buffer}static saio(e){let t=12*e.samples.length+141;!e.isVideo&&e.isAudioEncryption&&(t=149);const i=new Uint8Array([1,0,0,0,0,0,0,1,0,0,0,0,t>>24&255,t>>16&255,t>>8&255,255&t]);return N.box(N.types.saio,i)}static saiz(e){const t=e.samples.length,i=new Uint8Array([0,0,0,0,16,t>>24&255,t>>16&255,t>>8&255,255&t]);return N.box(N.types.saiz,i)}static sbgp(){const e=new Uint8Array([114,111,108,108,0,0,0,1,0,0,1,25,0,0,0,1]);return N.box(N.types.sbgp,this.extension(0,0),e)}static extension(e,t){return new Uint8Array([e,t>>16&255,t>>8&255,255&t])}static tfhd(e){return N.box(N.types.tfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e]))}static tfdt(e,t){const i=Math.floor(t/4294967296),s=Math.floor(t%4294967296);return e.useEME&&(e.isVideoEncryption||e.isAudioEncryption)?N.box(N.types.tfdt,new Uint8Array([0,0,0,0,s>>24,s>>16&255,s>>8&255,255&s])):N.box(N.types.tfdt,new Uint8Array([1,0,0,0,i>>24,i>>16&255,i>>8&255,255&i,s>>24,s>>16&255,s>>8&255,255&s]))}static trun(e,t){const i=e.length,s=12+16*i;t+=8+s;const r=new Uint8Array(s);r.set([0,0,15,1,i>>>24&255,i>>>16&255,i>>>8&255,255&i,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);for(let n=0;n<i;n++){const{duration:t,size:i,flag:s={},cts:a=0}=e[n];r.set([t>>>24&255,t>>>16&255,t>>>8&255,255&t,i>>>24&255,i>>>16&255,i>>>8&255,255&i,s.isLeading<<2|(null===s.dependsOn||void 0===s.dependsOn?1:s.dependsOn),s.isDependedOn<<6|s.hasRedundancy<<4|s.paddingValue<<1|(null===s.isNonSyncSample||void 0===s.isNonSyncSample?1:s.isNonSyncSample),61440&s.degradationPriority,15&s.degradationPriority,a>>>24&255,a>>>16&255,a>>>8&255,255&a],12+16*n)}return N.box(N.types.trun,r)}static moovMP4(e){return N.box(N.types.moov,N.mvhd(e[0].duration,e[0].timescale),...e.map((e=>N.trackMP4(e))))}static trackMP4(e){return N.box(N.types.trak,N.tkhd(e.id,e.duration,e.width,e.height),N.mdiaMP4(e))}static mdiaMP4(e){return N.box(N.types.mdia,N.mdhd(e.duration,e.timescale),N.hdlr(e.type),N.minfMP4(e))}static minfMP4(e){return N.box(N.types.minf,e.type===o?N.VMHD:N.SMHD,N.DINF,N.stblMP4(e))}static stblMP4(e){const{ext:t}=e,i=[N.stsd(e),N.stts(t.stts),N.stsc(t.stsc),N.stsz(t.stsz),N.stco(t.stco)];return t.stss.length&&i.push(N.stss(t.stss)),t.ctts.length&&i.push(N.ctts(t.ctts)),N.box(N.types.stbl,...i)}static stts(e){const t=e.length,i=new Uint8Array(8*t);let s=0;return e.forEach((({value:e,count:t})=>{i.set([t>>24,t>>16&255,t>>8&255,255&t,e>>24,e>>16&255,e>>8&255,255&e],s),s+=8})),N.box(N.types.stts,E(new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]),i))}static stsc(e){const t=e.length,i=new Uint8Array(12*t);let s=0;return e.forEach((({firstChunk:e,samplesPerChunk:t,sampleDescIndex:r})=>{i.set([e>>24,e>>16&255,e>>8&255,255&e,t>>24,t>>16&255,t>>8&255,255&t,r>>24,r>>16&255,r>>8&255,255&r],s),s+=12})),N.box(N.types.stsc,E(new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]),i))}static stsz(e){const t=e.length,i=new Uint8Array(4*t);let s=0;return e.forEach((e=>{i.set([e>>24,e>>16&255,e>>8&255,255&e],s),s+=4})),N.box(N.types.stsz,E(new Uint8Array([0,0,0,0,0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]),i))}static stco(e){const t=e.length,i=new Uint8Array(4*t);let s=0;return e.forEach((e=>{i.set([e>>24,e>>16&255,e>>8&255,255&e],s),s+=4})),N.box(N.types.stco,E(new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]),i))}static stss(e){const t=e.length,i=new Uint8Array(4*t);let s=0;return e.forEach((e=>{i.set([e>>24,e>>16&255,e>>8&255,255&e],s),s+=4})),N.box(N.types.stss,E(new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]),i))}static ctts(e){const t=e.length,i=new Uint8Array(8*t);let s=0;return e.forEach((({value:e,count:t})=>{i.set([t>>24,t>>16&255,t>>8&255,255&t,e>>24,e>>16&255,e>>8&255,255&e],s),s+=8})),N.box(N.types.ctts,E(new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]),i))}static styp(){return N.box(N.types.styp,new Uint8Array([109,115,100,104,0,0,0,0,109,115,100,104,109,115,105,120]))}static sidx(e){const t=e.timescale,i=e.samples[0].duration,s=i*e.samples.length,r=e.samples[0].sampleOffset*i;let n=8;e.samples.forEach((e=>{n+=e.size}));let a=0;if(e.isVideo){let t,i=0;e.videoSenc&&(t=e.videoSenc),e.isVideo&&t.forEach((e=>{i+=8,e.subsamples&&e.subsamples.length&&(i+=2,i+=6*e.subsamples.length)})),e.videoSencLength=i,a=n+141+16*e.samples.length+i,e.useEME&&e.isAudioEncryption&&!e.isVideoEncryption&&(a=n+16*e.samples.length+84)}else a=n+116+12*e.samples.length,e.useEME&&e.isAudioEncryption&&(a=n+169+12*e.samples.length+8*e.audioSenc.length);const o=new Uint8Array([0,0,0,0,0,0,0,255&e.id,t>>24&255,t>>16&255,t>>8&255,255&t,r>>24&255,r>>16&255,r>>8&255,255&r,0,0,0,0,0,0,0,1,0,a>>16&255,a>>8&255,255&a,s>>24&255,s>>16&255,s>>8&255,255&s,144,0,0,0]);return N.box(N.types.sidx,o)}static mdat(e){return N.box(N.types.mdat,e)}};let z=N;__publicField(z,"types",["avc1","avcC","hvc1","hvcC","dinf","dref","esds","ftyp","hdlr","mdat","mdhd","mdia","mfhd","minf","moof","moov","mp4a","mvex","mvhd","pasp","stbl","stco","stsc","stsd","stsz","stts","tfdt","tfhd","traf","trak","trex","tkhd","vmhd","smhd","ctts","stss","styp","pssh","sidx","sbgp","saiz","saio","senc","trun","encv","enca","sinf","btrt","frma","tenc","schm","schi","mehd","fiel","sdtp"].reduce(((e,t)=>(e[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)],e)),Object.create(null))),__publicField(z,"HDLR_TYPES",{video:new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),audio:new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0])}),__publicField(z,"FTYPAVC1",N.box(N.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]))),__publicField(z,"FTYPHEV1",N.box(N.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,104,101,118,49]))),__publicField(z,"DINF",N.box(N.types.dinf,N.box(N.types.dref,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1])))),__publicField(z,"VMHD",N.box(N.types.vmhd,new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]))),__publicField(z,"SMHD",N.box(N.types.smhd,new Uint8Array([0,0,0,0,0,0,0,0]))),__publicField(z,"StblTable",new Uint8Array([0,0,0,0,0,0,0,0])),__publicField(z,"STTS",N.box(N.types.stts,N.StblTable)),__publicField(z,"STSC",N.box(N.types.stsc,N.StblTable)),__publicField(z,"STSZ",N.box(N.types.stsz,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]))),__publicField(z,"STCO",N.box(N.types.stco,N.StblTable));const j=class{constructor(e,t){this.name=e||"",this._prefix=`[${this.name}]`,j.disabled=t}debug(...e){j.disabled||console.debug(this._prefix,...e)}log(...e){j.disabled||console.log(this._prefix,...e)}warn(...e){j.disabled||console.warn(this._prefix,...e)}error(...e){j.disabled||console.error(this._prefix,...e)}table(...e){j.disabled||(console.group(this._prefix),console.table(...e),console.groupEnd())}static enable(){j.disabled=!1}static disable(){j.disabled=!0}};let H=j;__publicField(H,"disabled",!0);class V{constructor(e,t,i){this.videoTrack=e,this.audioTrack=t;const s=/Chrome\/([^.]+)/.exec(navigator.userAgent);this.forceFirstIDR=s&&Number(s[1])<50,this.log=new H("FMP4Remuxer",!i||!i.openLog||!i.openLog)}remux(e=!1,t={}){const i=this.videoTrack,s=this.audioTrack,r=i.exist(),n=s.exist();let a,o,l;const h=[];let d,c;return e&&(t&&t.initMerge?(r&&h.push(this.videoTrack),n&&h.push(this.audioTrack),l=z.initSegment(h)):(r&&(a=z.initSegment([this.videoTrack])),n&&(o=z.initSegment([this.audioTrack])))),r&&i.hasSample()&&(d=this._remuxVideo()),n&&s.hasSample()&&(c=this._remuxAudio()),i.samples=[],s.samples=[],{initSegment:l,videoInitSegment:a,audioInitSegment:o,videoSegment:d,audioSegment:c}}_remuxVideo(){const e=this.videoTrack;this.forceFirstIDR&&(e.samples[0].flag={dependsOn:2,isNonSyncSample:0});const t=e.samples;let i=0;t.forEach((e=>{i+=e.units.reduce(((e,t)=>e+t.byteLength),0),i+=4*e.units.length}));const s=new Uint8Array(i),r=new DataView(s.buffer);for(let a,o=0,l=t.length,h=0;o<l;o++){a=t[o];let e=0;a.units.forEach((t=>{r.setUint32(h,t.byteLength),h+=4,s.set(t,h),h+=t.byteLength,e+=4+t.byteLength})),a.size=e}const n=z.mdat(s);return E(z.moof([e]),n)}_remuxAudio(){const e=this.audioTrack,t=new Uint8Array(e.samples.reduce(((e,t)=>e+t.size),0));e.samples.reduce(((e,i)=>(t.set(i.data,e),e+i.size)),0);const i=z.mdat(t);return E(z.moof([e]),i)}reset(){this.videoTrack.reset(),this.audioTrack.reset()}}class q{constructor(e,t,i,s){__publicField(this,"_videoSamples",[]),__publicField(this,"_audioSamples",[]),__publicField(this,"_lastRemainBuffer",[]),__publicField(this,"_lastRemainBufferStartPos",0),this.videoTrack=new m,this.audioTrack=new g,this.metadataTrack=i||new v,this.log=new H("MP4Demuxer",!s||!s.openLog||!s.openLog),e&&e.forEach((e=>{this._videoSamples.push(...e.frames)})),t&&t.forEach((e=>{this._audioSamples.push(...e.frames)}))}parseSamples(e){if(!e)throw new Error("moov is required");if(this.videoTrack.codec||this.audioTrack.codec||(P.moovToTrack(e,this.videoTrack,this.audioTrack),this.videoSenc=this.videoTrack.videoSenc,this.audioSenc=this.audioTrack.audioSenc),!this._audioSamples.length&&!this._videoSamples.length){const t=P.moovToSamples(e);if(!t)throw new Error("cannot parse samples from moov box");this._videoSamples=t.videoSamples||[],this._audioSamples=t.audioSamples||[]}}demux(e,t,i,s,r){this.parseSamples(r);const n=this.videoTrack,a=this.audioTrack;let o,l,h;if(n.samples=[],a.samples=[],i){let s,r=0;for(let a=i[0],d=i[1];a<=d;a++){if(o=this._videoSamples[a],!o)throw new Error(`cannot found video frame #${a}`);h=o.offset-t,l=e.subarray(h,h+o.size),s=new _(o.pts||o.dts,o.dts),s.duration=o.duration,s.gopId=o.gopId,o.keyframe&&s.setToKeyframe();let i=0;const d=l.length-1;for(;i<d;)r=R(l,i),i+=4,s.units.push(l.subarray(i,i+r)),i+=r;n.samples.push(s)}n.baseMediaDecodeTime=n.samples[0].dts}if(s){for(let i=s[0],r=s[1];i<=r;i++){if(o=this._audioSamples[i],!o)throw new Error(`cannot found video frame #${i}`);h=o.offset-t,l=e.subarray(h,h+o.size),a.samples.push(new y(o.dts,l,o.duration))}a.baseMediaDecodeTime=a.samples[0].dts}return{videoTrack:n,audioTrack:a,metadataTrack:this.metadataTrack}}demuxPart(e,t,i,s,r,n,a,o){if(this.parseSamples(r),this.videoTrack.useEME=n,this.audioTrack.useEME=n,this._lastRemainBuffer&&this._lastRemainBuffer.byteLength>0&&t>this._lastRemainBufferStartPos&&t<=this._lastRemainBufferStartPos+this._lastRemainBuffer.byteLength){let i=0;for(;i<20;)try{const i=this._lastRemainBuffer.subarray(0,t-this._lastRemainBufferStartPos),s=new Uint8Array(e.byteLength+i.byteLength);s.set(i,0),s.set(new Uint8Array(e),i.byteLength),e=s,t-=i.byteLength,this._lastRemainBuffer=null,this._lastRemainBufferStartPos=0;break}catch(g){if(!(i<20))throw new Error("new Uint8Array error:,"+g.errorMessage);i++}}const l=this.videoTrack,h=this.audioTrack;let d,c,u;l.samples=[],h.samples=[],l.videoSenc=null,h.audioSenc=null;let f=0,p=0;if(this._videoSamples.length>0&&i.length>0){let s;const r=e.byteLength+t;for(let n=i[0];n<=i[1];n++){if(d=this._videoSamples[n],!d)throw new Error(`cannot found video frame #${n}`);d.offset>=t&&d.offset+d.size<=r&&(u=d.offset-t,f=u+d.size,c=e.subarray(u,f),s=new _(d.pts||d.dts,d.dts),s.duration=d.duration,s.gopId=d.gopId,s.sampleOffset=d.index,d.keyframe&&s.setToKeyframe(),s.data=c,s.size=d.size,l.samples.push(s))}l.samples.length>0&&(l.gopId=l.samples[0].gopId,l.baseMediaDecodeTime=l.samples[0].dts,l.startPts=l.samples[0].pts/l.timescale,l.endPts=l.samples[l.samples.length-1].pts/l.timescale,this.videoSenc&&(l.videoSenc=this.videoSenc.slice(l.samples[0].sampleOffset,l.samples[0].sampleOffset+l.samples.length),l.kidValue=a))}if(this._audioSamples.length>0&&s.length>0){for(let i=s[0];i<=s[1];i++){if(d=this._audioSamples[i],!d)throw new Error(`cannot found video frame #${i}`);d.offset>=t&&d.offset+d.size<=e.byteLength+t&&(u=d.offset-t,p=u+d.size,c=e.subarray(u,p),h.samples.push(new y(d.dts,c,d.duration,d.index)))}h.samples.length>0&&(h.gopId=h.samples[0].gopId||l.gopId,h.baseMediaDecodeTime=h.samples[0].dts,h.startPts=h.samples[0].pts/h.timescale,h.endPts=h.samples[h.samples.length-1].pts/h.timescale,this.audioSenc&&(h.audioSenc=this.audioSenc.slice(h.samples[0].sampleOffset,h.samples[0].sampleOffset+h.samples.length),h.kidValue=a))}this.decoderData(l,h,o);let m=0;for(let _=0;_<l.samples.length;_++){let e=0;const t=l.samples[_].data,i=t.length-1;for(;e<i;)m=R(t,e),e+=4,l.samples[_].units.push(t.subarray(e,e+m)),e+=m}return this._lastRemainBuffer=e.subarray(Math.max(f,p)),this._lastRemainBuffer.byteLength>0?this._lastRemainBufferStartPos=t+e.byteLength-this._lastRemainBuffer.byteLength:this._lastRemainBufferStartPos=0,{videoTrack:l,audioTrack:h,metadataTrack:this.metadataTrack}}reset(){this._videoSamples=[],this._audioSamples=[],this._lastRemainBuffer=null,this._lastRemainBufferStartPos=0,this.videoTrack.reset(),this.audioTrack.reset(),this.metadataTrack.reset()}decoderData(e,t,i){!e.useEME&&t.useEME}static probe(e){return P.probe(e)}}class K{static create(...e){return new this(...e)}mixIn(e){return Object.assign(this,e)}clone(){const e=new this.constructor;return Object.assign(e,this),e}}class W extends K{constructor(e=[],t=4*e.length){super();let i=e;if(i instanceof ArrayBuffer&&(i=new Uint8Array(i)),(i instanceof Int8Array||i instanceof Uint8ClampedArray||i instanceof Int16Array||i instanceof Uint16Array||i instanceof Int32Array||i instanceof Uint32Array||i instanceof Float32Array||i instanceof Float64Array)&&(i=new Uint8Array(i.buffer,i.byteOffset,i.byteLength)),i instanceof Uint8Array){const e=i.byteLength,t=[];for(let s=0;s<e;s+=1)t[s>>>2]|=i[s]<<24-s%4*8;this.words=t,this.sigBytes=e}else this.words=e,this.sigBytes=t}static random(e){const t=[],i=e=>{let t=e,i=987654321;const s=4294967295;return()=>{i=36969*(65535&i)+(i>>16)&s,t=18e3*(65535&t)+(t>>16)&s;let e=(i<<16)+t&s;return e/=4294967296,e+=.5,e*(Math.random()>.5?1:-1)}};for(let s,r=0;r<e;r+=4){const e=i(4294967296*(s||Math.random()));s=987654071*e(),t.push(4294967296*e()|0)}return new W(t,e)}toString(e=Y){return e.stringify(this)}concat(e){const t=this.words,i=e.words,s=this.sigBytes,r=e.sigBytes;if(this.clamp(),s%4)for(let n=0;n<r;n+=1){const e=i[n>>>2]>>>24-n%4*8&255;t[s+n>>>2]|=e<<24-(s+n)%4*8}else for(let n=0;n<r;n+=4)t[s+n>>>2]=i[n>>>2];return this.sigBytes+=r,this}clamp(){const{words:e,sigBytes:t}=this;e[t>>>2]&=4294967295<<32-t%4*8,e.length=Math.ceil(t/4)}clone(){const e=super.clone.call(this);return e.words=this.words.slice(0),e}}const Y={stringify(e){const{words:t,sigBytes:i}=e,s=[];for(let r=0;r<i;r+=1){const e=t[r>>>2]>>>24-r%4*8&255;s.push((e>>>4).toString(16)),s.push((15&e).toString(16))}return s.join("")},parse(e){const t=e.length,i=[];for(let s=0;s<t;s+=2)i[s>>>3]|=parseInt(e.substr(s,2),16)<<24-s%8*4;return new W(i,t/2)}},$={stringify(e){const{words:t,sigBytes:i}=e,s=[];for(let r=0;r<i;r+=1){const e=t[r>>>2]>>>24-r%4*8&255;s.push(String.fromCharCode(e))}return s.join("")},parse(e){const t=e.length,i=[];for(let s=0;s<t;s+=1)i[s>>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;return new W(i,t)}},J={stringify(e){try{return decodeURIComponent(escape($.stringify(e)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:e=>$.parse(unescape(encodeURIComponent(e)))};class X extends K{constructor(){super(),this._minBufferSize=0}reset(){this._data=new W,this._nDataBytes=0}_append(e){let t=e;"string"==typeof t&&(t=J.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes}_process(e){let t;const{_data:i,blockSize:s}=this,r=i.words,n=i.sigBytes;let a=n/(4*s);a=e?Math.ceil(a):Math.max((0|a)-this._minBufferSize,0);const o=a*s,l=Math.min(4*o,n);if(o){for(let e=0;e<o;e+=s)this._doProcessBlock(r,e);t=r.splice(0,o),i.sigBytes-=l}return new W(t,l)}clone(){const e=super.clone.call(this);return e._data=this._data.clone(),e}}class G extends X{constructor(e){super(),this.blockSize=16,this.cfg=Object.assign(new K,e),this.reset()}static _createHelper(e){return(t,i)=>new e(i).finalize(t)}static _createHmacHelper(e){return(t,i)=>new Q(e,i).finalize(t)}reset(){super.reset.call(this),this._doReset()}update(e){return this._append(e),this._process(),this}finalize(e){e&&this._append(e);return this._doFinalize()}}class Q extends K{constructor(e,t){super();const i=new e;this._hasher=i;let s=t;"string"==typeof s&&(s=J.parse(s));const r=i.blockSize,n=4*r;s.sigBytes>n&&(s=i.finalize(t)),s.clamp();const a=s.clone();this._oKey=a;const o=s.clone();this._iKey=o;const l=a.words,h=o.words;for(let d=0;d<r;d+=1)l[d]^=1549556828,h[d]^=909522486;a.sigBytes=n,o.sigBytes=n,this.reset()}reset(){const e=this._hasher;e.reset(),e.update(this._iKey)}update(e){return this._hasher.update(e),this}finalize(e){const t=this._hasher,i=t.finalize(e);t.reset();return t.finalize(this._oKey.clone().concat(i))}}const Z={stringify(e){const{words:t,sigBytes:i}=e,s=this._map;e.clamp();const r=[];for(let a=0;a<i;a+=3){const e=(t[a>>>2]>>>24-a%4*8&255)<<16|(t[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|t[a+2>>>2]>>>24-(a+2)%4*8&255;for(let t=0;t<4&&a+.75*t<i;t+=1)r.push(s.charAt(e>>>6*(3-t)&63))}const n=s.charAt(64);if(n)for(;r.length%4;)r.push(n);return r.join("")},parse(e){let t=e.length;const i=this._map;let s=this._reverseMap;if(!s){this._reverseMap=[],s=this._reverseMap;for(let e=0;e<i.length;e+=1)s[i.charCodeAt(e)]=e}const r=i.charAt(64);if(r){const i=e.indexOf(r);-1!==i&&(t=i)}return((e,t,i)=>{const s=[];let r=0;for(let n=0;n<t;n+=1)if(n%4){const t=i[e.charCodeAt(n-1)]<<n%4*2|i[e.charCodeAt(n)]>>>6-n%4*2;s[r>>>2]|=t<<24-r%4*8,r+=1}return W.create(s,r)})(e,t,s)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},ee=[];for(let si=0;si<64;si+=1)ee[si]=4294967296*Math.abs(Math.sin(si+1))|0;const te=(e,t,i,s,r,n,a)=>{const o=e+(t&i|~t&s)+r+a;return(o<<n|o>>>32-n)+t},ie=(e,t,i,s,r,n,a)=>{const o=e+(t&s|i&~s)+r+a;return(o<<n|o>>>32-n)+t},se=(e,t,i,s,r,n,a)=>{const o=e+(t^i^s)+r+a;return(o<<n|o>>>32-n)+t},re=(e,t,i,s,r,n,a)=>{const o=e+(i^(t|~s))+r+a;return(o<<n|o>>>32-n)+t};class ne extends G{_doReset(){this._hash=new W([1732584193,4023233417,2562383102,271733878])}_doProcessBlock(e,t){const i=e;for(let E=0;E<16;E+=1){const s=t+E,r=e[s];i[s]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}const s=this._hash.words,r=i[t+0],n=i[t+1],a=i[t+2],o=i[t+3],l=i[t+4],h=i[t+5],d=i[t+6],c=i[t+7],u=i[t+8],f=i[t+9],p=i[t+10],m=i[t+11],g=i[t+12],_=i[t+13],y=i[t+14],v=i[t+15];let b=s[0],T=s[1],S=s[2],x=s[3];b=te(b,T,S,x,r,7,ee[0]),x=te(x,b,T,S,n,12,ee[1]),S=te(S,x,b,T,a,17,ee[2]),T=te(T,S,x,b,o,22,ee[3]),b=te(b,T,S,x,l,7,ee[4]),x=te(x,b,T,S,h,12,ee[5]),S=te(S,x,b,T,d,17,ee[6]),T=te(T,S,x,b,c,22,ee[7]),b=te(b,T,S,x,u,7,ee[8]),x=te(x,b,T,S,f,12,ee[9]),S=te(S,x,b,T,p,17,ee[10]),T=te(T,S,x,b,m,22,ee[11]),b=te(b,T,S,x,g,7,ee[12]),x=te(x,b,T,S,_,12,ee[13]),S=te(S,x,b,T,y,17,ee[14]),T=te(T,S,x,b,v,22,ee[15]),b=ie(b,T,S,x,n,5,ee[16]),x=ie(x,b,T,S,d,9,ee[17]),S=ie(S,x,b,T,m,14,ee[18]),T=ie(T,S,x,b,r,20,ee[19]),b=ie(b,T,S,x,h,5,ee[20]),x=ie(x,b,T,S,p,9,ee[21]),S=ie(S,x,b,T,v,14,ee[22]),T=ie(T,S,x,b,l,20,ee[23]),b=ie(b,T,S,x,f,5,ee[24]),x=ie(x,b,T,S,y,9,ee[25]),S=ie(S,x,b,T,o,14,ee[26]),T=ie(T,S,x,b,u,20,ee[27]),b=ie(b,T,S,x,_,5,ee[28]),x=ie(x,b,T,S,a,9,ee[29]),S=ie(S,x,b,T,c,14,ee[30]),T=ie(T,S,x,b,g,20,ee[31]),b=se(b,T,S,x,h,4,ee[32]),x=se(x,b,T,S,u,11,ee[33]),S=se(S,x,b,T,m,16,ee[34]),T=se(T,S,x,b,y,23,ee[35]),b=se(b,T,S,x,n,4,ee[36]),x=se(x,b,T,S,l,11,ee[37]),S=se(S,x,b,T,c,16,ee[38]),T=se(T,S,x,b,p,23,ee[39]),b=se(b,T,S,x,_,4,ee[40]),x=se(x,b,T,S,r,11,ee[41]),S=se(S,x,b,T,o,16,ee[42]),T=se(T,S,x,b,d,23,ee[43]),b=se(b,T,S,x,f,4,ee[44]),x=se(x,b,T,S,g,11,ee[45]),S=se(S,x,b,T,v,16,ee[46]),T=se(T,S,x,b,a,23,ee[47]),b=re(b,T,S,x,r,6,ee[48]),x=re(x,b,T,S,c,10,ee[49]),S=re(S,x,b,T,y,15,ee[50]),T=re(T,S,x,b,h,21,ee[51]),b=re(b,T,S,x,g,6,ee[52]),x=re(x,b,T,S,o,10,ee[53]),S=re(S,x,b,T,p,15,ee[54]),T=re(T,S,x,b,n,21,ee[55]),b=re(b,T,S,x,u,6,ee[56]),x=re(x,b,T,S,v,10,ee[57]),S=re(S,x,b,T,d,15,ee[58]),T=re(T,S,x,b,_,21,ee[59]),b=re(b,T,S,x,l,6,ee[60]),x=re(x,b,T,S,m,10,ee[61]),S=re(S,x,b,T,a,15,ee[62]),T=re(T,S,x,b,f,21,ee[63]),s[0]=s[0]+b|0,s[1]=s[1]+T|0,s[2]=s[2]+S|0,s[3]=s[3]+x|0}_doFinalize(){const e=this._data,t=e.words,i=8*this._nDataBytes,s=8*e.sigBytes;t[s>>>5]|=128<<24-s%32;const r=Math.floor(i/4294967296),n=i;t[15+(s+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t[14+(s+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),e.sigBytes=4*(t.length+1),this._process();const a=this._hash,o=a.words;for(let l=0;l<4;l+=1){const e=o[l];o[l]=16711935&(e<<8|e>>>24)|4278255360&(e<<24|e>>>8)}return a}clone(){const e=super.clone.call(this);return e._hash=this._hash.clone(),e}}class ae extends K{constructor(e){super(),this.cfg=Object.assign(new K,{keySize:4,hasher:ne,iterations:1},e)}compute(e,t){let i;const{cfg:s}=this,r=s.hasher.create(),n=W.create(),a=n.words,{keySize:o,iterations:l}=s;for(;a.length<o;){i&&r.update(i),i=r.update(e).finalize(t),r.reset();for(let e=1;e<l;e+=1)i=r.finalize(i),r.reset();n.concat(i)}return n.sigBytes=4*o,n}}class oe extends X{constructor(e,t,i){super(),this.cfg=Object.assign(new K,i),this._xformMode=e,this._key=t,this.reset()}static createEncryptor(e,t){return this.create(this._ENC_XFORM_MODE,e,t)}static createDecryptor(e,t){return this.create(this._DEC_XFORM_MODE,e,t)}static _createHelper(e){const t=e=>"string"==typeof e?_e:me;return{encrypt:(i,s,r)=>t(s).encrypt(e,i,s,r),decrypt:(i,s,r)=>t(s).decrypt(e,i,s,r)}}reset(){super.reset.call(this),this._doReset()}process(e){return this._append(e),this._process()}finalize(e){e&&this._append(e);return this._doFinalize()}}oe._ENC_XFORM_MODE=1,oe._DEC_XFORM_MODE=2,oe.keySize=4,oe.ivSize=4;class le extends K{constructor(e,t){super(),this._cipher=e,this._iv=t}static createEncryptor(e,t){return this.Encryptor.create(e,t)}static createDecryptor(e,t){return this.Decryptor.create(e,t)}}function he(e,t,i){const s=e;let r;const n=this._iv;n?(r=n,this._iv=void 0):r=this._prevBlock;for(let a=0;a<i;a+=1)s[t+a]^=r[a]}class de extends le{}de.Encryptor=class extends de{processBlock(e,t){const i=this._cipher,{blockSize:s}=i;he.call(this,e,t,s),i.encryptBlock(e,t),this._prevBlock=e.slice(t,t+s)}},de.Decryptor=class extends de{processBlock(e,t){const i=this._cipher,{blockSize:s}=i,r=e.slice(t,t+s);i.decryptBlock(e,t),he.call(this,e,t,s),this._prevBlock=r}};const ce={pad(e,t){const i=4*t,s=i-e.sigBytes%i,r=s<<24|s<<16|s<<8|s,n=[];for(let o=0;o<s;o+=4)n.push(r);const a=W.create(n,s);e.concat(a)},unpad(e){const t=e,i=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=i}};class ue extends oe{constructor(e,t,i){super(e,t,Object.assign({mode:de,padding:ce},i)),this.blockSize=4}reset(){let e;super.reset.call(this);const{cfg:t}=this,{iv:i,mode:s}=t;this._xformMode===this.constructor._ENC_XFORM_MODE?e=s.createEncryptor:(e=s.createDecryptor,this._minBufferSize=1),this._mode=e.call(s,this,i&&i.words),this._mode.__creator=e}_doProcessBlock(e,t){this._mode.processBlock(e,t)}_doFinalize(){let e;const{padding:t}=this.cfg;return this._xformMode===this.constructor._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e}}class fe extends K{constructor(e){super(),this.mixIn(e)}toString(e){return(e||this.formatter).stringify(this)}}const pe={stringify(e){let t;const{ciphertext:i,salt:s}=e;return t=s?W.create([1398893684,1701076831]).concat(s).concat(i):i,t.toString(Z)},parse(e){let t;const i=Z.parse(e),s=i.words;return 1398893684===s[0]&&1701076831===s[1]&&(t=W.create(s.slice(2,4)),s.splice(0,4),i.sigBytes-=16),fe.create({ciphertext:i,salt:t})}};class me extends K{static encrypt(e,t,i,s){const r=Object.assign(new K,this.cfg,s),n=e.createEncryptor(i,r),a=n.finalize(t),o=n.cfg;return fe.create({ciphertext:a,key:i,iv:o.iv,algorithm:e,mode:o.mode,padding:o.padding,blockSize:n.blockSize,formatter:r.format})}static decrypt(e,t,i,s){let r=t;const n=Object.assign(new K,this.cfg,s);r=this._parse(r,n.format);return e.createDecryptor(i,n).finalize(r.ciphertext)}static _parse(e,t){return"string"==typeof e?t.parse(e,this):e}}me.cfg=Object.assign(new K,{format:pe});const ge={execute(e,t,i,s){let r=s;r||(r=W.random(8));const n=ae.create({keySize:t+i}).compute(e,r),a=W.create(n.words.slice(t),4*i);return n.sigBytes=4*t,fe.create({key:n,iv:a,salt:r})}};class _e extends me{static encrypt(e,t,i,s){const r=Object.assign(new K,this.cfg,s),n=r.kdf.execute(i,e.keySize,e.ivSize);r.iv=n.iv;const a=me.encrypt.call(this,e,t,n.key,r);return a.mixIn(n),a}static decrypt(e,t,i,s){let r=t;const n=Object.assign(new K,this.cfg,s);r=this._parse(r,n.format);const a=n.kdf.execute(i,e.keySize,e.ivSize,r.salt);n.iv=a.iv;return me.decrypt.call(this,e,r,a.key,n)}}_e.cfg=Object.assign(me.cfg,{kdf:ge});const ye=[],ve=[],be=[],Te=[],Se=[],xe=[],Ee=[],we=[],ke=[],Re=[],Me=[];for(let si=0;si<256;si+=1)Me[si]=si<128?si<<1:si<<1^283;let Le=0,Ie=0;for(let si=0;si<256;si+=1){let e=Ie^Ie<<1^Ie<<2^Ie<<3^Ie<<4;e=e>>>8^255&e^99,ye[Le]=e,ve[e]=Le;const t=Me[Le],i=Me[t],s=Me[i];let r=257*Me[e]^16843008*e;be[Le]=r<<24|r>>>8,Te[Le]=r<<16|r>>>16,Se[Le]=r<<8|r>>>24,xe[Le]=r,r=16843009*s^65537*i^257*t^16843008*Le,Ee[e]=r<<24|r>>>8,we[e]=r<<16|r>>>16,ke[e]=r<<8|r>>>24,Re[e]=r,Le?(Le=t^Me[Me[Me[s^t]]],Ie^=Me[Me[Ie]]):(Ie=1,Le=Ie)}const Ce=[0,1,2,4,8,16,32,64,128,27,54];(class extends ue{_doReset(){let e;if(this._nRounds&&this._keyPriorReset===this._key)return;this._keyPriorReset=this._key;const t=this._keyPriorReset,i=t.words,s=t.sigBytes/4;this._nRounds=s+6;const r=4*(this._nRounds+1);this._keySchedule=[];const n=this._keySchedule;for(let o=0;o<r;o+=1)o<s?n[o]=i[o]:(e=n[o-1],o%s?s>6&&o%s==4&&(e=ye[e>>>24]<<24|ye[e>>>16&255]<<16|ye[e>>>8&255]<<8|ye[255&e]):(e=e<<8|e>>>24,e=ye[e>>>24]<<24|ye[e>>>16&255]<<16|ye[e>>>8&255]<<8|ye[255&e],e^=Ce[o/s|0]<<24),n[o]=n[o-s]^e);this._invKeySchedule=[];const a=this._invKeySchedule;for(let o=0;o<r;o+=1){const t=r-o;e=o%4?n[t]:n[t-4],a[o]=o<4||t<=4?e:Ee[ye[e>>>24]]^we[ye[e>>>16&255]]^ke[ye[e>>>8&255]]^Re[ye[255&e]]}}encryptBlock(e,t){this._doCryptBlock(e,t,this._keySchedule,be,Te,Se,xe,ye)}decryptBlock(e,t){const i=e;let s=i[t+1];i[t+1]=i[t+3],i[t+3]=s,this._doCryptBlock(i,t,this._invKeySchedule,Ee,we,ke,Re,ve),s=i[t+1],i[t+1]=i[t+3],i[t+3]=s}_doCryptBlock(e,t,i,s,r,n,a,o){const l=e,h=this._nRounds;let d=l[t]^i[0],c=l[t+1]^i[1],u=l[t+2]^i[2],f=l[t+3]^i[3],p=4;for(let v=1;v<h;v+=1){const e=s[d>>>24]^r[c>>>16&255]^n[u>>>8&255]^a[255&f]^i[p];p+=1;const t=s[c>>>24]^r[u>>>16&255]^n[f>>>8&255]^a[255&d]^i[p];p+=1;const o=s[u>>>24]^r[f>>>16&255]^n[d>>>8&255]^a[255&c]^i[p];p+=1;const l=s[f>>>24]^r[d>>>16&255]^n[c>>>8&255]^a[255&u]^i[p];p+=1,d=e,c=t,u=o,f=l}const m=(o[d>>>24]<<24|o[c>>>16&255]<<16|o[u>>>8&255]<<8|o[255&f])^i[p];p+=1;const g=(o[c>>>24]<<24|o[u>>>16&255]<<16|o[f>>>8&255]<<8|o[255&d])^i[p];p+=1;const _=(o[u>>>24]<<24|o[f>>>16&255]<<16|o[d>>>8&255]<<8|o[255&c])^i[p];p+=1;const y=(o[f>>>24]<<24|o[d>>>16&255]<<16|o[c>>>8&255]<<8|o[255&u])^i[p];p+=1,l[t]=m,l[t+1]=g,l[t+2]=_,l[t+3]=y}}).keySize=8;class Pe extends le{}Pe.Encryptor=class extends Pe{processBlock(e,t){const i=e,s=this._cipher,{blockSize:r}=s,n=this._iv;let a=this._counter;n&&(this._counter=n.slice(0),a=this._counter,this._iv=void 0);const o=a.slice(0);s.encryptBlock(o,0),a[r-1]=a[r-1]+1|0;for(let l=0;l<r;l+=1)i[t+l]^=o[l]}},Pe.Decryptor=Pe.Encryptor;var Be="3.0.0-alpha.32";class Fe{static start(e){return e&&e.length?1===e.length&&e.end(0)-e.start(0)<1e-6||1===e.length&&e.start(0)<0?0:e.start(0):0}static end(e){return e&&e.length?1===e.length&&e.end(0)-e.start(0)<1e-6?0:e.end(e.length-1):0}static get(e){if(e)try{return e.buffered}catch(t){}}static buffers(e,t){if(!e||!e.length)return[];const i=[];for(let s=0,r=e.length;s<r;s++){const r=i.length;if(r&&t){const n=i[r-1],a=n[1];if(e.start(s)-a<=t){const t=e.end(s);t>a&&(n[1]=t)}else i.push([e.start(s),e.end(s)])}else i.push([e.start(s),e.end(s)])}return i}static totalLength(e){return e&&e.length?e.reduce(((e,t)=>e+(t[1]-t[0])),0):0}static info(e,t=0,i=0){if(!e||!e.length)return{start:0,end:0,buffers:[]};let s=0,r=0,n=0,a=0,o=0,l=0,h=0;const d=Fe.buffers(e,i);for(let c=0,u=d.length;c<u;c++){const e=d[c];if(t+i>=e[0]&&t<=e[1])s=e[0],r=e[1],n=c;else{if(t+i<e[0]){a=e[0],o=e[1];break}t+i>e[1]&&(l=e[0],h=e[1])}}return{start:s,end:r,index:n,buffers:d,nextStart:a,nextEnd:o,prevStart:l,prevEnd:h,currentTime:t,behind:t-s,remaining:r?r-t:0,length:Fe.totalLength&&Fe.totalLength(d)}}}const Oe="undefined"!=typeof window,De={MANIFEST:"manifest",NETWORK:"network",NETWORK_TIMEOUT:"network_timeout",NETWORK_FORBIDDEN:"network_forbidden",NETWORK_NOTFOUND:"network_notfound",NETWROK_RANGE_NOT_SATISFIABLE:"network_range_not_satisfiable",DEMUX:"demux",REMUX:"remux",MEDIA:"media",DRM:"drm",OTHER:"other",RUNTIME:"runtime",SUB_TYPES:{FLV:"FLV",HLS:"HLS",MP4:"MP4",FMP4:"FMP4",MSE_ADD_SB:"MSE_ADD_SB",MSE_APPEND_BUFFER:"MSE_APPEND_BUFFER",MSE_OTHER:"MSE_OTHER",MSE_FULL:"MSE_FULL",OPTION:"OPTION",DASH:"DASH",LICENSE:"LICENSE",CUSTOM_LICENSE:"CUSTOM_LICENSE",MSE_HIJACK:"MSE_HIJACK",EME_HIJACK:"EME_HIJACK",SIDX:"SIDX",NO_CANPLAY_ERROR:"NO_CANPLAY_ERROR",BUFFERBREAK_ERROR:"BUFFERBREAK_ERROR",WAITING_TIMEOUT_ERROR:"WAITING_TIMEOUT_ERROR",MEDIA_ERR_ABORTED:"MEDIA_ERR_ABORTED",MEDIA_ERR_NETWORK:"MEDIA_ERR_NETWORK",MEDIA_ERR_DECODE:"MEDIA_ERR_DECODE",MEDIA_ERR_SRC_NOT_SUPPORTED:"MEDIA_ERR_SRC_NOT_SUPPORTED",MEDIA_ERR_CODEC_NOT_SUPPORTED:"MEDIA_ERR_CODEC_NOT_SUPPORTED",MEDIA_ERR_URL_EMPTY:"MEDIA_ERR_URL_EMPTY"}},Ae={[De.MANIFEST]:{HLS:1100,DASH:1200},[De.NETWORK]:2100,[De.NETWORK_TIMEOUT]:2101,[De.NETWORK_FORBIDDEN]:2103,[De.NETWORK_NOTFOUND]:2104,[De.NETWROK_RANGE_NOT_SATISFIABLE]:2116,[De.DEMUX]:{FLV:3100,HLS:3200,MP4:3300,FMP4:3400,SIDX:3410},[De.REMUX]:{FMP4:4100,MP4:4200},[De.MEDIA]:{MEDIA_ERR_ABORTED:5101,MEDIA_ERR_NETWORK:5102,MEDIA_ERR_DECODE:5103,MEDIA_ERR_SRC_NOT_SUPPORTED:5104,MEDIA_ERR_CODEC_NOT_SUPPORTED:5105,MEDIA_ERR_URL_EMPTY:5106,MSE_ADD_SB:5200,MSE_APPEND_BUFFER:5201,MSE_OTHER:5202,MSE_FULL:5203,MSE_HIJACK:5204,EME_HIJACK:5301},[De.DRM]:{LICENSE:7100,CUSTOM_LICENSE:7200},[De.OTHER]:8e3,[De.RUNTIME]:{NO_CANPLAY_ERROR:9001,BUFFERBREAK_ERROR:9002,WAITING_TIMEOUT_ERROR:9003}};class Ue extends Error{constructor(e,t,i,s,r){super(r||(null==i?void 0:i.message)),this.errorType=e===De.NETWORK_TIMEOUT?De.NETWORK:e,this.originError=i,this.ext=s,this.errorCode=Ae[e][t]||Ae[e],this.errorMessage=this.message,this.errorCode||(this.errorType=De.OTHER,this.errorCode=Ae[this.errorType])}static create(e,t,i,s,r){return e instanceof Ue?e:(e instanceof Error&&(i=e,e=""),e||(e=De.OTHER),new Ue(e,t,i,s,r))}static network(e){var t;return new Ue((null==e?void 0:e.isTimeout)?De.NETWORK_TIMEOUT:De.NETWORK,null,e instanceof Error?e:null,{url:null==e?void 0:e.url,response:null==e?void 0:e.response,httpCode:null==(t=null==e?void 0:e.response)?void 0:t.status})}}const Ne=1,ze=2,je=3,He=4,Ve=["Boolean","Number","String","Undefined","Null","Date","Object"],qe=class{constructor(e,t){this.name=e||"",this._prefix=`[${this.name}]`,this.logCacheLevel=(null==t?void 0:t.logCacheLevel)||3,this.logMaxSize=(null==t?void 0:t.logMaxSize)||204800,this.logSize=0,this.logTextArray=[]}debug(...e){this.logCache(Ne,...e),qe.disabled||console.debug(this._prefix,We(),...e)}log(...e){this.logCache(ze,...e),qe.disabled||console.log(this._prefix,We(),...e)}warn(...e){this.logCache(je,...e),qe.disabled||console.warn(this._prefix,We(),...e)}error(...e){this.logCache(He,...e),qe.disabled||console.error(this._prefix,We(),...e)}logCache(e,...t){if(e<this.logCacheLevel)return;let i="";try{const e=t.map((e=>$e(e)));i=this._prefix+We()+JSON.stringify(e)}catch(s){return}if(e>=this.logCacheLevel&&(this.logSize+=i.length,this.logTextArray.push(i)),this.logSize>this.logMaxSize){const e=this.logTextArray.shift();this.logSize-=e.length}}getLogCache(){const e=this.logTextArray.join("\n");return this.reset(),e}reset(){this.logTextArray=[],this.logSize=0}table(...e){qe.disabled||(console.group(this._prefix),console.table(...e),console.groupEnd())}static enable(){qe.disabled=!1}static disable(){qe.disabled=!0}setLogLevel(e){this.logCacheLevel=e}};let Ke=qe;function We(){return(new Date).toLocaleString()}function Ye(e){if("object"!=typeof e)return e;const t=Object.prototype.toString.call(e).slice(8,-1);switch(t){case"Array":case"Uint8Array":case"ArrayBuffer":return t+"["+e.length+"]";case"Object":return"{}";default:return t}}function $e(e,t,i){i||(i=1),t||(t=2);const s={};if(!e||"object"!=typeof e)return e;const r=Object.prototype.toString.call(e).slice(8,-1);if(!Ve.includes(r))return r;if(!(i>t)){for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(i===t?s[r]=Ye(e[r]):"object"==typeof e[r]?s[r]=$e(e[r],t,i+1):s[r]=e[r]);return s}}function Je(){let e,t;const i=new Promise(((i,s)=>{e=i,t=s}));return i.used=!1,i.resolve=(...t)=>(i.used=!0,e(...t)),i.reject=(...e)=>(i.used=!0,t(...e)),i}function Xe(){try{return parseInt(performance.now(),10)}catch(e){return(new Date).getTime()}}__publicField(Ke,"disabled",!0);const Ge={stringify(e){try{return JSON.stringify(e)}catch(t){return""}},parse(e){try{return JSON.parse(e)}catch(t){return}}};function Qe(e=!0){try{return Oe?e&&"undefined"!=typeof ManagedMediaSource?ManagedMediaSource:window.MediaSource:null}catch(t){}}function Ze(e){return/ManagedMediaSource/gi.test(Object.prototype.toString.call(e))}const et="appendBuffer",tt="removeBuffer",it="updateDuration",st=class{constructor(e,t){__publicField(this,"media",null),__publicField(this,"mediaSource",null),__publicField(this,"_openPromise",Je()),__publicField(this,"_queue",Object.create(null)),__publicField(this,"_sourceBuffer",Object.create(null)),__publicField(this,"_mseFullFlag",{}),__publicField(this,"_st",0),__publicField(this,"_opst",0),__publicField(this,"_logger",null),__publicField(this,"_config",null),__publicField(this,"_url",null),__publicField(this,"_onStartStreaming",(()=>{this._logger.debug("startstreaming")})),__publicField(this,"_onEndStreaming",(()=>{this._logger.debug("endstreaming")})),__publicField(this,"_onSBUpdateEnd",(e=>{var t;const i=this._queue[e];if(i){const s=i[0];if((null==s?void 0:s.opName)!==it&&i.shift(),s){const i=Xe()-this._opst;this._logger.debug(`UpdateEnd(${e}/${s.opName})`,Ge.stringify(function(e){const t=[];if(e instanceof TimeRanges)for(let i=0;i<e.length;i++)t.push({start:e.start(i),end:e.end(i)});return t}(null==(t=this._sourceBuffer[e])?void 0:t.buffered)),i,s.context),s.promise.resolve({name:s.opName,context:s.context,costtime:i}),this._startQueue(e)}}})),__publicField(this,"_onSBUpdateError",((e,t)=>{const i=this._queue[e];if(i){const s=i[0];s&&(this._logger.error("UpdateError",e,s.opName,s.context),s.promise.reject(new Ue(De.MEDIA,De.SUB_TYPES.MSE_APPEND_BUFFER,t)))}})),this._config=Object.assign(st.getDefaultConfig(),t),e&&this.bindMedia(e),this._logger=new Ke("MSE"),this._config.openLog&&Ke.enable()}static isSupported(e='video/mp4; codecs="avc1.42E01E,mp4a.40.2"'){const t=Qe();if(!t)return!1;try{return t.isTypeSupported(e)}catch(i){return this._logger.error(e,i),!1}}static isMMSOnly(){return"undefined"!=typeof ManagedMediaSource&&"undefined"==typeof MediaSource}static getDefaultConfig(){return{openLog:!1,preferMMS:!1}}get isOpened(){var e;return"open"===(null==(e=this.mediaSource)?void 0:e.readyState)}get hasOpTasks(){let e=!1;return Object.keys(this._queue).forEach((t=>{const i=this._queue[t];Array.isArray(i)&&(e||(e=i.length>0))})),e}get url(){return this._url}get duration(){var e;return(null==(e=this.mediaSource)?void 0:e.duration)||-1}get isEnded(){return!!this.mediaSource&&"ended"===this.mediaSource.readyState}get streaming(){return!Ze(this.mediaSource)||this.mediaSource.streaming}isFull(e){return e?this._mseFullFlag[e]:this._mseFullFlag[st.VIDEO]}updateDuration(e){const t=this.mediaSource&&this.mediaSource.duration>e;if(this.mediaSource&&this.mediaSource.duration>e){let t=0;if(Object.keys(this._sourceBuffer).forEach((e=>{try{t=Math.max(this.bufferEnd(e)||0,t)}catch(i){}})),e<t)return Promise.resolve()}return this._enqueueBlockingOp((()=>{this.isEnded?this._logger.debug("setDuration but ended"):this.mediaSource&&(this.mediaSource.duration=e,this._logger.debug("setDuration",e))}),it,{isReduceDuration:t})}open(){if(this._openPromise.used&&!this.isOpened&&this.mediaSource){const e=this.mediaSource,t=()=>{const i=Xe()-this._st;this._logger.debug("sourceopen",i),e.removeEventListener("sourceopen",t),this._openPromise.resolve({costtime:i})};e.addEventListener("sourceopen",t),this._openPromise=Je()}return this._openPromise}async bindMedia(e){(this.mediaSource||this.media)&&await this.unbindMedia();const t=Qe(this._config.preferMMS);if(!e||!t)throw new Error("Param media or MediaSource does not exist");this.media=e;const i=this.mediaSource=new t,s=Ze(i);this._st=Xe();const r=()=>{const t=Xe()-this._st;this._logger.debug("sourceopen"),i.removeEventListener("sourceopen",r),URL.revokeObjectURL(e.src),this._openPromise.resolve({costtime:t})};return i.addEventListener("sourceopen",r),s&&(i.addEventListener("startstreaming",this._onStartStreaming),i.addEventListener("endstreaming",this._onEndStreaming)),this._url=URL.createObjectURL(i),e.src=this._url,e.disableRemotePlayback=s,this._openPromise}async unbindMedia(){this._openPromise.used||this._openPromise.resolve();const e=this.mediaSource;if(e){Object.keys(this._queue).forEach((e=>{const t=this._queue[e];t&&t.forEach((e=>{var t,i;return null==(i=null==(t=e.promise)?void 0:t.resolve)?void 0:i.call(t)}))}));const i=!!this.media&&this.media.readyState>=1,s="open"===e.readyState;if(i&&s)try{e.endOfStream()}catch(t){}Object.keys(this._sourceBuffer).forEach((i=>{try{e.removeSourceBuffer(this._sourceBuffer[i])}catch(t){}})),Ze(e)&&(e.removeEventListener("startstreaming",this._onStartStreaming),e.removeEventListener("endstreaming",this._onEndStreaming))}if(this.media){this.media.disableRemotePlayback=!1,this.media.removeAttribute("src");try{this.media.load()}catch(t){}this.media=null}this.mediaSource=null,this._openPromise=Je(),this._queue=Object.create(null),this._sourceBuffer=Object.create(null)}createSource(e,t){if(this._sourceBuffer[e]||!this.mediaSource)return;let i;try{i=this._sourceBuffer[e]=this.mediaSource.addSourceBuffer(t)}catch(s){throw new Ue(De.MEDIA,De.SUB_TYPES.MSE_ADD_SB,s)}i.mimeType=t,i.addEventListener("updateend",this._onSBUpdateEnd.bind(this,e)),i.addEventListener("error",this._onSBUpdateError.bind(this,e))}changeType(e,t){const i=this._sourceBuffer[e];return this.mediaSource&&i&&i.mimeType!==t?"function"!=typeof i.changeType?Promise.reject():this._enqueueOp(e,(()=>{i.changeType(t),i.mimeType=t,this._onSBUpdateEnd(e)}),"changeType",{mimeType:t}):Promise.resolve()}createOrChangeSource(e,t){return this.createSource(e,t),this.changeType(e,t)}append(e,t,i){return t&&t.byteLength&&this._sourceBuffer[e]?this._enqueueOp(e,(()=>{var s;this.mediaSource&&!this.media.error&&(this._logger.debug("MSE APPEND START",i),this._opst=Xe(),null==(s=this._sourceBuffer[e])||s.appendBuffer(t))}),et,i):Promise.resolve()}remove(e,t,i,s){let r=!1;return this._mseFullFlag[e]&&(r=!0),this._enqueueOp(e,(()=>{if(!this.mediaSource||this.media.error)return;const r=this._sourceBuffer[e];t>=i||!r?this._onSBUpdateEnd(e):(this._opst=Xe(),this._logger.debug("MSE REMOVE START",e,t,i,s),r.remove(t,i))}),tt,s,r)}clearBuffer(e,t){let i;return Object.keys(this._sourceBuffer).forEach((s=>{i=this.remove(s,e,t)})),i||Promise.resolve()}clearAllBuffer(){let e;return Object.keys(this._sourceBuffer).forEach((t=>{const i=this._sourceBuffer[t];e=this.remove(t,0,Fe.end(Fe.get(i)))})),e}clearOpQueues(e,t){this._logger.debug("MSE clearOpQueue START");const i=this._queue[e];if(t&&i)return void(this._queue[e]=[]);if(!i||!i[e]||i.length<5)return;const s=[];i.forEach((e=>{e.context&&e.context.isinit&&s.push(e)})),this._queue[e]=i.slice(0,2),s.length>0&&this._queue[e].push(...s)}endOfStream(e){return this.mediaSource&&"open"===this.mediaSource.readyState?this._enqueueBlockingOp((()=>{const t=this.mediaSource;t&&"open"===t.readyState&&(this._logger.debug("MSE endOfStream START"),e?t.endOfStream(e):t.endOfStream())}),"endOfStream"):Promise.resolve()}setLiveSeekableRange(e,t){const i=this.mediaSource;e<0||t<e||!(null==i?void 0:i.setLiveSeekableRange)||"open"!==i.readyState||i.setLiveSeekableRange(e,t)}getSourceBuffer(e){return this._sourceBuffer[e]}buffered(e){return Fe.get(this._sourceBuffer[e])}bufferStart(e){return Fe.start(this.buffered(e))}bufferEnd(e){return Fe.end(this.buffered(e))}_enqueueOp(e,t,i,s,r){if(!this.mediaSource)return Promise.resolve();const n=this._queue[e]=this._queue[e]||[],a={exec:t,promise:Je(),opName:i,context:s};return r?(n.splice(0,0,a),this._mseFullFlag[e]=!1,this._startQueue(e)):n.push(a),this.isOpened||this.isEnded?1===n.length&&this._startQueue(e):this._openPromise.then((()=>{1===n.length&&this._startQueue(e)})),a.promise}async _enqueueBlockingOp(e,t,i){if(!this.mediaSource)return Promise.resolve();const s=Object.keys(this._sourceBuffer);if(!s.length)return e();const r=[];return s.forEach((e=>{const s=this._queue[e],n=Je();r.push(n),s.push({exec:()=>{n.resolve()},promise:n,opName:t,context:i}),1===s.length&&this._startQueue(e)})),Promise.all(r).then((()=>{try{return e()}finally{s.forEach((e=>{const t=this._queue[e],i=this._sourceBuffer[e];null==t||t.shift(),i&&i.updating||this._startQueue(e)}))}}))}_startQueue(e){const t=this._queue[e];if(t){const s=t[0];if(s&&!this._mseFullFlag[e])try{s.exec()}catch(i){i&&i.message&&i.message.indexOf("SourceBuffer is full")>=0?(this._mseFullFlag[e]=!0,this._logger.error("[MSE error], context,",s.context," ,name,",s.opName,",err,SourceBuffer is full"),s.promise.reject(new Ue(De.MEDIA,De.SUB_TYPES.MSE_FULL,i))):(this._logger.error(i),s.promise.reject(new Ue(De.MEDIA,De.SUB_TYPES.MSE_OTHER,i)),t.shift(),this._startQueue(e))}}}setTimeoffset(e,t,i){return this._enqueueOp(e,(()=>{t<0&&(t+=.001),this._sourceBuffer[e].timestampOffset=t,this._onSBUpdateEnd(e)}),"setTimeoffset",i)}abort(e,t){return this.isOpened?this._enqueueOp(e,(()=>{this._sourceBuffer[e].abort(),this._onSBUpdateEnd(e)}),"abort",t):Promise.resolve()}};let rt=st;__publicField(rt,"VIDEO","video"),__publicField(rt,"AUDIO","audio");const nt="fetch",at="xhr",ot="arraybuffer",lt="text",ht="json";class dt extends Error{constructor(e,t,i,s){super(s),__publicField(this,"retryCount",0),__publicField(this,"isTimeout",!1),__publicField(this,"loaderType",nt),__publicField(this,"startTime",0),__publicField(this,"endTime",0),__publicField(this,"options",{}),this.url=e,this.request=t,this.response=i}}const ct=Object.prototype.toString;function ut(e){if("[object Object]"!==ct.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function ft(e){if(!e||null===e[0]||void 0===e[0]||0===e[0]&&(null===e[1]||void 0===e[1]))return;let t="bytes="+e[0]+"-";return e[1]&&(t+=e[1]),t}function pt(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function mt(e,t){if(!e)return;if(!t)return e;let i;const s=Object.keys(t).map((e=>{if(i=t[e],null!=i)return Array.isArray(i)?e+="[]":i=[i],i.map((t=>{var i;return i=t,"[object Date]"===ct.call(i)?t=t.toISOString():function(e){return null!==e&&"object"==typeof e}(t)&&(t=JSON.stringify(t)),`${pt(e)}=${pt(t)}`})).join("&")})).filter(Boolean).join("&");if(s){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+s}return e}function gt(e,t,i,s,r,n,a,o,l,h,d){r=null!=r?parseFloat(r):null,s=parseInt(s||"0",10),Number.isNaN(s)&&(s=0);return{data:e,done:t,options:{range:l,vid:h,index:o,contentLength:s,age:r,startTime:n,firstByteTime:a,endTime:Date.now(),priOptions:d},response:i}}function _t(e,t){return Math.round(8*e*1e3/t/1024)}const yt="real_time_speed",vt=2097152;class bt extends r{constructor(){super(),__publicField(this,"_abortController",null),__publicField(this,"_timeoutTimer",null),__publicField(this,"_reader",null),__publicField(this,"_response",null),__publicField(this,"_aborted",!1),__publicField(this,"_index",-1),__publicField(this,"_range",null),__publicField(this,"_receivedLength",0),__publicField(this,"_running",!1),__publicField(this,"_logger",null),__publicField(this,"_vid",""),__publicField(this,"_onProcessMinLen",0),__publicField(this,"_onCancel",null),__publicField(this,"_priOptions",null)}load({url:e,vid:t,timeout:i,responseType:s,onProgress:r,index:n,onTimeout:a,onCancel:o,range:l,transformResponse:h,request:d,params:c,logger:u,method:f,headers:p,body:m,mode:g,credentials:_,cache:y,redirect:v,referrer:b,referrerPolicy:T,onProcessMinLen:S,priOptions:x}){var E;this._logger=u,this._aborted=!1,this._onProcessMinLen=S,this._onCancel=o,this._abortController="undefined"!=typeof AbortController&&new AbortController,this._running=!0,this._index=n,this._range=l||[0,0],this._vid=t||e,this._priOptions=x||{};const w={method:f,headers:p,body:m,mode:g,credentials:_,cache:y,redirect:v,referrer:b,referrerPolicy:T,signal:null==(E=this._abortController)?void 0:E.signal};let k=!1;clearTimeout(this._timeoutTimer),e=mt(e,c);const R=ft(l);R&&(p=d?d.headers:w.headers=w.headers||(Headers?new Headers:{}),Headers&&p instanceof Headers?p.append("Range",R):p.Range=R),i&&(this._timeoutTimer=setTimeout((()=>{if(k=!0,this.cancel(),a){const t=new dt(e,w,null,"timeout");t.isTimeout=!0,a(t,{index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions})}}),i));const M=Date.now();return this._logger.debug("[fetch load start], index,",n,",range,",l),new Promise(((t,i)=>{fetch(d||e,d?void 0:w).then((async a=>{if(clearTimeout(this._timeoutTimer),this._response=a,this._aborted||!this._running)return;if(h&&(a=h(a,e)||a),!a.ok)throw new dt(e,w,a,"bad network response");const o=Date.now();let d;if(s===lt)d=await a.text(),this._running=!1;else if(s===ht)d=await a.json(),this._running=!1;else{if(r)return this.resolve=t,this.reject=i,void this._loadChunk(a,r,M,o);{d=await a.arrayBuffer(),d=new Uint8Array(d),this._running=!1;const e=Date.now()-M,t=_t(d.byteLength,e);this.emit(yt,{speed:t,len:d.byteLength,time:e,vid:this._vid,index:this._index,range:this._range,priOptions:this._priOptions})}}this._logger.debug("[fetch load end], index,",n,",range,",l),t(gt(d,!0,a,a.headers.get("Content-Length"),a.headers.get("age"),M,o,n,l,this._vid,this._priOptions))})).catch((t=>{clearTimeout(this._timeoutTimer),this._running=!1,this._aborted&&!k||((t=t instanceof dt?t:new dt(e,w,null,null==t?void 0:t.message)).startTime=M,t.endTime=Date.now(),t.isTimeout=k,t.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},i(t))}))}))}async cancel(){if(!this._aborted){if(this._aborted=!0,this._running=!1,this._response){try{this._reader&&await this._reader.cancel()}catch(e){}this._response=this._reader=null}if(this._abortController){try{this._abortController.abort()}catch(e){}this._abortController=null}this._onCancel&&this._onCancel({index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions})}}_loadChunk(e,t,i,s){if(!e.body||!e.body.getReader){this._running=!1;const t=new dt(e.url,"",e,"onProgress of bad response.body.getReader");return t.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},void this.reject(t)}this._onProcessMinLen>0&&(this._cache=new Uint8Array(vt),this._writeIdx=0);const r=this._reader=e.body.getReader();let n,a,o;const l=async()=>{var h;a=Date.now();try{n=await r.read(),o=Date.now()}catch(p){return o=Date.now(),void(this._aborted||(this._running=!1,p.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this.reject(p)))}const d=(null==(h=this._range)?void 0:h.length)>0?this._range[0]:0,c=d+this._receivedLength;if(this._aborted)return this._running=!1,void t(void 0,!1,{range:[c,c],vid:this._vid,index:this._index,startTime:a,endTime:o,st:i,firstByteTime:s,priOptions:this._priOptions},e);const u=n.value?n.value.byteLength:0;let f;if(this._receivedLength+=u,this._logger.debug("【fetchLoader,onProgress call】,task,",this._range,", start,",c,", end,",d+this._receivedLength,", done,",n.done),this._onProcessMinLen>0){if(this._writeIdx+u>=this._onProcessMinLen||n.done)f=new Uint8Array(this._writeIdx+u),f.set(this._cache.slice(0,this._writeIdx),0),u>0&&f.set(n.value,this._writeIdx),this._writeIdx=0,this._logger.debug("【fetchLoader,onProgress enough】,done,",n.done,",len,",f.byteLength,", writeIdx,",this._writeIdx);else if(u>0&&this._writeIdx+u<vt)this._cache.set(n.value,this._writeIdx),this._writeIdx+=u,this._logger.debug("【fetchLoader,onProgress cache】,len,",u,", writeIdx,",this._writeIdx);else if(u>0){const e=new Uint8Array(this._writeIdx+u+2048);this._logger.debug("【fetchLoader,onProgress extra start】,size,",this._writeIdx+u+2048,", datalen,",u,", writeIdx,",this._writeIdx),e.set(this._cache.slice(0,this._writeIdx),0),u>0&&e.set(n.value,this._writeIdx),this._writeIdx+=u,delete this._cache,this._cache=e,this._logger.debug("【fetchLoader,onProgress extra end】,len,",u,", writeIdx,",this._writeIdx)}}else f=n.value;if((f&&f.byteLength>0||n.done)&&t(f,n.done,{range:[this._range[0]+this._receivedLength-(f?f.byteLength:0),this._range[0]+this._receivedLength],vid:this._vid,index:this._index,startTime:a,endTime:o,st:i,firstByteTime:s,priOptions:this._priOptions},e),n.done){const t=Date.now()-i,r=_t(this._receivedLength,t);this.emit(yt,{speed:r,len:this._receivedLength,time:t,vid:this._vid,index:this._index,range:this._range,priOptions:this._priOptions}),this._running=!1,this._logger.debug("[fetchLoader onProgress end],task,",this._range,",done,",n.done),this.resolve(gt(n,!0,e,e.headers.get("Content-Length"),e.headers.get("age"),i,s,this._index,this._range,this._vid,this._priOptions))}else l()};l()}get receiveLen(){return this._receivedLength}get running(){return this._running}set running(e){this._running=e}static isSupported(){return!("undefined"==typeof fetch)}}class Tt extends r{constructor(){super(),__publicField(this,"_xhr",null),__publicField(this,"_aborted",!1),__publicField(this,"_timeoutTimer",null),__publicField(this,"_range",null),__publicField(this,"_receivedLength",0),__publicField(this,"_url",null),__publicField(this,"_onProgress",null),__publicField(this,"_index",-1),__publicField(this,"_headers",null),__publicField(this,"_currentChunkSizeKB",384),__publicField(this,"_timeout",null),__publicField(this,"_xhr",null),__publicField(this,"_withCredentials",null),__publicField(this,"_startTime",-1),__publicField(this,"_loadCompleteResolve",null),__publicField(this,"_loadCompleteReject",null),__publicField(this,"_runing",!1),__publicField(this,"_logger",!1),__publicField(this,"_vid",""),__publicField(this,"_responseType"),__publicField(this,"_credentials"),__publicField(this,"_method"),__publicField(this,"_transformResponse"),__publicField(this,"_firstRtt"),__publicField(this,"_onCancel",null),__publicField(this,"_priOptions",null)}load(e){clearTimeout(this._timeoutTimer),this._logger=e.logger,this._range=e.range,this._onProgress=e.onProgress,this._index=e.index,this._headers=e.headers,this._withCredentials="include"===e.credentials||"same-origin"===e.credentials,this._body=e.body||null,e.method&&(this._method=e.method),this._timeout=e.timeout||null,this._runing=!0,this._vid=e.vid||e.url,this._responseType=e.responseType,this._firstRtt=-1,this._onTimeout=e.onTimeout,this._onCancel=e.onCancel,this._request=e.request,this._priOptions=e.priOptions||{},this._logger.debug("【xhrLoader task】, range",this._range),this._url=mt(e.url,e.params);const t=Date.now();return new Promise(((e,t)=>{this._loadCompleteResolve=e,this._loadCompleteReject=t,this._startLoad()})).catch((e=>{if(clearTimeout(this._timeoutTimer),this._runing=!1,!this._aborted)throw(e=e instanceof dt?e:new dt(this._url,this._request)).startTime=t,e.endTime=Date.now(),e.options={index:this._index,vid:this._vid,priOptions:this._priOptions},e}))}_startLoad(){let e=null;if(this._responseType===ot&&this._range&&this._range.length>1)if(this._onProgress){this._firstRtt=-1;const t=1024*this._currentChunkSizeKB,i=this._range[0]+this._receivedLength;let s=this._range[1];t<this._range[1]-i&&(s=i+t),e=[i,s],this._logger.debug("[xhr_loader->],tast :",this._range,", SubRange, ",e)}else e=this._range,this._logger.debug("[xhr_loader->],tast :",this._range,", allRange, ",e);this._internalOpen(e)}_internalOpen(e){try{this._startTime=Date.now();const t=this._xhr=new XMLHttpRequest;t.open(this._method||"GET",this._url,!0),t.responseType=this._responseType,this._timeout&&(t.timeout=this._timeout),t.withCredentials=this._withCredentials,t.onload=this._onLoad.bind(this),t.onreadystatechange=this._onReadyStatechange.bind(this),t.onerror=e=>{var t,i,s;this._running=!1;const r=new dt(this._url,this._request,null==(t=null==e?void 0:e.currentTarget)?void 0:t.response,"xhr.onerror.status:"+(null==(i=null==e?void 0:e.currentTarget)?void 0:i.status)+",statusText,"+(null==(s=null==e?void 0:e.currentTarget)?void 0:s.statusText));r.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(r)},t.ontimeout=e=>{this.cancel();const t=new dt(this._url,this._request,{status:408},"timeout");this._onTimeout&&(t.isTimeout=!0,this._onTimeout(t,{index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions})),t.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(t)};const i=this._headers||{},s=ft(e);s&&(i.Range=s),i&&Object.keys(i).forEach((e=>{t.setRequestHeader(e,i[e])})),this._logger.debug("[xhr.send->] tast,",this._range,",load sub range, ",e),t.send(this._body)}catch(t){t.options={index:this._index,range:e,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(t)}}_onReadyStatechange(e){2===e.target.readyState&&this._firstRtt<0&&(this._firstRtt=Date.now())}_onLoad(e){var t,i;const s=e.target.status;if(s<200||s>299){const t=new dt(this._url,null,{...e.target.response,status:s},"bad response,status:"+s);return t.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(t)}let r,n=null,a=!1;const o=(null==(t=this._range)?void 0:t.length)>0?this._range[0]:0;if(this._responseType===ot){const t=new Uint8Array(e.target.response);if(r=o+this._receivedLength,t&&t.byteLength>0){this._receivedLength+=t.byteLength;const e=Date.now()-this._startTime,i=_t(this._receivedLength,e);this.emit(yt,{speed:i,len:this._receivedLength,time:e,vid:this._vid,index:this._index,range:[r,o+this._receivedLength],priOptions:this._priOptions})}n=t,a=!((null==(i=this._range)?void 0:i.length)>1&&this._range[1]&&this._receivedLength<this._range[1]-this._range[0]),this._logger.debug("[xhr load done->], tast :",this._range,", start",r,"end ",o+this._receivedLength,",dataLen,",t?t.byteLength:0,",receivedLength",this._receivedLength,",index,",this._index,", done,",a)}else a=!0,n=e.target.response;let l={ok:s>=200&&s<300,status:s,statusText:this._xhr.statusText,url:this._xhr.responseURL,headers:this._getHeaders(this._xhr),body:this._xhr.response};this._transformResponse&&(l=this._transformResponse(l,this._url)||l),this._onProgress&&this._onProgress(n,a,{index:this._index,vid:this._vid,range:[r,o+this._receivedLength],startTime:this._startTime,endTime:Date.now(),priOptions:this._priOptions},l),a?(this._runing=!1,this._loadCompleteResolve&&this._loadCompleteResolve(gt(this._onProgress?null:n,a,l,l.headers["content-length"],l.headers.age,this._startTime,this._firstRtt,this._index,this._range,this._vid,this._priOptions))):this._startLoad()}cancel(){if(!this._aborted)return this._aborted=!0,this._runing=!1,super.removeAllListeners(),this._onCancel&&this._onCancel({index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions}),this._xhr?this._xhr.abort():void 0}static isSupported(){return"undefined"!=typeof XMLHttpRequest}get receiveLen(){return this._receivedLength}get running(){return this._running}set running(e){this._running=e}_getHeaders(e){const t=e.getAllResponseHeaders().trim().split("\r\n"),i={};for(const s of t){const e=s.split(": ");i[e[0].toLowerCase()]=e.slice(1).join(": ")}return i}}class St{constructor(e,t){this.promise=Je(),this.alive=!!t.onProgress,!t.logger&&(t.logger=new Ke("Loader")),this._loaderType=e,this._loader=e===nt&&"undefined"!=typeof fetch?new bt:new Tt,this._config=t,this._retryCount=0,this._retryTimer=null,this._canceled=!1,this._retryCheckFunc=t.retryCheckFunc,this._logger=t.logger}exec(){const{retry:e,retryDelay:t,onRetryError:i,transformError:s,...r}=this._config,n=async()=>{try{const e=await this._loader.load(r);this.promise.resolve(e)}catch(a){if(this._loader.running=!1,this._logger.debug("[task request catch err]",a),this._canceled)return;a.loaderType=this._loaderType,a.retryCount=this._retryCount;let o=a;s&&(o=s(o)||o),i&&this._retryCount>0&&i(o,this._retryCount,{index:r.index,vid:r.vid,range:r.range,priOptions:r.priOptions}),this._retryCount++;let l=!0;if(this._retryCheckFunc&&(l=this._retryCheckFunc(a)),l&&this._retryCount<=e)return clearTimeout(this._retryTimer),this._logger.debug("[task request setTimeout],retry",this._retryCount,",retry range,",r.range),void(this._retryTimer=setTimeout(n,t));this.promise.reject(o)}};return n(),this.promise}async cancel(){return clearTimeout(this._retryTimer),this._canceled=!0,this._loader.running=!1,this._loader.cancel()}get running(){return this._loader&&this._loader.running}get loader(){return this._loader}}function xt(...e){if((e=e.filter(Boolean)).length<2)return e[0];const t=new Uint8Array(e.reduce(((e,t)=>e+t.byteLength),0));let i=0;return e.forEach((e=>{t.set(e,i),i+=e.byteLength})),t}class Et extends r{constructor(e){super(e),__publicField(this,"type",nt),__publicField(this,"_queue",[]),__publicField(this,"_alive",[]),__publicField(this,"_currentTask",null),__publicField(this,"_finnalUrl",""),__publicField(this,"_config"),this._config=function(e){return{loaderType:nt,retry:0,retryDelay:0,timeout:0,request:null,onTimeout:void 0,onProgress:void 0,onRetryError:void 0,transformRequest:void 0,transformResponse:void 0,transformError:void 0,responseType:lt,range:void 0,url:"",params:void 0,method:"GET",headers:{},body:void 0,mode:void 0,credentials:void 0,cache:void 0,redirect:void 0,referrer:void 0,referrerPolicy:void 0,integrity:void 0,onProcessMinLen:0,...e}}(e),this._config.loaderType!==at&&bt.isSupported()||(this.type=at),this.log=e.logger}isFetch(){return this.type===nt}static isFetchSupport(){return bt.isSupported()}load(e,t={}){"string"!=typeof e&&e?t=e:t.url=e||t.url||this._config.url,(t=Object.assign({},this._config,t)).params&&(t.params=Object.assign({},t.params)),t.headers&&ut(t.headers)&&(t.headers=Object.assign({},t.headers)),t.body&&ut(t.body)&&(t.body=Object.assign({},t.body)),t.transformRequest&&(t=t.transformRequest(t)||t),t.logger=this.log;const i=new St(this.type,t);return i.loader.on(yt,(e=>{this.emit(yt,e)})),this._queue.push(i),1!==this._queue.length||this._currentTask&&this._currentTask.running||this._processTask(),i.promise}async cancel(){const e=this._queue.map((e=>e.cancel())).concat(this._alive.map((e=>e.cancel())));this._currentTask&&e.push(this._currentTask.cancel()),this._queue=[],this._alive=[],await Promise.all(e),await function(e=0){return new Promise((t=>setTimeout(t,e)))}()}_processTask(){if(this._currentTask=this._queue.shift(),!this._currentTask)return;this._currentTask.alive&&this._alive.push(this._currentTask);const e=this._currentTask.exec().catch((e=>{}));e&&"function"==typeof e.finally&&e.finally((()=>{var e,t;(null==(e=this._currentTask)?void 0:e.alive)&&(null==(t=this._alive)?void 0:t.length)>0&&(this._alive=this._alive.filter((e=>e&&e!==this._currentTask))),this._processTask()}))}}const wt={416:Ae[De.NETWROK_RANGE_NOT_SATISFIABLE],403:Ae[De.NETWORK_FORBIDDEN],404:Ae[De.NETWORK_NOTFOUND],timeout:Ae[De.NETWORK_TIMEOUT],"4xx":`${Ae[De.NETWORK]}4XX`,"5xx":`${Ae[De.NETWORK]}5XX`,networkError:Ae[De.NETWORK],contentError:`${Ae[De.NETWORK]}contentError`,mse:Ae[De.MEDIA][De.SUB_TYPES.MSE_OTHER],mseOpen:Ae[De.MEDIA][De.SUB_TYPES.MSE_ADD_SB],mseAppend:Ae[De.MEDIA][De.SUB_TYPES.MSE_APPEND_BUFFER],mse_hijack:Ae[De.MEDIA][De.SUB_TYPES.MSE_HIJACK],eme_hijack:Ae[De.MEDIA][De.SUB_TYPES.EME_HIJACK],metaError:Ae[De.DEMUX][De.SUB_TYPES.MP4],muxError:Ae[De.REMUX][De.SUB_TYPES.FMP4],other:Ae[De.OTHER],waitTimeout:Ae[De.RUNTIME][De.SUB_TYPES.BUFFERBREAK_ERROR],waitTimeoutWithHidden:Ae[De.RUNTIME][De.SUB_TYPES.WAITING_TIMEOUT_ERROR],drm:Ae[De.DRM][De.SUB_TYPES.LICENSE]},kt=De;class Rt{constructor(e,t,i){let s=0,r=0;i&&i.range&&i.range.length>1&&(s=i.range[0],r=i.range[1]);const n=function(e){return wt[e]||e}(t);return{errorCode:n,errorType:e,errorMessage:(null==i?void 0:i.httpText)||(null==i?void 0:i.message),url:null==i?void 0:i.url,httpCode:t,version:Be,rangeStart:s,rangeEnd:r,ext:i,mediaError:{code:n,message:(null==i?void 0:i.httpText)||(null==i?void 0:i.message)}}}}class Mt{constructor(e,t,i){return{errorCode:t,errorType:e,version:Be,errorMessage:i.msg,ext:i,mediaError:{code:t,message:i.msg}}}}const Lt={};Lt.nowTime=function(){try{return parseInt(performance.now(),10)}catch(e){return(new Date).getTime()}},Lt.concatData=function(e,t){const i=[];let s=0;e&&i.push(e),t&&i.push(t),i.every((e=>(e&&(s+=e.byteLength),!0)));const r=new Uint8Array(s);let n=0;return i.every((e=>(e&&(r.set(e,n),n+=e.byteLength),!0))),r};const It="content-range";function Ct(e){try{e&&e.src&&(e.removeAttribute("src"),e.load())}catch(t){}}function Pt(e,t){const i=e.media||e.video;e._detachSourceEvents(i),t instanceof Array?e._attachSourceEvents(i,t):t?i.src=t:i.removeAttribute("src")}class Bt{constructor(e,t){this.type="file",this.message=e,this.data=t}}class Ft{constructor(){__publicField(this,"_data",Object.create(null))}set(e,t){this._data[e]=t}get(e){return this._data[e]}clear(){this._data=Object.create(null)}}function Ot(e,t){var i,s,r,n,a,o;const l=e.trak;if(!l||!l.length)return;const h=l.find((e=>{var t,i;return"vide"===(null==(i=null==(t=e.mdia)?void 0:t.hdlr)?void 0:i.handlerType)})),d=l.find((e=>{var t,i;return"soun"===(null==(i=null==(t=e.mdia)?void 0:t.hdlr)?void 0:i.handlerType)}));if(!h&&!d)return;let c,u=[],f=[];if(h){const e=null==(s=null==(i=h.mdia)?void 0:i.minf)?void 0:s.stbl;if(!e)return;const n=null==(r=h.mdia.mdhd)?void 0:r.timescale,{stts:a,stsc:o,stsz:l,stco:d,stss:f,ctts:p}=e;if(!(n&&a&&o&&l&&d&&f))return;u=Dt(t,n,a,o,l,d,f,p),c=u.map((e=>e.duration))}if(d){const e=null==(a=null==(n=d.mdia)?void 0:n.minf)?void 0:a.stbl;if(!e)return;const i=null==(o=d.mdia.mdhd)?void 0:o.timescale,{stts:s,stsc:r,stsz:l,stco:h}=e;if(!(i&&s&&r&&l&&h))return;f=Dt(t,i,s,r,l,h,null,null,c)}return{videoSegments:u,audioSegments:f}}function Dt(e,t,i,s,r,n,a,o,l){const h=[],d=[],c=[],u=s.entries,f=n.entries,p=r.entrySizes,m=null==a?void 0:a.entries,g=null==o?void 0:o.entries;let _,y,v,b;g&&(_=[],g.forEach((({count:e,offset:t})=>{for(let i=0;i<e;i++)_.push(t)}))),m&&(y={},m.forEach((e=>{y[e-1]=!0})));let T=0,S=0,x=0,E=0,w=0,k=u[0].samplesPerChunk,R=u[1]?u[1].firstChunk-1:1/0,M=0,L=-1;i.entries.forEach((({count:e,delta:t})=>{b=t;for(let i=0;i<e;i++)v={dts:M,startTime:T,duration:b,size:p[S]||r.sampleSize,offset:f[x]+w,index:S},m&&(v.keyframe=y[S],v.keyframe?(L++,d.push([v]),c.push(v.duration)):(d[d.length-1].push(v),c[d.length-1]+=v.duration),v.gopId=L),_&&S<_.length&&(v.pts=M+_[S]),0===S&&(v.pts=0),h.push(v),T+=b,M+=t,S++,S<k?w+=v.size:(x++,w=0,x>=R&&(E++,R=u[E+1]?u[E+1].firstChunk-1:1/0),k+=u[E].samplesPerChunk)}));const I=h.length;if(!I||a&&!h[0].keyframe)return;const C=[];let P,B=[],F=0,O=0;const D=e=>{var i;P=B[B.length-1],C.push({index:C.length,startTime:(null==(i=C[C.length-1])?void 0:i.endTime)||B[0].startTime/t,endTime:(P.startTime+P.duration)/t,duration:e,range:[B[0].offset,P.offset+P.size],frames:B}),F=0,B=[]};if(a){const i=e*t;for(let e=0,s=d.length;e<s;e++)F+=c[e],B.push(...d[e]),e+1<s?(0===e||F>i)&&D(F/t):D(F/t)}else{let i=(l=l||[])[0]||e;for(let s=0;s<I;s++){B.push(h[s]),F+=h[s].duration;const r=F/t;(s+1>=I||r+O>=i)&&(O+=r-i,D(r),i=l[C.length]||e)}}return C}function At(e){var t,i,s,r,n,a,o,l,h,d,c,u,f,p,m,g;let _="",y="",v=0,b=0,T=0,S=0,x=0,E=0,w=0;e.mvhd&&(x=e.mvhd.duration/e.mvhd.timescale);const k=e.trak;if(k){const R=k.find((e=>{var t,i;return"vide"===(null==(i=null==(t=e.mdia)?void 0:t.hdlr)?void 0:i.handlerType)})),M=k.find((e=>{var t,i;return"soun"===(null==(i=null==(t=e.mdia)?void 0:t.hdlr)?void 0:i.handlerType)}));let L,I=null;return R&&(I=null==(s=null==(i=null==(t=R.mdia)?void 0:t.minf)?void 0:i.stbl)?void 0:s.stsd.entries[0],I&&(v=I.width,b=I.height,E=null==(n=null==(r=R.mdia)?void 0:r.mdhd)?void 0:n.timescale,_=null==(a=I.avcC||I.hvcC)?void 0:a.codec,"encv"===I.type&&(L=null==(l=null==(o=I.sinf)?void 0:o.schi)?void 0:l.tenc.default_KID))),M&&(I=null==(c=null==(d=null==(h=M.mdia)?void 0:h.minf)?void 0:d.stbl)?void 0:c.stsd.entries[0],I&&(T=I.channelCount,S=I.sampleRate,y=null==(u=I.esds)?void 0:u.codec,w=null==(p=null==(f=M.mdia)?void 0:f.mdhd)?void 0:p.timescale,"enca"===I.type&&(L=L||(null==(g=null==(m=I.sinf)?void 0:m.schi)?void 0:g.tenc.default_KID)))),{kid:L?L.join(""):null,videoCodec:_,audioCodec:y,width:v,height:b,videoTimescale:E,audioChannelCount:T,audioSampleRate:S,duration:x,audioTimescale:w,moov:e}}}function Ut(e){return"number"==typeof e&&!Number.isNaN(e)}class Nt extends r{constructor(e){var t;super(),__publicField(this,"vid",""),__publicField(this,"url",""),__publicField(this,"meta",{}),__publicField(this,"downloadInfo",[]),__publicField(this,"videoSegments",[]),__publicField(this,"audioSegments",[]),__publicField(this,"cache",null),__publicField(this,"_currentSegmentIndex",-1),__publicField(this,"_currentLoadingSegmentIndex",-1),__publicField(this,"buffer"),__publicField(this,"_error"),__publicField(this,"_transformError",(e=>e)),this._config=(t=e,{vid:"",moovEnd:8e4,segmentDuration:2,maxDownloadInfoSize:30,responseType:"arraybuffer",cache:null,...t});const{vid:i,cache:s,...r}=this._config;this.cache=s||new Ft,this.vid=i||r.url,this.url=r.url,r.transformError=this._transformError,this.logger=new Ke("MP4Loader_"+this.vid),e.openLog&&Ke.enable(),r.logger=this.logger,this._loader=new Et(r),this._loader.on(yt,(e=>{this.emit(yt,e)}))}get isMetaLoaded(){return this.videoSegments.length||this.audioSegments.length}setCurrentSegment(e){Ut(e)&&(this._currentSegmentIndex=e)}isLastSegment(e){var t,i;if(Ut(e)){return e>=((null==(t=this.videoSegments[this.videoSegments.length-1])?void 0:t.index)||(null==(i=this.audioSegments[this.audioSegments.length-1])?void 0:i.index)||0)}return!1}isSegmentLoading(e){return e===this._currentLoadingSegmentIndex}async changeUrl(e,t=e,i,s){await this.reset(s),e&&(this.url=e),t&&(this.vid=t),i&&(this._config.moovEnd=i)}async getOrLoadMeta(e){return this.isMetaLoaded||await this.loadMeta(e),this.meta}async loadMetaProcess(e,[t,i],s,r){this._error=!1,this.logger.debug("[loadMetaProcess start], range,",[t,i]);await this.loadData([t,i||this._config.moovEnd],e,{onProgress:async(n,a,o,l)=>{if(this.meta&&(null==o?void 0:o.range)&&o.range.length>0&&o.range[1]>=i&&(a=!0,this.logger.debug("[loadMetaProcess],data done,setstate true,[",t,i,"]")),a&&(null==o?void 0:o.range)&&o.range.length>0&&o.range[1]<i&&(a=!1,this.logger.debug("[loadMetaProcess],data not done,setstate false,[",t,i,"]")),this.logger.debug("[loadMetaProcess],task,[",t,i,"], range,",o.range,",dataLen,",n?n.byteLength:void 0,", state,",a,",err,",this._error),!this._error&&n&&n.byteLength>0&&s(n,a,o,null,l),!this.meta.moov&&!this._error&&n&&n.byteLength>0){this.buffer=xt(this.buffer,n);let t=P.findBox(this.buffer,["moov"])[0];if(!t){const i=P.findBox(this.buffer,["mdat"])[0];if(a){if(!i)return this._error=!0,void s(null,a,o,{err:"cannot find moov or mdat box"},l);{const s=i.start+i.size,n=await this.loadData([s,""],e,r);n&&(t=P.findBox(n.data,["moov"])[0])}}}if(t&&a&&t.size>t.data.length&&(this.logger.debug("[loadMetaProcess],moov not all, range,",o.range[1],",dataLen,",this.buffer.byteLength,", state,",a),await this.loadMetaProcess(e,[o.range[1],t.start+t.size-1],s)),t&&t.size<=t.data.length&&!this.meta.moov){const e=P.moov(t);if(!e)return this._error=!0,void s(null,a,o,{err:"cannot parse moov box"},l);const i=Ot(e,this._config.segmentDuration);if(!i)return this._error=!0,void s(null,a,o,{err:"cannot parse segments"},l);this.meta=At(e);const{videoSegments:r,audioSegments:n}=i;this.videoSegments=r,this.audioSegments=n,this.logger.debug("[loadMetaProcess] moov ok"),s(void 0,a,{meta:{meta:this.meta,videoSegments:r,audioSegments:n}},null,l)}}},...r})}async loadMeta(e,t,i){const s=[];this.logger.debug("[loadMeta start]");let r=await this.loadData([0,t||this._config.moovEnd],e,i);if(!r)return;s.push(r);let n=P.findBox(r.data,["moov"])[0];if(!n){const t=P.findBox(r.data,["mdat"])[0];if(!t)throw new Bt("cannot find moov or mdat box",r.data);const a=t.start+t.size;if(r=await this.loadData([a],e,i),!r)return;if(s.push(r),n=P.findBox(r.data,["moov"],a)[0],!n)throw new Bt("cannot find moov box",r.data)}if(n.size>n.data.length){if(r=await this.loadData([r.data.length,n.start+n.size-1],e,i),!r)return;s.push(r),n.data=xt(n.data,r.data)}const a=P.moov(n);if(!a)throw new Bt("cannot parse moov box",n.data);const o=Ot(a,this._config.segmentDuration);if(!o)throw new Bt("cannot parse segments",n.data);this.meta=At(a);const{videoSegments:l,audioSegments:h}=o;return this.videoSegments=l,this.audioSegments=h,this.logger.debug("[load moov end!!!!!]"),{meta:this.meta,videoSegments:l,audioSegments:h,responses:s}}loadCacheMeta(e,t){const{moov:i}=e,s=Ot(i,this._config.segmentDuration),{videoSegments:r,audioSegments:n}=s;this.videoSegments=r,this.audioSegments=n,this._currentSegmentIndex=t,this.meta=e}getSegmentByTime(e){let t,i;return this.videoSegments.length?(t=this.videoSegments.find((t=>t.startTime<=e&&t.endTime>e)),t&&(i=this.audioSegments[t.index])):i=this.audioSegments.find((t=>t.startTime<=e&&t.endTime>e)),{video:t,audio:i}}async loadSegmentByTime(e,t,i=!0,s={}){this.isMetaLoaded||await this.loadMeta(t);const{video:r,audio:n}=this.getSegmentByTime(e);return this._loadSegment(r,n,t,i,s)}async loadNextSegment(e,t=!0,i={}){this.isMetaLoaded||await this.loadMeta();const s=this.videoSegments[this._currentSegmentIndex+1],r=this.audioSegments[this._currentSegmentIndex+1];return this._loadSegment(s,r,e,t,i)}async preload(e){if(this.isMetaLoaded||await this.loadMeta(!0),!e||e<0)return;const{video:t,audio:i}=this.getSegmentByTime(e),s=Math.max((null==t?void 0:t.index)||0,(null==i?void 0:i.index)||0);if(!s)return;const r=this.videoSegments.slice(0,s),n=this.audioSegments.slice(0,s),a=async e=>{e>s||(await this._loadSegment(r[e],n[e],!0,!1),await a(e+1))};await a(0)}cancel(){return this._loader.cancel()}async reset(e=!1){e||(this.logger.debug("[MP4loader reset func call loader.cancel]"),await this._loader.cancel()),this.vid=this.url="",this.meta={},this.downloadInfo=[],this.videoSegments=[],this.audioSegments=[],this._currentSegmentIndex=-1,this._currentLoadingSegmentIndex=-1}async destroy(){await this.reset(),this.cache.clear()}async _loadSegment(e,t,i,s,r){if(!e&&!t)return;const n=(null==e?void 0:e.index)||(null==t?void 0:t.index)||0;let a;this._currentLoadingSegmentIndex=n;try{a=await this.loadData([Math.min((null==e?void 0:e.range[0])||1/0,(null==t?void 0:t.range[0])||1/0),Math.max((null==e?void 0:e.range[1])||0,(null==t?void 0:t.range[1])||0)],i,r)}finally{this._currentLoadingSegmentIndex=-1}return a?(s&&(this._currentSegmentIndex=n),a.video=e,a.audio=t,a):void 0}async loadData(e,t,i){const s=this._getCacheKey(e),r=await this.cache.get(s);let n;if(r)n={data:r,state:!0,options:{fromCache:!0,range:e,vid:this.vid}};else{const t=i&&i.url?i.url:this.url;n=await this._loader.load(t,{range:e,vid:this.vid,...i})}if(n)return r||(n.data&&this.downloadInfo.push({startTime:n.startTime,endTime:n.endTime,size:n.data.byteLength,range:e}),this.downloadInfo&&this.downloadInfo.length>this._config.maxDownloadInfoSize&&(this.downloadInfo=this.downloadInfo.slice(-this._config.maxDownloadInfoSize))),n}_getCacheKey(e){return(this.vid||this.url)+":"+e}}const zt=function(){try{return"undefined"!=typeof localStorage&&"setItem"in window.localStorage&&!!window.localStorage.setItem}catch(e){return!1}}()&&!function(){const e="_localstorage_support_test";try{return window.localStorage.setItem(e,!0),window.localStorage.removeItem(e),!1}catch(t){return!0}}(),jt=Ht();function Ht(){if(zt)try{return!!window.localStorage.getItem("playerlog")}catch(e){return!1}return!1}function Vt(e,...t){jt&&console.log&&console.log("[logger]",Lt.nowTime(),e,...t)}!function(){if(zt)try{return!!window.localStorage.getItem("playertestlog")}catch(e){return!1}}();const qt="error",Kt="metaReady",Wt="moov_request_Progress",Yt="update_load_fragmentIdx";class $t extends r{constructor(e,t){super(),__publicField(this,"onprogressDataArrive",(async(e,t,i)=>{if(e&&e.byteLength>0){const s=this.timeRange[i.index].range;s&&i.range[1]>=s[1]&&!t&&(t=!0),this.log("[mp4.loadFragment onprogressDataArrive ] receive data, >>> index,",i.index,",range,",JSON.stringify(i.range),", dataLen,",e.byteLength),this._mux(e,i.range[0],i.index,t)}t&&(this.timeRange[i.index].downloaded=!0,this.bufferLoadedPos=-1,this.log("[FragLoadDowned],fragmentIdx,",i.index,",rangeEnd,",i.range[1]))})),this.url=e,this.options=$t.getDefaultConfig(),Object.keys(t).map((e=>{void 0!==t[e]&&null!==t[e]&&(this.options[e]=t[e])})),this.timeRange=[],this.CHUNK_SIZE=this.options.chunkSize,this.bufferLoaded=new Uint8Array(0),this.bufferLoadedPos=0,this.meta=null,this.videoTrak=null,this.audioTrak=null,this.canDownload=!0,this._loadSuccessCallBack=null,this._isPending=!1,this._metaLoading=!1,this.MP4Loader=new Nt({segmentDuration:this.options.segmentDuration,url:e,vid:t.vid,retry:this.options.retryCount,retryDelay:this.options.retryDelay,timeout:this.options.timeout,...t.reqOptions,openLog:Ht()}),this.MP4Demuxer=null,this.FMP4Remuxer=null,this._needInitSegment=!0,this._switchBitRate=!1,this.enableWorker=this.options.enableWorker,this.enableWorker||(this.MP4Demuxer=null,this.FMP4Remuxer=null),this.seekTime=-1,this.changeBitRateTime=-1}static getDefaultConfig(){return{segmentDuration:5,onProcessMinLen:1024,chunkSize:8e5,retryCount:3,retryDelay:1e3,timeout:3e3,enableWorker:!1,playerId:"",vid:"",ext:{}}}async changeBitRate(e){this.url=e.url,await this.MP4Loader.changeUrl(this.url,this.options.vid+Date.now(),this.CHUNK_SIZE),this._switchBitRate=!0,this.log("[switchBitrate] changeUrl, bitRate,",this.url)}log(e,...t){const{options:i}=this;Vt(i&&i.vid?`[MP4] ${i.vid} ${e}`:`[MP4] ${e}`,...t)}async errorHandler(e,t,i={}){const{response:s,message:r}=e,n=this.options?this.options.vid:"";let a=null;this._isPending=!0,s?(a=new Rt("network",s.status,{httpText:s.httpText,message:r,url:s.url}),this.emit(qt,a)):(console.error(`[MP4] [${n}] errorHandler,`,e),a=e,this.emit(qt,a))}async init(){this.url&&await this.MP4Loader.changeUrl(this.url,this.options.vid+Date.now(),this.CHUNK_SIZE),await this.getMetaInfo()}getTimeRange(){const e=[];let t=null;for(let i=0;this.videoTrak&&i<this.videoTrak.length;i++)t={startTime:this.videoTrak[i].startTime,endTime:this.videoTrak[i].endTime,downloaded:!1,isLoading:!1},e.push(t);if(this.audioTrak&&this.audioTrak.length>e.length)for(let i=e.length;i<this.audioTrak.length;i++)t={startTime:Math.max(this.audioTrak[i].startTime,t?t.endTime:0),endTime:Math.max(this.audioTrak[i].endTime,t?t.endTime:0),downloaded:!1,isLoading:!1},e.push(t);return e}async getMetaInfo(e=!0){try{this._metaLoading=!0,this.log("getMetaInfo start"),this.bufferLoaded=new Uint8Array(0);let t=0;const i=async(i,s,r,n,o)=>{const l=o?Number(function(e){const t=It;if(e&&e.get&&e.get(t)){const i=e.get(t).split("/");if(2===(null==i?void 0:i.length))return i[1]}return null}(o.headers)):0,h=o?Number(function(e){const t="Content-Length";return e&&e.get&&e.get(t)?e.get(t):null}(o.headers)):0;if(this.log("getMetaInfo onProgressHandle, dataLen,",i?i.byteLength:-1,", state,",s,",range,",JSON.stringify(r.range)),console.log("getMetaInfo onProgressHandle, dataLen,",s,",state","range",JSON.stringify(r.range),h,l),n)return void this.emit(qt,n);if(i&&r.range[0]===t&&(this.bufferLoaded=a(Uint8Array,this.bufferLoaded,new Uint8Array(i)),t+=i.byteLength),r.meta&&!this.meta){const t=r.meta;this.videoTrak=t.videoSegments,this.audioTrak=t.audioSegments,this.timeRange=this.getTimeRange(),this.meta={...t.meta,ext:{videoTrak:this.videoTrak,audioTrak:this.audioTrak}},t.bufferLoaded=this.bufferLoaded,this.log("meta reach"),e&&this.emit(Kt,this.meta)}this.meta&&s&&(this.log("[getMetaInfo req end]"),this._metaLoading=!1),this.meta&&(i||s)&&(this.log("emit moov_req_progress"),this.emit(Wt));const d=(null==r?void 0:r.range)||[];l>0&&!this.meta&&d&&d.length>1&&d[1]>=l&&(this.log("getMetaInfo_error_nometa"),this.emit(qt,{message:"getMetaInfo_error_nometa"}))};await this.MP4Loader.loadMetaProcess(this.MP4Loader.cache,[0,this.CHUNK_SIZE],i)}catch(t){console.error("[MP4] trigger errorHandler getMetaInfo",null==t?void 0:t.message),this.loadError(t,"getMetaInfo")}}getFragmentIdx(e){let t,i;if(this.videoTrak.length){if(t=this.videoTrak.find((t=>t.startTime<=e&&t.endTime>e)),i=this.audioTrak.find((t=>t.startTime<=e&&t.endTime>e)),t&&i)return Math.min(t.index,i.index);if(t||i)return t?t.index:i.index;{let e=Number.MAX_VALUE;return this.videoTrak&&this.videoTrak.length>0&&(e=this.videoTrak.length-1),this.audioTrak&&this.audioTrak.length>0&&(e=Math.min(this.audioTrak.length-1,e)),e}}return i=this.audioTrak.find((t=>t.startTime<=e&&t.endTime>e)),i?i.index:0}async _checkHasMeta(){this.log(" loadMeta start"),this._metaLoading=!0;try{const e=await this.MP4Loader.loadMeta(this.MP4Loader.cache,Math.round(this.CHUNK_SIZE/2));return this._metaLoading=!1,this.videoTrak=e.videoSegments,this.audioTrak=e.audioSegments,this.meta={...e.meta,ext:{videoTrak:this.videoTrak,audioTrak:this.audioTrak}},this.timeRange=this.getTimeRange(),this.bufferLoaded=new Uint8Array(0),e.bufferLoaded=this.bufferLoaded,!0}catch(e){return console.error(e),this._metaLoading=!1,this.emit(qt,e),console.error(e),!1}}resetFragmentLoadState(e){for(let t=0;t<this.timeRange.length;t++)t<e?(this.timeRange[t].downloaded=!0,this.timeRange[t].isLoading=!0):(this.timeRange[t].downloaded=!1,this.timeRange[t].isLoading=!1)}getFragRange(e){let t=null;this.videoTrak&&(t=e<this.videoTrak.length?this.videoTrak[e]:this.videoTrak[this.videoTrak.length-1]);let i=null;this.audioTrak&&(i=e<this.audioTrak.length?this.audioTrak[e]:this.audioTrak[this.audioTrak.length-1]);let s=0,r=0;this.videoTrak&&e>=this.videoTrak.length-1&&(s=-1),this.audioTrak&&e>=this.audioTrak.length-1&&(r=-1);const n=[Math.min((null==t?void 0:t.range[0])||1/0,(null==i?void 0:i.range[0])||1/0),Math.max((null==t?void 0:t.range[1])+s||0,(null==i?void 0:i.range[1])+r||0)];return e<this.timeRange.length&&(this.timeRange[e].range=n),n}async load(e,t){if(this._loadSuccessCallBack=t,this._switchBitRate&&!this._metaLoading){this.log("[switchBitrate], switch bitRate start load, time,",e>=this.videoTrak.length?this.audioTrak[e].startTime:this.videoTrak[e].startTime,", fragIndex,",e);const t=await this._checkHasMeta();this.changeBitRateTime>0&&(this.timeRange[e].startTime<=this.changeBitRateTime&&this.changeBitRateTime<this.timeRange[e].endTime?this.log("[switchBitrate], not need update load fragIndex",e,",stTime,",this.changeBitRateTime):(e=this.getFragmentIdx(this.changeBitRateTime),this.log("[switchBitrate], need update load fragIndex",e,",stTime,",this.changeBitRateTime,",newBitrateTimeRange,",this.timeRange[e].startTime,"-",this.timeRange[e].endTime),this.emit(Yt,e)),this.seekTime=this.changeBitRateTime,this.changeBitRateTime=-1),this.resetFragmentLoadState(e),this.log("[switchBitrate], reset timerange state,",e),this._needInitSegment=!0,this.resetTansmuxer(),t&&(this._switchBitRate=!1)}if(this._switchBitRate&&this._metaLoading)return;const i=this.getFragRange(e);if(this.log("loadFragment,",e,",range,",JSON.stringify(i)),this.seekTime>0){const t=this.getSubRange(e,this.seekTime,i);this.loadFragment(e,t),this.seekTime=-1}else this.loadFragment(e,i)}getSubRange(e,t,i){var s,r;let n=i[0],a=i[0];if(this.log(">>>>>getSubRange time,",t,JSON.stringify(i)),(null==(s=this.videoTrak)?void 0:s.length)>0){const i=e<this.videoTrak.length?this.videoTrak[e]:this.videoTrak[this.videoTrak.length-1],s=i.frames.filter(Jt),r=this.meta.videoTimescale;this.log(">>>>>getSubRange video, startTime,",i.startTime,",endTime,",i.endTime);const a=s.find(((e,a)=>{const o=e.startTime/r,l=a+1<s.length?s[a+1].startTime/r:i.endTime+.8;if(t>=o&&t<l)return this.log(">>>>>getSubRange video end, startTime,",o,",endTime,",l,",startRange,",n,", keyFrameIndex,",e.index),e}));n=(null==a?void 0:a.offset)||n}let o=1;if((null==(r=this.audioTrak)?void 0:r.length)>0){const s=e<this.audioTrak.length?this.audioTrak[e]:this.audioTrak[this.audioTrak.length-1],r=s.frames,n=this.meta.audioTimescale;o=Math.floor((t*n-r[0].startTime)/s.frames[0].duration),o=Math.min(r.length-1,o);let l=o>0?r[o-1].startTime/n:r[0].startTime/n;for(;o>=0;){if(o>0&&l>t){o-=1,l=r[o].startTime/n;continue}const e=(r[o].startTime+r[o].duration)/n;if(l<=t&&t<e&&i[0]<r[o].offset){a=r[o].offset,this.log(">>>>>getSubRange audio end, startTime,",l,",endTime,",e,",startRange,",a,", index,",o);break}l=e,o++}}const l=[Math.min(a,n),i[1]];return this.log(">>>>>getSubRange finalRange ",JSON.stringify(l),",oldRange,",JSON.stringify(i)),l}_mux(e,t,i,s){const r=this.getSamplesRange(i,"video"),n=this.getSamplesRange(i,"audio"),a=[t,t+e.byteLength];try{this.MP4Demuxer||(this.MP4Demuxer=new q(this.videoTrak,this.audioTrak,null,{openLog:Ht()}));const o=this.MP4Demuxer.demuxPart(e,t,r,n,this.meta.moov,this.useEME,this.kidValue);let l;this.FMP4Remuxer||this.checkCodecH265()&&!this.options.supportHevc||(this.FMP4Remuxer=new V(this.MP4Demuxer.videoTrack,this.MP4Demuxer.audioTrack,{openLog:Ht()})),this.log("[mux], videoTimeRange,",o.videoTrack?[o.videoTrack.startPts,o.videoTrack.endPts]:null,",audioTimeRange,",o.audioTrack?[o.audioTrack.startPts,o.audioTrack.endPts]:null);const h=Math.min(o.videoTrack.startPts,o.audioTrack.startPts),d=[h,Math.max(o.videoTrack.endPts,o.audioTrack.endPts)];if(this.FMP4Remuxer){const e=this.FMP4Remuxer.remux(this._needInitSegment,{initMerge:!0,range:a});e.initSegment&&(this._needInitSegment=!1);l={buffer:Lt.concatData(e.audioSegment,e.videoSegment),range:a,state:s,context:{range:a,fragIndex:i,timeRange:d},initSeg:e.initSegment}}else l={videoTrack:o.videoTrack,audioTrack:o.audioTrack,buffer:null,range:a,state:s,context:{range:a,fragIndex:i,timeRange:d}};this._loadSuccessCallBack&&this._loadSuccessCallBack(l)}catch(o){console.error("mux err:",o);const s=new Mt(kt.remux,wt.muxError,{msg:JSON.stringify(o)});this.errorHandler(s,"mux",{fragIndex:i,range:[t,t+e.byteLength]})}}getSamplesRange(e,t){const i=[];switch(t){case"video":if(this.videoTrak&&e<this.videoTrak.length){const t=this.videoTrak[e].frames;i.push(t[0].index),i.push(t[t.length-1].index)}break;case"audio":if(this.audioTrak&&e<this.audioTrak.length){const t=this.audioTrak[e].frames;i.push(t[0].index),i.push(t[t.length-1].index)}break;default:console.warn("[getSamplesRange] type ",t," is invalid")}return i}async loadFragment(e,t){if(!(this._isPending||t.length>0&&0===t[0]&&0===t[1]||this.timeRange[e].isLoading))if(this.log("[MP4.loadFragment] ,fragIndex,",e,",range ",t,",len ,",t[1]-t[0],", bufferLoaded_Len,",this.bufferLoaded.byteLength),t.length>=2&&t[1]&&t[1]>0&&t[1]<=this.bufferLoaded.byteLength){this.timeRange[e].isLoading=!0;const i=Math.max(t[0],this.bufferLoadedPos),s=new Uint8Array(this.bufferLoaded.slice(i,t[1]));this.log("[mp4.loadFragment] has all data: ",i,t[1]),this.timeRange[e].downloaded=!0,this.bufferLoadedPos=-1,this._mux(s,i,e,!0)}else if(t.length>=2&&t[0]&&t[0]<=this.bufferLoaded.byteLength){if(!this.timeRange[e].isLoading){const i=Math.max(t[0],this.bufferLoadedPos),s=new Uint8Array(this.bufferLoaded.slice(i,t[1]));if(s.byteLength>0)return this.bufferLoadedPos=i+s.byteLength,this.log("[mp4.loadFragment] has part data: ",i,i+s.byteLength),void this._mux(s,i,e,t[1]<=this.bufferLoadedPos);this._metaLoading||this.timeRange[e].isLoading||(this.log("[mp4.loadFragment] ready to load part data >>> ",this.bufferLoaded.byteLength,t[1]),this.timeRange[e].isLoading=!0,await this.startLoad([this.bufferLoaded.byteLength,t[1]],e))}}else this._metaLoading&&!(t[0]>=this.CHUNK_SIZE)||this.timeRange[e].isLoading||(this.timeRange[e].isLoading=!0,this.log("[mp4.loadFragment],ready to load all data ,segmentIdx, ",e,",range >>> ",JSON.stringify(t)),await this.startLoad(t,e))}async startLoad(e,t){try{await this.MP4Loader.loadData(e,this.MP4Loader.cache,{index:t,onProgress:this.onprogressDataArrive,onProcessMinLen:this.options.onProcessMinLen,url:this.url})}catch(i){console.error("[MP4] trigger errorHandler startLoad",e,t,null==i?void 0:i.message),this.timeRange[t].isLoading=!1,this.loadError(i,"startLoad",{range:e,fragIndex:t})}}loadError(e,t,i){var s;!e.response&&(e.response={}),e.isTimeout?e.response.status="timeout":(null==(s=null==e?void 0:e.response)?void 0:s.status)||(e.response.status="networkError"),this.errorHandler(e,t,i)}async cancelLoading(){await this.MP4Loader&&this.MP4Loader.cancel()}async update(e){this.url=e,this.MP4Loader&&this.MP4Loader.changeUrl(e),this.MP4Loader&&this.MP4Loader.changeUrl(e)}restart(){this._isPending=!1,this.meta||this.init()}checkCodecH265(){return this.meta&&(this.meta.videoCodec.indexOf("hvc1")>-1||this.meta.videoCodec.indexOf("hev1")>-1)}destroy(){this.hasDestroyed||(this.resetTansmuxer(),this._isPending=!1,this._metaLoading=!1,this.bufferLoadedPos=0,this.bufferLoaded=new Uint8Array(0),this.MP4Loader&&(this.MP4Loader.cancel(),this.MP4Loader.destroy()),this.hasDestroyed=!0)}resetTansmuxer(){this.MP4Demuxer&&this.MP4Demuxer.reset(),this.MP4Demuxer=null,this.FMP4Remuxer&&this.FMP4Remuxer.reset(),this.FMP4Remuxer=null}}function Jt(e){if(e.keyframe)return e}class Xt{constructor(e){this.onTick_=e,this.cancelPending_=null}tickAfter(e,t=null){this.stop();let i=!0,s=null;this.cancelPending_=()=>{window.clearTimeout(s),i=!1};return s=window.setTimeout((()=>{i&&(this.onTick_(),t&&t())}),1e3*e),this}tickEvery(e){this.tickAfter(e,(()=>{this.tickEvery(e)}))}stop(){this.cancelPending_&&(this.cancelPending_(),this.cancelPending_=null)}}class Gt{constructor(){let e,t;const i=new Promise(((i,s)=>{e=i,t=s}));return i.resolve=function(t){e(t),i.state="fulfilled"},i.reject=function(e){t(e),i.state="rejected",i.isBreak="DESTROYED"===e},i.state="pending",i}resolve(e){}reject(e){}}let Qt=null,Zt=null,ei=null,ti=null;class ii extends t.BasePlugin{constructor(e){super(e),__publicField(this,"_onMp4DataCallBack",(()=>{this._isMseInit&&this._onTimeUpdate()})),__publicField(this,"_onMp4MetaReady",(e=>{const{config:i}=this,s=this.mp4.checkCodecH265();try{if(s&&!this.config.supportHevc){const e="browser not support HEVC",s=new t.Errors(this.player,{errorType:"runtime",errorTypeCode:kt.runtime,errorCode:wt.h265Error,errorMessage:e,vid:i.vid,mediaError:{code:wt.h265Error,message:e}});this._errorHandler(s)}else this._initMse(e),this._initPromise.resolve()}catch(r){console.error(r);const e=new t.Errors(this.player,{errorType:"runtime",errorTypeCode:kt.runtime,errorCode:wt.mse,errorMessage:null==r?void 0:r.message,vid:i.vid,mediaError:{code:wt.other1,message:null==r?void 0:r.message}});return void this._errorHandler(e)}this._loadData()})),__publicField(this,"_onMp4Error",(e=>{const{vid:t}=this.playerConfig;console.error("[Index] _onMp4Error",t,e),this._errorHandler(e)})),__publicField(this,"_loadDataSuccess",(e=>{if(!this.isDestroy&&this.mse){this.log("[loadFragment] _loadDataSuccess ",JSON.stringify(e.context.range),",dataLen,",e.buffer?e.buffer.byteLength:0,e.state);try{e.initSeg&&(this._appendInitSeg(e.initSeg),(!e.buffer||e.buffer.byteLength<1)&&(this.log("no data, must load data"),this._onTimeUpdate()));const{buffer:t,state:i,context:s}=e;if(this.mse&&i&&(!t||t.byteLength<=0)&&s.fragIndex===this.mp4.timeRange.length-1){const e=this.player.buffered;e&&e.length>0&&(this.bufferEndTime=e.end(e.length-1)),this._isEnded(),this.log("loaded ended !!!==>>>",JSON.stringify(s.range),", fragIndex,",s.fragIndex,", bufferEndTime,",this.bufferEndTime,",meta_duration,",this.mp4.meta.duration)}if(this.mse&&i&&s.fragIndex===this.mp4.timeRange.length-1&&(!t||t.byteLength<=0)){const e=this.player.buffered;e&&e.length>0&&(this.bufferEndTime=e.end(e.length-1)),this._isEnded(),this.log("load ended !!!==>>>",this.playerConfig.vid,JSON.stringify(s.range),", fragIndex,",s.fragIndex,", bufferEndTime,",this.bufferEndTime,",meta_duration,",this.mp4.meta.duration)}t&&this.mse&&t&&t.byteLength>0&&this._appendBuffer(rt.VIDEO,t,s,i)}catch(i){console.error("appendBuffer error: ",i),this.log("appendBuffer error",i);const e=new t.Errors(this.player,{errorType:"runtime",errorTypeCode:kt.runtime,errorCode:wt.mse,vid:this.player.config.vid,errorMessage:i.message,mediaError:{code:wt.mse,message:i.message}});this._errorHandler(e)}(null==e?void 0:e.state)&&this._onTimeUpdate()}})),__publicField(this,"_onWaiting",(()=>{const{player:e,config:t}=this;clearTimeout(this._waitInBufferTimer),this._waitInBufferTimer=null;const i=e.currentTime,s=e.bufferedPoint;s.end>0&&s.end-e.currentTime>=2&&this._waitAdjustTimeCnt<t.waitJampBufferMaxCnt&&(this._waitInBufferTimer=setTimeout((()=>{this._waitAdjustTimeCnt++,e.currentTime=e.currentTime+.5,this.log("[waitInBufferTimeout], waitAdjustTimeCnt,",this._waitAdjustTimeCnt,",curtime,",i,Lt.nowTime())}),t.waitingInBufferTimeOut))})),__publicField(this,"_onSeeking",(async()=>{const{player:e,mp4:t}=this,i=e.currentTime;if(this.log("[seekTime], curTime,",i,",buffer,",e.buffered2.bufferedList),!t||!t.meta)return;this.endofstream=!1,t.bufferLoadedPos=-1,t._metaLoading=!1;const s=e.bufferedPoint;let r=!1,n=0;if(s.end>0){if(r=!0,t.meta.duration-s.end<.5)return this._startProgress(),void this.log("[seeking in buffered range], buffer end,",s.end,", duration,",t.meta.duration);if(n=t.getFragmentIdx(s.end),this._curLoadSegmentIdx===n)return this._startProgress(),void this.log("[seeking in buffered range], seek fragIndex is current load segmentIdx",n);t.seekTime=s.end,n<0&&(n=this._curLoadSegmentIdx),this.log("[seeking in buffered range], seekTime ",i,",bufferRange,",s.start,"-",s.end,", fragIndex,",n)}if(!r){t.seekTime=i,n=t.getFragmentIdx(i),n<0&&(n=this._curLoadSegmentIdx),this.log("[seekTime out buffer range], curTime,",i,", Idx,",n);const{mse:s}=this;if(s&&s.isFull()){const t=e.buffered2.bufferedList,i=t[t.length-1];s.clearOpQueues(rt.VIDEO),this._checkRemoveSourceBuffer([i.start,i.end],e.currentTime,!0,!0)}}await t.cancelLoading(),t.resetFragmentLoadState(n),this._curLoadSegmentIdx=n,this._onTimeUpdate(),this._startProgress(),this._isEnded()})),__publicField(this,"changeDefineCanPlay",((e,i,s,r)=>{const{player:n}=this;if(n.ended)return void(n.currentTime=0);this.log("[oldChangeDefinition],this._changeDefState,",this._changeDefState),n.currentTime=this._changeDefState?this._changeDefState.currentTime:e;(this._changeDefState?this._changeDefState.paused:i)?n.pause():n.play(),this._changeDefState=null,n.emit(t.Events.AFTER_DEFINITION_CHANGE,{from:s,to:r})})),__publicField(this,"changeDefinition",(async(e,i)=>{const{player:s,config:r,mp4:n}=this;i||(i=s.curDefinition),this._MSEError=!1;const{definitionList:a}=s;let o=null;for(let t=0;t<a.length;t++){const i=a[t].definition;if(i===e.definition||i===Number(e.definition)){o=a[t];break}}if(!o)return void console.error("there is no definition for ",e);if(r.witchBitRateWay)return void this.oldChangeDefinition(o,i);if(this.useVideoLoad)return void ei.call(this.player,o,i);s.emit(t.Events.DEFINITION_CHANGE,{from:i,to:o});const l=s.currentTime;let h=n.getFragmentIdx(l);h<0&&(h=this._curLoadSegmentIdx),this.log("switchBitrate:point,fragIndex,",h,",startTime,",n.timeRange[h].startTime,",currentTime,",s.currentTime),n&&(this.mp4.changeBitRateTime=l,await n.cancelLoading(),n._metaLoading&&(n._metaLoading=!1)),this._removeBuffeEndTime=n.timeRange[h].startTime,this._isChangeDefinition=!0;const d=s.getBufferedRange(s.buffered);d[1]>0&&d[1]-s.currentTime>5&&(this.mse.clearOpQueues(rt.VIDEO),this.mse.remove(rt.VIDEO,s.currentTime+5,d[1])),this.log("switchBitrate: resetFragmentLoadState,",h),n.resetFragmentLoadState(h),this._curLoadSegmentIdx=h,this._handlerUrl(o.url),s.config.url=o.url;const c={...o,url:this.config._mainURL};await this.mp4.changeBitRate(c),this._onTimeUpdate(),s.emit("RESOLUTION_UPDATE",c)})),__publicField(this,"_replayHook",(()=>{var e;return null==(e=this.player)||e.play(),!1})),__publicField(this,"_retryHook",(()=>(this.beforePlayerInit(),!1))),__publicField(this,"_errorMiddleware",((e,t)=>{const{error:i}=e||{},{video:s}=this.player||{};i&&i.message&&i.message.indexOf("CHUNK_DEMUXER_ERROR_APPEND_FAILED")>-1||s&&!this.useVideoLoad&&function(e){return e.media&&(e=e.media),!!(e&&e instanceof HTMLMediaElement)&&(/^blob/.test(e.currentSrc)||/^blob/.test(e.src))}(s)?this._errorHandler(i):t(e.eventName,null==e?void 0:e.error)})),this.compatibleConfig(this.playerConfig),this.mp4=null,this.mse=null,this._waitAdjustTimeCnt=0,this._lastCheckTime=Lt.nowTime(),this._removeBuffeEndTime=0,this._pendingPromises=[]}static get pluginName(){return"mp4Plugin"}static get defaultConfig(){return{maxBufferLength:40,minBufferLength:5,disableBufferBreakCheck:!1,waitingTimeOut:15e3,waitingInBufferTimeOut:5e3,waitJampBufferMaxCnt:3,tickInSeconds:.1,reqOptions:null,closeDowngrade:!1}}static get version(){return"3.0.0-alpha.32"}compatibleConfig(e){const t=Object.keys(e);let i=null;for(let n=0;n<t.length;n++){const s=t[n].toLowerCase();if("mp4player"===s||"m4aplayer"===s){i=e[t[n]];break}}i&&(this.config={...this.config,...i});let{reqOptions:s,headers:r}=this.config;!r||s&&s.headers||(this.config.reqOptions={...s,headers:r})}afterCreate(){window.__mp4player=this;try{t.BasePlugin.defineGetterOrSetter(this.player,{__url:{get:()=>{try{return this.mse?this.mse.url:this.config.url}catch(e){return console.error(e),null}}}})}catch(e){console.error(e)}this._proxyPlayer()}attachEvents(){this.off(t.Events.SEEKING,this._onSeeking),this.on(t.Events.SEEKING,this._onSeeking),this.on(t.Events.WAITING,this._onWaiting),this.off(t.Events.URL_CHANGE,this.switchURL),this.on(t.Events.URL_CHANGE,this.switchURL)}detachEvents(){this.off(t.Events.SEEKING,this._onSeeking),this.off(t.Events.WAITING,this._onWaiting),this.off(t.Events.URL_CHANGE,this.switchURL)}_proxyPlayer(){"function"==typeof this.player.playNext&&(Qt=this.player.playNext),this.player.playNext=(...e)=>{this.playNext(...e)},Zt=this.player._startInit,ti=this.player.switchURL,ei=this.player.changeDefinition,this.player._startInit=this._playerStartInit.bind(this),this.player.switchURL=this.switchURL.bind(this),this.player.changeDefinition=this.changeDefinition.bind(this),this.player.useHooks("replay",this._replayHook),this.player.useHooks("retry",this._retryHook),this.player.setEventsMiddleware({error:this._errorMiddleware})}_playerStartInit(e){var i;const{config:s,playerConfig:r}=this;void 0===s.supportHevc&&(null==(i=t.Sniffer)?void 0:i.isHevcSupported)&&t.Sniffer.isHevcSupported()&&(s.supportHevc=!0),this._handlerUrl(r.url);const n=this.initMp4();this._initPromise=n,this._addPendingPromise(this._initPromise),this.mse&&"String"===t.Util.typeOf(e)&&/^blob/.test(e)&&e!==this.mse.url&&(e=r.url),n.then((()=>{this.mse&&(e=this.mse.url),this.attachEvents(),this._startProgress()})).catch((i=>{console.error(i);const s=!!this._initPromise&&this._initPromise.isBreak;if(this.isDestroy||s)return;let r=i;r.errorCode||(r=new t.Errors(this.player,{errorType:kt.RUNTIME,errorCode:(null==i?void 0:i.errorCode)||wt.other,vid:this.playerConfig.vid,errorMessage:(null==i?void 0:i.errorMessage)||(null==i?void 0:i.message),mediaError:{code:(null==i?void 0:i.httpCode)||wt.other,message:(null==i?void 0:i.errorMessage)||(null==i?void 0:i.message),errorType:null==i?void 0:i.errorType}}),r.url=e),this.useVideoLoad=!0,this.player.vtype="MP4_1",this.player.emit("playCatch",this.player.vtype,r)})).finally((()=>{if(!this._initPromise)return;const{isBreak:t}=this._initPromise;t||(this._initPromise&&this._removePendingPromise(this._initPromise),this._initPromise=null,!this.isDestroy&&!t&&Zt.call(this.player,e))}))}initMp4(){const{player:e,config:t}=this;e.config.vid||(e.config.vid=Date.now());const i=new Gt;this.mp4&&(this.mp4.off(Kt,this._onMp4MetaReady),this.mp4.off(qt,this._onMp4Error),this.mp4.off(Wt,this._onMp4DataCallBack),this.mp4.destroy(),this.mp4=null);const s=t._mainURL;return this.mp4=new $t(s,{...this.config,vid:e.config.vid}),this.mp4.on(Kt,this._onMp4MetaReady),this.mp4.on(qt,this._onMp4Error),this.mp4.on(Wt,this._onMp4DataCallBack),this.mp4.on(Yt,(e=>{this._curLoadSegmentIdx=e,this.log("[update curLoadSegmentIdx]",e)})),this.mp4.init(),i}_handlerUrl(e){const{config:i,playerConfig:s}=this;let r;const n=[];if("String"===t.Util.typeOf(e))r=e,s.backupURL&&n.push(s.backupURL);else if("Array"===t.Util.typeOf(e)&&e.length>0&&(r=e[0].src,e.length>1))for(let t=1;t<e.length;t++)n.push(e[t].src);if(!r&&0===n.length)return!1;i._mainURL=r,i._backupURL=n}setConfig(e){this.config=Object.assign(this.config,e)}playNext(e){const{player:t}=this;this._defInited=!1,t.resetState(),t._currentTime=0,t._duration=0,t.isPlaying=!1,this._MSEError=!1,t.pause(),this._reset(),t.setConfig(e),this.log("[Index] playNext",e),t.play(),this.emit("playnext")}checkDegrade(e){const{closeDowngrade:t}=this.config;return!t||"networkError"===e.httpCode}_errorHandler(e){var t,i;const{player:s,config:r,playerConfig:n}=this;if(!s||this.useVideoLoad)return;const{_backupURL:a}=r;if(a&&a.length>0){const e=a[0];return this.mp4.update(e),this.mp4.restart(),void a.splice(0,1)}!e.url&&(null==(t=this.mp4)?void 0:t.url)&&(e.url=this.mp4.url);const o=s.paused;console.error("final error !!!!, ",r.vid,e,null==(i=this.player.video)?void 0:i.error),this.player.vtype="MP4_2",this.player.emit("playCatch",this.player.vtype,e);if(this.checkDegrade(e)){this._initPromise&&this._removeAndRejectInitPromise(e),this._reset();const t=this.mp4?this.mp4.url:n.url;this._startDegradedPlayback(e,o,t)}else{this.player.pause(),this._reset();const{currentTime:t}=s;this.destroyMSE(),s.currentTime=t,this.emit("error",e)}}_startDegradedPlayback(e,t,i){const{player:s,playerConfig:r}=this;this.useVideoLoad=!0,this.destroyMSE(),this._currentTime=s._currentTime,this.__onmetadataHandle=()=>{this._currentTime&&(s.currentTime=this._currentTime),t?this.player.pause():this.player.play();(s.media||s.video).removeEventListener("loadedmetadata",this.__onmetadataHandle),this.__onmetadataHandle=null};const n=s.media||s.video;n.addEventListener("loadedmetadata",this.__onmetadataHandle),Ct(n),r.url=i,Pt(s,i)}_addPendingPromise(e){this._pendingPromises.push(e)}_removePendingPromise(e){const t=this._pendingPromises.indexOf(e);t>-1&&this._pendingPromises.splice(t,1)}_cancelPendingPromises(){this._pendingPromises.length>0&&this._pendingPromises.forEach((e=>{e.reject("DESTROYED")})),this._pendingPromises=[]}_removeAndRejectInitPromise(e){this._initPromise&&(this._removePendingPromise(this._initPromise),this._initPromise.reject(e))}async _initMse(e){this.mse&&(await this.mse.unbindMedia(),this.mse=null);const t=this.mp4&&this.mp4.checkCodecH265(),i=!!e.videoCodec,s=!!e.audioCodec;let r;r=i&&s?t?'video/mp4; codecs="hev1.1.6.L93.B0, mp4a.40.5"':'video/mp4; codecs="avc1.64001E, mp4a.40.5"':i?t?'video/mp4; codecs="hev1.1.6.L93.B0"':'video/mp4; codecs="avc1.64001E"':'video/mp4; codecs="mp4a.40.5"';const n={[rt.VIDEO]:{mimeType:"video/mp4",codec:r}};this.mse=new rt;this.mse.bindMedia(this.player.video).then((()=>{const e=Object.keys(n);try{for(let t=0;t<e.length;t++){const i=e[t];this.mse.createSource(i,n[i].codec)}}catch(t){console.error("MSE error: ",t),this._errorHandler(t)}this._isMseInit=!0,this._onTimeUpdate()}))}async destroyMSE(){var e;await(null==(e=this.mse)?void 0:e.unbindMedia()),this.mse=null}_onTimeUpdate(){const{mse:e,mp4:t,player:i,config:s}=this;if(!t)return;const r=t.timeRange,n=i.getBufferedRange(i.buffered2);if(e&&t&&t.canDownload){Lt.nowTime()-this._lastCheckTime>1e3&&(this._lastCheckTime=Lt.nowTime(),this._loadStuckCheck(),this._checkRemoveSourceBuffer(n,i.currentTime));const e=i.paused?i.currentTime+s.minBufferLength:i.currentTime+s.maxBufferLength;n[1]-e<0&&r.every(((e,t)=>!!e.downloaded||(!this._isChangeDefinition&&e.endTime-e.startTime>1&&this._isInBuffer(e)?(e.downloaded=!0,e.isLoading=!0,this.log(`onTimeUpdate, ${t} download segment, has buffer`,e.startTime,e.endTime),!0):void(e.startTime-i.currentTime<s.maxBufferLength&&(this._curLoadSegmentIdx=t,this.log("[onTimeUpdate],load index==>>>, ",t,",IdxTimeRange, ",e.startTime,"-",e.endTime,",buffEnd, ",n[1],",playCurTime,",i.currentTime,", bufferLen,",n[1]-i.currentTime,",bufferRangeList,",this.player.buffered2?this.player.buffered2.bufferedList:null),this._loadData()))))),this._isEnded()}this.checkRemoveOldBitrateBuffer()}checkRemoveOldBitrateBuffer(){const{mse:e,player:t}=this;e&&this._removeBuffeEndTime>0&&t.currentTime>this._removeBuffeEndTime+1&&(this.log("remove old bitrate buffer",this._removeBuffeEndTime),e.remove(rt.VIDEO,0,this._removeBuffeEndTime-1),this._removeBuffeEndTime=0)}_isInBuffer(e,t=0){let i=!1;const s=this.player.video.buffered;for(let r=0;r<s.length;r++){const n=s.start(r)-t,a=s.end(r)+t;if(n<=e.startTime&&e.endTime<=a){i=!0;break}}return i}async _loadData(){if(this.mp4&&this._isMseInit)try{await this.mp4.load(this._curLoadSegmentIdx,this._loadDataSuccess)}catch(e){console.error("[Index] _loadData error",this.playerConfig.vid,e),this._errorHandler(e)}else this.log("loadData, player.mp4 null",this._isMseInit)}_appendInitSeg(e){this.mp4&&this.mse&&this.mse.append(rt.VIDEO,e,{vid:this.playerConfig.vid,range:null,dataLen:e.byteLength,isinit:!0}).then((e=>{this.log("appendInitSeg end ==>>>",e.context?e.context:null,", costTime,",e.costtime)}))}_appendBuffer(e,t,i={},s){const{mse:r,config:n}=this;r.append(e,t,{vid:n.vid,fragIndex:i.fragIndex,range:i.range,dataLen:t.byteLength,state:s}).then((e=>{if(e&&(this.log("player appendBuffer end ==>>>",e.context?e.context:null,", costTime,",e.costtime,", opt,",e.name,",bufferRange,",this.player.getBufferedRange()),this.mse&&i.state&&i.fragIndex===this.mp4.timeRange.length-1)){const e=this.player.buffered;e&&e.length>0&&(this.bufferEndTime=e.end(e.length-1)),this._isEnded(),this.log("loaded ended !!!==>>>",i.range,", fragIndex,",i.fragIndex,", bufferEndTime,",this.bufferEndTime,",meta_duration,",this.mp4.meta.duration)}})).catch((e=>{if(console.log("[MSE error]",e),e&&(null==r?void 0:r.isFull())){const e=this.player.getBufferedRange(this.player.buffered2);this._checkRemoveSourceBuffer(e,this.player.currentTime,!0)}}))}_checkRemoveSourceBuffer(e,t,i){const{mse:s,mp4:r,player:n}=this;if(s&&r&&n&&(i&&(clearTimeout(this._removeBufferTimer),this._removeBufferTimer=null),e||(e=n.getBufferedRange(n.buffered2)),t||(t=n.currentTime),!(!i&&Lt.nowTime()-this._checkRemoveBufferLastTime<=this.config.removeBufferLen||this.endofstream)&&(this._checkRemoveBufferLastTime=Lt.nowTime(),e&&e[0]>=0&&(t-e[0]>this.config.removeBufferLen||s.isFull())))){const i=e[1],n=r.getFragmentIdx(i);if(n>=0&&r.timeRange[n].startTime<t){const t=Math.floor(Math.min(r.timeRange[n].startTime,e[1]));e[0]<t?(this.log("[checkremoveSourceBuffer], remove range==>>>",e[0],t),s.remove(rt.VIDEO,e[0],t)):s.isFull()&&!this._removeBufferTimer&&(this._removeBufferTimer=setTimeout((()=>{this._checkRemoveSourceBuffer(null,null,!0)}),1e4))}}}_isEnded(){const{player:e,mp4:t}=this,i=e.bufferedPoint,s=i?i.end:0;return!this.endofstream&&this.mse&&t.meta.duration-e.currentTime<.5&&(this.log("[check player isEnded],deal mse.endOfStream, currentTime,",e.currentTime,", bufferend,",s,", duration,",t.meta.duration),this.endofstream=!0,this.mse.endOfStream()),!!(t&&t.meta&&t.meta.duration-e.currentTime<.5)&&(this._stopProgress(),this.log("[check player isEnded],stopProgress and endOfStream,currentTime, ",e.currentTime,", bufferend,",s,", duration,",t.meta.duration),this.mse&&this.mse.endOfStream(),!0)}switchURL(e){if(this.useVideoLoad){const{player:t}=this,{currentTime:i}=t;Pt(t,e),t.once("canplay",(()=>{t.currentTime=i})),t.play()}else this.changeDefinition(e)}oldChangeDefinition(e,t){const{config:i,player:s}=this;this.log("[oldChangeDefinition],currentTime,",s.currentTime,",from,",t,",to,",e);const{currentTime:r,paused:n}=s;this._changeDefState||(this._changeDefState={currentTime:r,paused:n},this.log("[oldChangeDefinition],currentTime,",s.currentTime,",pause,",n)),s.config.url=e.url,i.focusUserDefinition=!0,s.currentTime=0,s.pause(),this._reset(),this._isMseInit=!1,this._changeDefineCanPlay&&s.off("canplay",this._changeDefineCanPlay),this._changeDefineCanPlay=()=>{this.changeDefineCanPlay(r,n,t,e),this._changeDefineCanPlay=null},s.once("canplay",this._changeDefineCanPlay),this.player.video.load(),this.initMp4()}_loadStuckCheck(){const{config:e,player:i,playerConfig:s}=this;e.disableBufferBreakCheck||(i.currentTime-(this._lastCurrentTime||0)>.1||i.paused?1!==this._bufferBreakFlag&&2!==this._bufferBreakFlag||(this.log("视频没有卡死,重置卡死标记"),this._bufferBreakFlag=0,clearTimeout(this._bufferBreakTimer),this._bufferBreakFlag=null):this._bufferBreakFlag||(this._bufferBreakFlag=1,this.log(`卡死计时开始! 持续${e.waitingTimeOut}毫秒则确认卡死`),this._bufferBreakTimer=setTimeout((()=>{this.isDestroy||(1===this._bufferBreakFlag&&(this._bufferBreakFlag=2,this.log("确认卡死!!!"),this._errorHandler(new t.Errors(this.player,{errorType:"runtime",errorTypeCode:kt.runtime,errorCode:wt.waitTimeout,errorMessage:"wait_timeout",vid:s.vid}))),this._bufferBreakTimer=null)}),e.waitingTimeOut)),this._lastCurrentTime=i.currentTime)}get isDestroy(){return!this.player}_stopProgress(){this._hasStartProgress=!1,this._requestTimer&&(this._requestTimer.stop(),this._requestTimer=null),this._bufferBreakTimer&&(clearTimeout(this._bufferBreakTimer),this._bufferBreakTimer=null,this._bufferBreakFlag=void 0)}_startProgress(){this._hasStartProgress||(this._stopProgress(),this._requestTimer=new Xt((()=>{this._requestTimer&&this._onTimeUpdate()})),this._requestTimer.tickEvery(this.config.tickInSeconds),this._hasStartProgress=!0)}log(e,...t){const{playerConfig:i}=this;Vt(i&&i.vid?`[Index]${i.vid} ${e}`:`[Index] ${e}`,...t)}_reset(){this._isMseInit=!1,this.endofstream=!1,this._curLoadSegmentIdx=0,this._removeBuffeEndTime=0,this._isChangeDefinition=!1,this._stopProgress(),this.mp4&&(this.mp4.off(Kt,this._onMp4MetaReady),this.mp4.off(qt,this._onMp4Error),this.mp4.off(Wt,this._onMp4DataCallBack),this.mp4.destroy(),this.mp4=null),this.mse&&(this.mse.unbindMedia(),this.mse=null),Ct(this.player.video)}destroy(){const{player:e}=this;e.removeHooks("replay",this._replayHook),e.removeHooks("retry",this._retryHook),e.removeEventsMiddleware({error:this._errorMiddleware}),this.detachEvents(),this._reset(),this.player.playNext=Qt,this.player._startInit=Zt,this.player.changeDefinition=ei,this.player.switchURL=ti,this._bufferBreakTimer&&clearInterval(this._bufferBreakTimer),this._removeBufferTimer&&(clearTimeout(this._removeBufferTimer),this._removeBufferTimer=null),this._waitInBufferTimer&&(clearTimeout(this._waitInBufferTimer),this._waitInBufferTimer=null)}}e.M4aPlayer=ii,e.default=ii,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
2
2
|
//# sourceMappingURL=index.min.js.map
|