dashjs
Version:
A reference client implementation for the playback of MPEG DASH via Javascript and compliant browsers.
3 lines • 24.4 kB
JavaScript
/*! v3.0.0-b90898e8, 2019-06-29T00:45:00Z */
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;((t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).dashjs||(t.dashjs={})).MetricsReporting=e()}}(function(){return function i(o,s,u){function c(t,e){if(!s[t]){if(!o[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(f)return f(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var a=s[t]={exports:{}};o[t][0].call(a.exports,function(e){return c(o[t][1][e]||e)},a,a.exports,i,o,s,u)}return s[t].exports}for(var f="function"==typeof require&&require,e=0;e<u.length;e++)c(u[e]);return c}({1:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var u,i,n,a,o=(u=void 0,i=[],n={},a={},u={extend:function(e,t,r,n){!n[e]&&t&&(n[e]={instance:t,override:r})},getSingletonInstance:s,setSingletonInstance:function(e,t,r){for(var n in i){var a=i[n];if(a.context===e&&a.name===t)return void(i[n].instance=r)}i.push({name:t,context:e,instance:r})},getSingletonFactory:function(r){var e=c(r.__dashjs_factory_name,n);return e||(e=function(e){var t=void 0;return void 0===e&&(e={}),{getInstance:function(){return(t=t||s(e,r.__dashjs_factory_name))||(t=l(r,e,arguments),i.push({name:r.__dashjs_factory_name,context:e,instance:t})),t}}},n[r.__dashjs_factory_name]=e),e},getSingletonFactoryByName:function(e){return c(e,n)},updateSingletonFactory:function(e,t){f(e,t,n)},getClassFactory:function(t){var e=c(t.__dashjs_factory_name,a);return e||(e=function(e){return void 0===e&&(e={}),{create:function(){return l(t,e,arguments)}}},a[t.__dashjs_factory_name]=e),e},getClassFactoryByName:function(e){return c(e,a)},updateClassFactory:function(e,t){f(e,t,a)}});function s(e,t){for(var r in i){var n=i[r];if(n.context===e&&n.name===t)return n.instance}return null}function c(e,t){return t[e]}function f(e,t,r){e in r&&(r[e]=t)}function l(e,t,r){var n=void 0,a=e.__dashjs_factory_name,i=t[a];if(i){var o=i.instance;if(!i.override)return o.apply({context:t,factory:u},r);for(var s in n=e.apply({context:t},r),o=o.apply({context:t,factory:u,parent:n},r))n.hasOwnProperty(s)&&(n[s]=o[s])}else n=e.apply({context:t},r);return n.getClassName=function(){return a},n}r.default=o,t.exports=r.default},{}],2:[function(e,t,r){"use strict";function n(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,n.key,n)}}Object.defineProperty(r,"__esModule",{value:!0});var a=(function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}(i,[{key:"extend",value:function(e,t){if(e){var r=!!t&&t.override,n=!!t&&t.publicOnly;for(var a in e)!e.hasOwnProperty(a)||this[a]&&!r||n&&-1===e[a].indexOf("public_")||(this[a]=e[a])}}}]),i);function i(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i)}r.default=a,t.exports=r.default},{}],3:[function(e,t,r){"use strict";function n(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,n.key,n)}}function a(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),this.init()}Object.defineProperty(r,"__esModule",{value:!0});var i=new(function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}(a,[{key:"init",value:function(){this.STREAM="stream",this.VIDEO="video",this.AUDIO="audio",this.TEXT="text",this.FRAGMENTED_TEXT="fragmentedText",this.EMBEDDED_TEXT="embeddedText",this.MUXED="muxed",this.IMAGE="image",this.STPP="stpp",this.TTML="ttml",this.VTT="vtt",this.WVTT="wvtt",this.ABR_STRATEGY_DYNAMIC="abrDynamic",this.ABR_STRATEGY_BOLA="abrBola",this.ABR_STRATEGY_THROUGHPUT="abrThroughput",this.MOVING_AVERAGE_SLIDING_WINDOW="slidingWindow",this.MOVING_AVERAGE_EWMA="ewma",this.BAD_ARGUMENT_ERROR="Invalid Arguments",this.MISSING_CONFIG_ERROR="Missing config parameter(s)",this.LOCATION="Location",this.INITIALIZE="initialize",this.TEXT_SHOWING="showing",this.TEXT_HIDDEN="hidden",this.CC1="CC1",this.CC3="CC3",this.UTF8="utf-8",this.SCHEME_ID_URI="schemeIdUri",this.START_TIME="starttime"}}]),a);r.default=i,t.exports=r.default},{}],4:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(r,"__esModule",{value:!0});var a=n(e(18)),i=n(e(5)),o=n(e(6)),s=n(e(11)),u=n(e(16));function c(){var t=this.context;return{createMetricsReporting:function(e){return(0,a.default)(t).getInstance({eventBus:e.eventBus,dashMetrics:e.dashMetrics,metricsConstants:e.metricsConstants,events:e.events}),(0,o.default)(t).create(e)},getReportingFactory:function(){return(0,u.default)(t).getInstance()},getMetricsHandlerFactory:function(){return(0,s.default)(t).getInstance()}}}c.__dashjs_factory_name="MetricsReporting";var f=dashjs.FactoryMaker.getClassFactory(c);f.events=i.default,dashjs.FactoryMaker.updateClassFactory(c.__dashjs_factory_name,f),r.default=f,t.exports=r.default},{11:11,16:16,18:18,5:5,6:6}],5:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a=e(2);function i(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),function(e,t,r){for(var n=!0;n;){var a=e,i=t,o=r;n=!1,null===a&&(a=Function.prototype);var s=Object.getOwnPropertyDescriptor(a,i);if(void 0!==s){if("value"in s)return s.value;var u=s.get;if(void 0===u)return;return u.call(o)}var c=Object.getPrototypeOf(a);if(null===c)return;e=c,t=i,r=o,n=!0,s=c=void 0}}(Object.getPrototypeOf(i.prototype),"constructor",this).call(this),this.METRICS_INITIALISATION_COMPLETE="internal_metricsReportingInitialized",this.BECAME_REPORTING_PLAYER="internal_becameReportingPlayer"}var o=new(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(i,((n=a)&&n.__esModule?n:{default:n}).default),i);r.default=o,t.exports=r.default},{2:2}],6:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(r,"__esModule",{value:!0});var s=n(e(7)),u=n(e(20)),c=n(e(5));function a(a){a=a||{};var i={},o=this.context,t=a.eventBus,e=a.events;function r(e){if(!e.error){var n=Object.keys(i);(0,u.default)(o).getInstance({adapter:a.adapter,constants:a.constants}).getMetrics(e.manifest).forEach(function(e){var t=JSON.stringify(e);if(i.hasOwnProperty(t))n.splice(t,1);else try{var r=(0,s.default)(o).create(a);r.initialize(e),i[t]=r}catch(e){}}),n.forEach(function(e){i[e].reset(),delete i[e]}),t.trigger(c.default.METRICS_INITIALISATION_COMPLETE)}}function n(){Object.keys(i).forEach(function(e){i[e].reset()}),i={}}return t.on(e.MANIFEST_UPDATED,r),t.on(e.STREAM_TEARDOWN_COMPLETE,n),{reset:function(){t.off(e.MANIFEST_UPDATED,r),t.off(e.STREAM_TEARDOWN_COMPLETE,n)}}}a.__dashjs_factory_name="MetricsCollectionController",r.default=dashjs.FactoryMaker.getClassFactory(a),t.exports=r.default},{20:20,5:5,7:7}],7:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(r,"__esModule",{value:!0});var s=n(e(9)),u=n(e(10)),c=n(e(8));function a(t){t=t||{};var r=void 0,n=void 0,a=void 0,i=this.context;function o(){r&&r.reset(),n&&n.reset(),a&&a.reset()}return{initialize:function(e){try{(a=(0,s.default)(i).create({mediaElement:t.mediaElement})).initialize(e.Range),(n=(0,u.default)(i).create({debug:t.debug,metricsConstants:t.metricsConstants})).initialize(e.Reporting,a),(r=(0,c.default)(i).create({debug:t.debug,eventBus:t.eventBus,metricsConstants:t.metricsConstants,events:t.events})).initialize(e.metrics,n)}catch(e){throw o(),e}},reset:o}}a.__dashjs_factory_name="MetricsController",r.default=dashjs.FactoryMaker.getClassFactory(a),t.exports=r.default},{10:10,8:8,9:9}],8:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a=e(11),i=(n=a)&&n.__esModule?n:{default:n};function o(e){e=e||{};var o=[],t=void 0,r=this.context,n=e.eventBus,a=e.events,s=(0,i.default)(r).getInstance({debug:e.debug,eventBus:e.eventBus,metricsConstants:e.metricsConstants});function u(t){o.forEach(function(e){e.handleNewMetric(t.metric,t.value,t.mediaType)})}return t={initialize:function(e,i){e.split(",").forEach(function(e,t,r){var n;if(-1!==e.indexOf("(")&&-1===e.indexOf(")")){var a=r[t+1];a&&-1===a.indexOf("(")&&-1!==a.indexOf(")")&&(e+=","+a,delete r[t+1])}(n=s.create(e,i))&&o.push(n)}),n.on(a.METRIC_ADDED,u,t),n.on(a.METRIC_UPDATED,u,t)},reset:function(){n.off(a.METRIC_ADDED,u,t),n.off(a.METRIC_UPDATED,u,t),o.forEach(function(e){return e.reset()}),o=[]}}}o.__dashjs_factory_name="MetricsHandlersController",r.default=dashjs.FactoryMaker.getClassFactory(o),t.exports=r.default},{11:11}],9:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a=e(27),u=(n=a)&&n.__esModule?n:{default:n};function i(e){e=e||{};var t,i=!1,r=this.context,o=void 0,s=e.mediaElement;return t={initialize:function(e){e&&e.length&&(e.forEach(function(e){var t=e.starttime,r=t+e.duration;o.add(t,r)}),i=!!e[0]._useWallClockTime)},reset:function(){o.clear()},isEnabled:function(){var e,t=o.length;if(!t)return!0;e=i?(new Date).getTime()/1e3:s.currentTime;for(var r=0;r<t;r+=1){var n=o.start(r),a=o.end(r);if(n<=e&&e<a)return!0}return!1}},o=(0,u.default)(r).create(),t}i.__dashjs_factory_name="RangeController",r.default=dashjs.FactoryMaker.getClassFactory(i),t.exports=r.default},{27:27}],10:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a=e(16),i=(n=a)&&n.__esModule?n:{default:n};function o(e){var n=[],a=(0,i.default)(this.context).getInstance(e);return{initialize:function(e,r){e.some(function(e){var t=a.create(e,r);if(t)return n.push(t),!0})},reset:function(){n.forEach(function(e){return e.reset()}),n=[]},report:function(t,r){n.forEach(function(e){return e.report(t,r)})}}}o.__dashjs_factory_name="ReportingController",r.default=dashjs.FactoryMaker.getClassFactory(o),t.exports=r.default},{16:16}],11:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(r,"__esModule",{value:!0});var c=n(e(12)),f=n(e(13)),l=n(e(15)),d=n(e(14));function a(a){var i=(a=a||{}).debug,o=/([a-zA-Z]*)(\(([0-9]*)(\,\s*([a-zA-Z]*))?\))?/,s=this.context,u={BufferLevel:c.default,DVBErrors:f.default,HttpList:l.default,PlayList:d.default,RepSwitchList:d.default,TcpList:d.default};return{create:function(e,t){var r,n=e.match(o);if(n){try{(r=u[n[1]](s).create({eventBus:a.eventBus,metricsConstants:a.metricsConstants})).initialize(n[1],t,n[3],n[5])}catch(e){r=null,i.error("MetricsHandlerFactory: Could not create handler for type "+n[1]+" with args "+n[3]+", "+n[5]+" ("+e.message+")")}return r}},register:function(e,t){u[e]=t},unregister:function(e){delete u[e]}}}a.__dashjs_factory_name="MetricsHandlerFactory",r.default=dashjs.FactoryMaker.getSingletonFactory(a),t.exports=r.default},{12:12,13:13,14:14,15:15}],12:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a=e(19),l=(n=a)&&n.__esModule?n:{default:n};function i(e){e=e||{};var n=void 0,a=void 0,i=void 0,o=void 0,t=void 0,r=this.context,s=(0,l.default)(r).getInstance(),u=[],c=e.metricsConstants;function f(){var e=function(){try{return Object.keys(u).map(function(e){return u[e]}).reduce(function(e,t){return e.level<t.level?e:t})}catch(e){return}}();e&&t!==e.t&&(t=e.t,n.report(i,e))}return{initialize:function(e,t,r){t&&(a=s.validateN(r),n=t,i=s.reconstructFullMetricName(e,r),o=setInterval(f,a))},reset:function(){clearInterval(o),a=0,t=n=o=null},handleNewMetric:function(e,t,r){e===c.BUFFER_LEVEL&&(u[r]=t)}}}i.__dashjs_factory_name="BufferLevelHandler",r.default=dashjs.FactoryMaker.getClassFactory(i),t.exports=r.default},{19:19}],13:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a=e(5),o=(n=a)&&n.__esModule?n:{default:n};r.default=dashjs.FactoryMaker.getClassFactory(function(e){var r=void 0,n=(e=e||{}).eventBus,a=e.metricsConstants;function i(){n.off(o.default.METRICS_INITIALISATION_COMPLETE,i,this),n.trigger(o.default.BECAME_REPORTING_PLAYER)}return{initialize:function(e,t){t&&(r=t,n.on(o.default.METRICS_INITIALISATION_COMPLETE,i,this))},reset:function(){r=null},handleNewMetric:function(e,t){e===a.DVB_ERRORS&&r&&r.report(e,t)}}}),t.exports=r.default},{5:5}],14:[function(e,t,r){"use strict";function n(){var r=void 0,n=void 0;return{initialize:function(e,t){r=e,n=t},reset:function(){n=null,r=void 0},handleNewMetric:function(e,t){e===r&&n&&n.report(r,t)}}}Object.defineProperty(r,"__esModule",{value:!0}),n.__dashjs_factory_name="GenericMetricHandler",r.default=dashjs.FactoryMaker.getClassFactory(n),t.exports=r.default},{}],15:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a=e(19),l=(n=a)&&n.__esModule?n:{default:n};function i(e){e=e||{};var a=void 0,i=void 0,o=void 0,s=void 0,u=void 0,r=[],c=(0,l.default)(this.context).getInstance(),n=e.metricsConstants;function f(){var e=r;e.length&&a&&a.report(s,e),r=[]}return{initialize:function(e,t,r,n){t&&(i=c.validateN(r),a=t,n&&n.length&&(o=n),s=c.reconstructFullMetricName(e,r,n),u=setInterval(f,i))},reset:function(){clearInterval(u),r=[],a=o=i=u=null},handleNewMetric:function(e,t){e===n.HTTP_REQUEST&&(o&&o!==t.type||r.push(t))}}}i.__dashjs_factory_name="HttpListHandler",r.default=dashjs.FactoryMaker.getClassFactory(i),t.exports=r.default},{19:19}],16:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a=e(17),s=(n=a)&&n.__esModule?n:{default:n};function i(e){e=e||{};var n={"urn:dvb:dash:reporting:2014":s.default},a=this.context,i=e.debug,o=e.metricsConstants;return{create:function(t,e){var r=void 0;try{(r=n[t.schemeIdUri](a).create({metricsConstants:o})).initialize(t,e)}catch(e){r=null,i.error("ReportingFactory: could not create Reporting with schemeIdUri "+t.schemeIdUri+" ("+e.message+")")}return r},register:function(e,t){n[e]=t},unregister:function(e){delete n[e]}}}i.__dashjs_factory_name="ReportingFactory",r.default=dashjs.FactoryMaker.getSingletonFactory(i),t.exports=r.default},{17:17}],17:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(r,"__esModule",{value:!0});var d=n(e(21)),_=n(e(22));function a(e){e=e||{};var t,r=this.context,n=void 0,a=void 0,i=void 0,o=void 0,s=void 0,u=void 0,c=[],f=e.metricsConstants;function l(){o=i=!1,u=s=null}return t={report:function(r,e){Array.isArray(e)||(e=[e]),o&&u.isEnabled()&&e.forEach(function(e){var t=n.serialise(e);r!==f.DVB_ERRORS&&(t="metricname="+r+"&"+t),function(e,t,r){function n(){var e=c.indexOf(a);-1!==e&&(c.splice(e,1),200<=a.status&&a.status<300?t&&t():r&&r())}var a=new XMLHttpRequest;c.push(a);try{a.open("GET",e),a.onloadend=n,a.onerror=n,a.send()}catch(e){a.onerror()}}(t=s+"?"+t,null,function(){o=!1})})},initialize:function(e,t){var r=void 0;if(u=t,!(s=e["dvb:reportingUrl"]))throw new Error("required parameter missing (dvb:reportingUrl)");i||((r=e["dvb:probability"]||e["dvb:priority"]||0)&&(1e3===r||r/1e3>=a.random())&&(o=!0),i=!0)},reset:function(){l()}},n=(0,d.default)(r).getInstance(),a=(0,_.default)(r).getInstance(),l(),t}a.__dashjs_factory_name="DVBReporting",r.default=dashjs.FactoryMaker.getClassFactory(a),t.exports=r.default},{21:21,22:22}],18:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(r,"__esModule",{value:!0});var h=n(e(23)),y=n(e(5));function a(e){var t=void 0,n=void 0,r=(e=e||{}).eventBus,a=e.dashMetrics,i=e.metricsConstants,o=e.events;function s(e){var t=new h.default;if(n){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.mpdurl||(t.mpdurl=n.originalUrl||n.url),t.terror||(t.terror=new Date),a.addDVBErrors(t)}}function u(e){e.error||(n=e.manifest)}function c(e){s({errorcode:h.default.BASE_URL_CHANGED,servicelocation:e.entry})}function f(){s({errorcode:h.default.BECAME_REPORTER})}function l(e){switch(e.metric){case i.HTTP_REQUEST:!function(e){(0===e.responsecode||400<=e.responsecode||e.responsecode<100||600<=e.responsecode)&&s({errorcode:e.responsecode||h.default.CONNECTION_ERROR,url:e.url,terror:e.tresponse,servicelocation:e._serviceLocation})}(e.value)}}function d(e){var t=void 0;switch(e.error?e.error.code:0){case MediaError.MEDIA_ERR_NETWORK:t=h.default.CONNECTION_ERROR;break;case MediaError.MEDIA_ERR_DECODE:t=h.default.CORRUPT_MEDIA_OTHER;break;default:return}s({errorcode:t})}function _(){r.on(o.MANIFEST_UPDATED,u,t),r.on(o.SERVICE_LOCATION_BLACKLIST_CHANGED,c,t),r.on(o.METRIC_ADDED,l,t),r.on(o.METRIC_UPDATED,l,t),r.on(o.PLAYBACK_ERROR,d,t),r.on(y.default.BECAME_REPORTING_PLAYER,f,t)}return t={initialise:_,reset:function(){r.off(o.MANIFEST_UPDATED,u,t),r.off(o.SERVICE_LOCATION_BLACKLIST_CHANGED,c,t),r.off(o.METRIC_ADDED,l,t),r.off(o.METRIC_UPDATED,l,t),r.off(o.PLAYBACK_ERROR,d,t),r.off(y.default.BECAME_REPORTING_PLAYER,f,t)}},_(),t}a.__dashjs_factory_name="DVBErrorsTranslator",r.default=dashjs.FactoryMaker.getSingletonFactory(a),t.exports=r.default},{23:23,5:5}],19:[function(e,t,r){"use strict";function n(){return{reconstructFullMetricName:function(e,t,r){var n=e;return t&&(n+="("+t,r&&r.length&&(n+=","+r),n+=")"),n},validateN:function(e){if(!e)throw new Error("missing n");if(isNaN(e))throw new Error("n is NaN");if(e<0)throw new Error("n must be positive");return e}}}Object.defineProperty(r,"__esModule",{value:!0}),n.__dashjs_factory_name="HandlerHelpers",r.default=dashjs.FactoryMaker.getSingletonFactory(n),t.exports=r.default},{}],20:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(r,"__esModule",{value:!0});var i=n(e(24)),o=n(e(25)),c=n(e(26));function a(e){var s=(e=e||{}).adapter,u=e.constants;return{getMetrics:function(a){var t=[];return a&&a.Metrics_asArray&&a.Metrics_asArray.forEach(function(e){var n=new i.default,r=s.getIsDynamic(a);e.hasOwnProperty("metrics")&&(n.metrics=e.metrics,e.Range_asArray&&e.Range_asArray.forEach(function(e){var t=new o.default;t.starttime=function(e,t,r){var n=s.getMpd(e),a=void 0,i=void 0,o=0;return t?o=s.getAvailabilityStartTime(n)/1e3:(a=s.getRegularPeriods(n)).length&&(o=a[0].start),i=o,r&&r.hasOwnProperty(u.START_TIME)&&(i+=r.starttime),i}(a,r,e),e.hasOwnProperty("duration")?t.duration=e.duration:t.duration=s.getDuration(a),t._useWallClockTime=r,n.Range.push(t)}),e.Reporting_asArray&&(e.Reporting_asArray.forEach(function(e){var t=new c.default;if(e.hasOwnProperty(u.SCHEME_ID_URI)){for(var r in t.schemeIdUri=e.schemeIdUri,e)e.hasOwnProperty(r)&&(t[r]=e[r]);n.Reporting.push(t)}}),t.push(n)))}),t}}}a.__dashjs_factory_name="ManifestParsing",r.default=dashjs.FactoryMaker.getSingletonFactory(a),t.exports=r.default},{24:24,25:25,26:26}],21:[function(e,t,r){"use strict";function n(){return{serialise:function r(e){var t=[],n=[],a=void 0,i=void 0;for(a in e)if(e.hasOwnProperty(a)&&0!==a.indexOf("_")){if(null==(i=e[a])&&(i=""),Array.isArray(i)){if(!i.length)continue;n=[],i.forEach(function(e){var t="Object"!==Object.prototype.toString.call(e).slice(8,-1);n.push(t?e:r(e))}),i=n.map(encodeURIComponent).join(",")}else"string"==typeof i?i=encodeURIComponent(i):i instanceof Date?i=i.toISOString():"number"==typeof i&&(i=Math.round(i));t.push(a+"="+i)}return t.join("&")}}}Object.defineProperty(r,"__esModule",{value:!0}),n.__dashjs_factory_name="MetricSerialiser",r.default=dashjs.FactoryMaker.getSingletonFactory(n),t.exports=r.default},{}],22:[function(e,t,r){"use strict";function n(){var e,n=window.crypto||window.msCrypto,t=Uint32Array,a=Math.pow(2,8*t.BYTES_PER_ELEMENT)-1,r=10,i=void 0,o=void 0;function s(){n&&(i=i||new t(r),n.getRandomValues(i),o=0)}return e={random:function(e,t){var r=void 0;return e=e||0,t=t||1,n?(o===i.length&&s(),r=i[o]/a,o+=1):r=Math.random(),r*(t-e)+e}},s(),e}Object.defineProperty(r,"__esModule",{value:!0}),n.__dashjs_factory_name="RNG",r.default=dashjs.FactoryMaker.getSingletonFactory(n),t.exports=r.default},{}],23:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});function n(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),this.mpdurl=null,this.errorcode=null,this.terror=null,this.url=null,this.ipaddress=null,this.servicelocation=null}n.SSL_CONNECTION_FAILED_PREFIX="SSL",n.DNS_RESOLUTION_FAILED="C00",n.HOST_UNREACHABLE="C01",n.CONNECTION_REFUSED="C02",n.CONNECTION_ERROR="C03",n.CORRUPT_MEDIA_ISOBMFF="M00",n.CORRUPT_MEDIA_OTHER="M01",n.BASE_URL_CHANGED="F00",n.BECAME_REPORTER="S00",r.default=n,t.exports=r.default},{}],24:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});r.default=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.metrics="",this.Range=[],this.Reporting=[]},t.exports=r.default},{}],25:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});r.default=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.starttime=0,this.duration=1/0,this._useWallClockTime=!1},t.exports=r.default},{}],26:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});r.default=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.schemeIdUri="",this.value=""},t.exports=r.default},{}],27:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a=e(1),i=(n=a)&&n.__esModule?n:{default:n},o=e(28);function s(){return{customTimeRangeArray:[],length:0,add:function(e,t){var r=0;for(r=0;r<this.customTimeRangeArray.length&&e>this.customTimeRangeArray[r].start;r++);for(this.customTimeRangeArray.splice(r,0,{start:e,end:t}),r=0;r<this.customTimeRangeArray.length-1;r++)this.mergeRanges(r,r+1)&&r--;this.length=this.customTimeRangeArray.length},clear:function(){this.customTimeRangeArray=[],this.length=0},remove:function(e,t){for(var r=0;r<this.customTimeRangeArray.length;r++)if(e<=this.customTimeRangeArray[r].start&&t>=this.customTimeRangeArray[r].end)this.customTimeRangeArray.splice(r,1),r--;else{if(e>this.customTimeRangeArray[r].start&&t<this.customTimeRangeArray[r].end){this.customTimeRangeArray.splice(r+1,0,{start:t,end:this.customTimeRangeArray[r].end}),this.customTimeRangeArray[r].end=e;break}e>this.customTimeRangeArray[r].start&&e<this.customTimeRangeArray[r].end?this.customTimeRangeArray[r].end=e:t>this.customTimeRangeArray[r].start&&t<this.customTimeRangeArray[r].end&&(this.customTimeRangeArray[r].start=t)}this.length=this.customTimeRangeArray.length},mergeRanges:function(e,t){var r=this.customTimeRangeArray[e],n=this.customTimeRangeArray[t];return r.start<=n.start&&n.start<=r.end&&r.end<=n.end?(r.end=n.end,this.customTimeRangeArray.splice(t,1),!0):n.start<=r.start&&r.start<=n.end&&n.end<=r.end?(r.start=n.start,this.customTimeRangeArray.splice(t,1),!0):n.start<=r.start&&r.start<=n.end&&r.end<=n.end?(this.customTimeRangeArray.splice(e,1),!0):r.start<=n.start&&n.start<=r.end&&n.end<=r.end&&(this.customTimeRangeArray.splice(t,1),!0)},start:function(e){return(0,o.checkInteger)(e),e>=this.customTimeRangeArray.length||e<0?NaN:this.customTimeRangeArray[e].start},end:function(e){return(0,o.checkInteger)(e),e>=this.customTimeRangeArray.length||e<0?NaN:this.customTimeRangeArray[e].end}}}s.__dashjs_factory_name="CustomTimeRanges",r.default=i.default.getClassFactory(s),t.exports=r.default},{1:1,28:28}],28:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.checkParameterType=function(e,t){if(typeof e!==t)throw i.default.BAD_ARGUMENT_ERROR},r.checkInteger=function(e){if(null===e||isNaN(e)||e%1!=0)throw i.default.BAD_ARGUMENT_ERROR+" : argument is not an integer"},r.checkRange=function(e,t,r){if(e<t||r<e)throw i.default.BAD_ARGUMENT_ERROR+" : argument out of range"},r.checkIsVideoOrAudioType=function(e){if("string"!=typeof e||e!==i.default.AUDIO&&e!==i.default.VIDEO)throw i.default.BAD_ARGUMENT_ERROR};var n,a=e(3),i=(n=a)&&n.__esModule?n:{default:n}},{3:3}]},{},[4])(4)});
//# sourceMappingURL=dash.reporting.min.js.map