dashjs
Version:
A reference client implementation for the playback of MPEG DASH via Javascript and compliant browsers.
1,047 lines (929 loc) • 4.41 MB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else if(typeof exports === 'object')
exports["dashjs"] = factory();
else
root["dashjs"] = factory();
})(self, function() {
return /******/ (function() { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "./node_modules/@svta/common-media-library/dist/cmcd/CMCD_OBJECT.js":
/*!**************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmcd/CMCD_OBJECT.js ***!
\**************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CMCD_OBJECT: function() { return /* binding */ CMCD_OBJECT; }
/* harmony export */ });
/**
* CMCD object header name.
*
* @group CMCD
*
* @beta
*/
var CMCD_OBJECT = 'CMCD-Object';
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmcd/CMCD_PARAM.js":
/*!*************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmcd/CMCD_PARAM.js ***!
\*************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CMCD_PARAM: function() { return /* binding */ CMCD_PARAM; }
/* harmony export */ });
/**
* CMCD parameter name.
*
* @group CMCD
*
* @beta
*/
var CMCD_PARAM = 'CMCD';
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmcd/CMCD_REQUEST.js":
/*!***************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmcd/CMCD_REQUEST.js ***!
\***************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CMCD_REQUEST: function() { return /* binding */ CMCD_REQUEST; }
/* harmony export */ });
/**
* CMCD request header name.
*
* @group CMCD
*
* @beta
*/
var CMCD_REQUEST = 'CMCD-Request';
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmcd/CMCD_SESSION.js":
/*!***************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmcd/CMCD_SESSION.js ***!
\***************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CMCD_SESSION: function() { return /* binding */ CMCD_SESSION; }
/* harmony export */ });
/**
* CMCD session header name.
*
* @group CMCD
*
* @beta
*/
var CMCD_SESSION = 'CMCD-Session';
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmcd/CMCD_STATUS.js":
/*!**************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmcd/CMCD_STATUS.js ***!
\**************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CMCD_STATUS: function() { return /* binding */ CMCD_STATUS; }
/* harmony export */ });
/**
* CMCD status header name.
*
* @group CMCD
*
* @beta
*/
var CMCD_STATUS = 'CMCD-Status';
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmcd/CmcdFormatters.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmcd/CmcdFormatters.js ***!
\*****************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CmcdFormatters: function() { return /* binding */ CmcdFormatters; }
/* harmony export */ });
/* harmony import */ var _utils_urlToRelativePath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/urlToRelativePath.js */ "./node_modules/@svta/common-media-library/dist/utils/urlToRelativePath.js");
var toRounded = function toRounded(value) {
return Math.round(value);
};
var toUrlSafe = function toUrlSafe(value, options) {
if (options === null || options === void 0 ? void 0 : options.baseUrl) {
value = (0,_utils_urlToRelativePath_js__WEBPACK_IMPORTED_MODULE_0__.urlToRelativePath)(value, options.baseUrl);
}
return encodeURIComponent(value);
};
var toHundred = function toHundred(value) {
return toRounded(value / 100) * 100;
};
/**
* The default formatters for CMCD values.
*
* @group CMCD
*
* @beta
*/
var CmcdFormatters = {
/**
* Bitrate (kbps) rounded integer
*/
br: toRounded,
/**
* Duration (milliseconds) rounded integer
*/
d: toRounded,
/**
* Buffer Length (milliseconds) rounded nearest 100ms
*/
bl: toHundred,
/**
* Deadline (milliseconds) rounded nearest 100ms
*/
dl: toHundred,
/**
* Measured Throughput (kbps) rounded nearest 100kbps
*/
mtp: toHundred,
/**
* Next Object Request URL encoded
*/
nor: toUrlSafe,
/**
* Requested maximum throughput (kbps) rounded nearest 100kbps
*/
rtp: toHundred,
/**
* Top Bitrate (kbps) rounded integer
*/
tb: toRounded
};
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmcd/CmcdHeaderField.js":
/*!******************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmcd/CmcdHeaderField.js ***!
\******************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CmcdHeaderField: function() { return /* binding */ CmcdHeaderField; }
/* harmony export */ });
/* harmony import */ var _CMCD_OBJECT_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CMCD_OBJECT.js */ "./node_modules/@svta/common-media-library/dist/cmcd/CMCD_OBJECT.js");
/* harmony import */ var _CMCD_REQUEST_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CMCD_REQUEST.js */ "./node_modules/@svta/common-media-library/dist/cmcd/CMCD_REQUEST.js");
/* harmony import */ var _CMCD_SESSION_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CMCD_SESSION.js */ "./node_modules/@svta/common-media-library/dist/cmcd/CMCD_SESSION.js");
/* harmony import */ var _CMCD_STATUS_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./CMCD_STATUS.js */ "./node_modules/@svta/common-media-library/dist/cmcd/CMCD_STATUS.js");
/**
* CMCD header fields.
*
* @group CMCD
*
* @enum
*
* @beta
*/
var CmcdHeaderField = {
/**
* keys whose values vary with the object being requested.
*/
OBJECT: _CMCD_OBJECT_js__WEBPACK_IMPORTED_MODULE_0__.CMCD_OBJECT,
/**
* keys whose values vary with each request.
*/
REQUEST: _CMCD_REQUEST_js__WEBPACK_IMPORTED_MODULE_1__.CMCD_REQUEST,
/**
* keys whose values are expected to be invariant over the life of the session.
*/
SESSION: _CMCD_SESSION_js__WEBPACK_IMPORTED_MODULE_2__.CMCD_SESSION,
/**
* keys whose values do not vary with every request or object.
*/
STATUS: _CMCD_STATUS_js__WEBPACK_IMPORTED_MODULE_3__.CMCD_STATUS
};
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmcd/CmcdHeaderMap.js":
/*!****************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmcd/CmcdHeaderMap.js ***!
\****************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CmcdHeaderMap: function() { return /* binding */ CmcdHeaderMap; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js");
/* harmony import */ var _CmcdHeaderField_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CmcdHeaderField.js */ "./node_modules/@svta/common-media-library/dist/cmcd/CmcdHeaderField.js");
/**
* The map of CMCD header fields to official CMCD keys.
*
* @internal
*
* @group CMCD
*/
var CmcdHeaderMap = (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__["default"])({}, _CmcdHeaderField_js__WEBPACK_IMPORTED_MODULE_1__.CmcdHeaderField.OBJECT, ['br', 'd', 'ot', 'tb']), _CmcdHeaderField_js__WEBPACK_IMPORTED_MODULE_1__.CmcdHeaderField.REQUEST, ['bl', 'dl', 'mtp', 'nor', 'nrr', 'su']), _CmcdHeaderField_js__WEBPACK_IMPORTED_MODULE_1__.CmcdHeaderField.SESSION, ['cid', 'pr', 'sf', 'sid', 'st', 'v']), _CmcdHeaderField_js__WEBPACK_IMPORTED_MODULE_1__.CmcdHeaderField.STATUS, ['bs', 'rtp']);
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmcd/CmcdObjectType.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmcd/CmcdObjectType.js ***!
\*****************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CmcdObjectType: function() { return /* binding */ CmcdObjectType; }
/* harmony export */ });
/* harmony import */ var _cta_CmObjectType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../cta/CmObjectType.js */ "./node_modules/@svta/common-media-library/dist/cta/CmObjectType.js");
/**
* Common Media Client Data Object Type
*
* @group CMCD
*
* @beta
*
* @enum
*/
var CmcdObjectType = _cta_CmObjectType_js__WEBPACK_IMPORTED_MODULE_0__.CmObjectType;
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmcd/CmcdStreamType.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmcd/CmcdStreamType.js ***!
\*****************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CmcdStreamType: function() { return /* binding */ CmcdStreamType; }
/* harmony export */ });
/* harmony import */ var _cta_CmStreamType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../cta/CmStreamType.js */ "./node_modules/@svta/common-media-library/dist/cta/CmStreamType.js");
/**
* Common Media Client Data Stream Type
*
* @group CMCD
*
* @enum
*
* @beta
*/
var CmcdStreamType = _cta_CmStreamType_js__WEBPACK_IMPORTED_MODULE_0__.CmStreamType;
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmcd/CmcdStreamingFormat.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmcd/CmcdStreamingFormat.js ***!
\**********************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CmcdStreamingFormat: function() { return /* binding */ CmcdStreamingFormat; }
/* harmony export */ });
/* harmony import */ var _cta_CmStreamingFormat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../cta/CmStreamingFormat.js */ "./node_modules/@svta/common-media-library/dist/cta/CmStreamingFormat.js");
/**
* Common Media Client Data Streaming Format
*
* @group CMCD
*
* @enum
*
* @beta
*/
var CmcdStreamingFormat = _cta_CmStreamingFormat_js__WEBPACK_IMPORTED_MODULE_0__.CmStreamingFormat;
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmcd/encodeCmcd.js":
/*!*************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmcd/encodeCmcd.js ***!
\*************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ encodeCmcd: function() { return /* binding */ encodeCmcd; }
/* harmony export */ });
/* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.assign.js */ "./node_modules/core-js/modules/es.object.assign.js");
/* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _structuredfield_encodeSfDict_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../structuredfield/encodeSfDict.js */ "./node_modules/@svta/common-media-library/dist/structuredfield/encodeSfDict.js");
/* harmony import */ var _utils_processCmcd_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/processCmcd.js */ "./node_modules/@svta/common-media-library/dist/cmcd/utils/processCmcd.js");
/**
* Encode a CMCD object to a string.
*
* @param cmcd - The CMCD object to encode.
* @param options - Options for encoding.
*
* @returns The encoded CMCD string.
*
* @group CMCD
*
* @beta
*/
function encodeCmcd(cmcd) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
if (!cmcd) {
return '';
}
return (0,_structuredfield_encodeSfDict_js__WEBPACK_IMPORTED_MODULE_1__.encodeSfDict)((0,_utils_processCmcd_js__WEBPACK_IMPORTED_MODULE_2__.processCmcd)(cmcd, options), Object.assign({
whitespace: false
}, options));
}
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmcd/toCmcdHeaders.js":
/*!****************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmcd/toCmcdHeaders.js ***!
\****************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ toCmcdHeaders: function() { return /* binding */ toCmcdHeaders; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js");
/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js");
/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ "./node_modules/core-js/modules/es.array.find.js");
/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ "./node_modules/core-js/modules/es.array.includes.js");
/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.entries.js */ "./node_modules/core-js/modules/es.object.entries.js");
/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ "./node_modules/core-js/modules/es.string.includes.js");
/* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var _CmcdHeaderField_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./CmcdHeaderField.js */ "./node_modules/@svta/common-media-library/dist/cmcd/CmcdHeaderField.js");
/* harmony import */ var _CmcdHeaderMap_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./CmcdHeaderMap.js */ "./node_modules/@svta/common-media-library/dist/cmcd/CmcdHeaderMap.js");
/* harmony import */ var _encodeCmcd_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./encodeCmcd.js */ "./node_modules/@svta/common-media-library/dist/cmcd/encodeCmcd.js");
/**
* Convert a CMCD data object to request headers
*
* @param cmcd - The CMCD data object to convert.
* @param options - Options for encoding the CMCD object.
*
* @returns The CMCD header shards.
*
* @group CMCD
*
* @beta
*/
function toCmcdHeaders(cmcd) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var result = {};
if (!cmcd) {
return result;
}
var entries = Object.entries(cmcd);
var headerMap = Object.entries(_CmcdHeaderMap_js__WEBPACK_IMPORTED_MODULE_8__.CmcdHeaderMap).concat(Object.entries((options === null || options === void 0 ? void 0 : options.customHeaderMap) || {}));
var shards = entries.reduce(function (acc, entry) {
var _a, _b;
var _entry = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__["default"])(entry, 2),
key = _entry[0],
value = _entry[1];
var field = ((_a = headerMap.find(function (entry) {
return entry[1].includes(key);
})) === null || _a === void 0 ? void 0 : _a[0]) || _CmcdHeaderField_js__WEBPACK_IMPORTED_MODULE_7__.CmcdHeaderField.REQUEST;
(_b = acc[field]) !== null && _b !== void 0 ? _b : acc[field] = {};
acc[field][key] = value;
return acc;
}, {});
return Object.entries(shards).reduce(function (acc, _ref) {
var _ref2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__["default"])(_ref, 2),
field = _ref2[0],
value = _ref2[1];
acc[field] = (0,_encodeCmcd_js__WEBPACK_IMPORTED_MODULE_9__.encodeCmcd)(value, options);
return acc;
}, result);
}
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmcd/utils/processCmcd.js":
/*!********************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmcd/utils/processCmcd.js ***!
\********************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ processCmcd: function() { return /* binding */ processCmcd; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/esm/typeof.js");
/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js");
/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.sort.js */ "./node_modules/core-js/modules/es.array.sort.js");
/* harmony import */ var core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.assign.js */ "./node_modules/core-js/modules/es.object.assign.js");
/* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ "./node_modules/core-js/modules/es.object.keys.js");
/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js");
/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var _cta_utils_isTokenField_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../cta/utils/isTokenField.js */ "./node_modules/@svta/common-media-library/dist/cta/utils/isTokenField.js");
/* harmony import */ var _cta_utils_isValid_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../cta/utils/isValid.js */ "./node_modules/@svta/common-media-library/dist/cta/utils/isValid.js");
/* harmony import */ var _structuredfield_SfToken_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../structuredfield/SfToken.js */ "./node_modules/@svta/common-media-library/dist/structuredfield/SfToken.js");
/* harmony import */ var _CmcdFormatters_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../CmcdFormatters.js */ "./node_modules/@svta/common-media-library/dist/cmcd/CmcdFormatters.js");
/**
* Internal CMCD processing function.
*
* @param obj - The CMCD object to process.
* @param map - The mapping function to use.
* @param options - Options for encoding.
*
* @internal
*
* @group CMCD
*/
function processCmcd(obj, options) {
var results = {};
if (obj == null || (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__["default"])(obj) !== 'object') {
return results;
}
var keys = Object.keys(obj).sort();
var formatters = Object.assign({}, _CmcdFormatters_js__WEBPACK_IMPORTED_MODULE_10__.CmcdFormatters, options === null || options === void 0 ? void 0 : options.formatters);
var filter = options === null || options === void 0 ? void 0 : options.filter;
keys.forEach(function (key) {
if (filter === null || filter === void 0 ? void 0 : filter(key)) {
return;
}
var value = obj[key];
var formatter = formatters[key];
if (formatter) {
value = formatter(value, options);
}
// Version should only be reported if not equal to 1.
if (key === 'v' && value === 1) {
return;
}
// Playback rate should only be sent if not equal to 1.
if (key == 'pr' && value === 1) {
return;
}
// ignore invalid values
if (!(0,_cta_utils_isValid_js__WEBPACK_IMPORTED_MODULE_8__.isValid)(value)) {
return;
}
if ((0,_cta_utils_isTokenField_js__WEBPACK_IMPORTED_MODULE_7__.isTokenField)(key) && typeof value === 'string') {
value = new _structuredfield_SfToken_js__WEBPACK_IMPORTED_MODULE_9__.SfToken(value);
}
results[key] = value;
});
return results;
}
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmsd/CMSD_DYNAMIC.js":
/*!***************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmsd/CMSD_DYNAMIC.js ***!
\***************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CMSD_DYNAMIC: function() { return /* binding */ CMSD_DYNAMIC; }
/* harmony export */ });
/**
* CMSD dynamic header name.
*
* @group CMSD
*
* @beta
*/
var CMSD_DYNAMIC = 'CMSD-Dynamic';
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmsd/CMSD_STATIC.js":
/*!**************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmsd/CMSD_STATIC.js ***!
\**************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CMSD_STATIC: function() { return /* binding */ CMSD_STATIC; }
/* harmony export */ });
/**
* CMSD static header name.
*
* @group CMSD
*
* @beta
*/
var CMSD_STATIC = 'CMSD-Static';
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmsd/CmsdObjectType.js":
/*!*****************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmsd/CmsdObjectType.js ***!
\*****************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CmsdObjectType: function() { return /* binding */ CmsdObjectType; }
/* harmony export */ });
/* harmony import */ var _cta_CmObjectType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../cta/CmObjectType.js */ "./node_modules/@svta/common-media-library/dist/cta/CmObjectType.js");
/**
* Common Media Server Data Object Type
*
* @group CMSD
*
* @enum
*
* @beta
*/
var CmsdObjectType = _cta_CmObjectType_js__WEBPACK_IMPORTED_MODULE_0__.CmObjectType;
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmsd/decodeCmsdDynamic.js":
/*!********************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmsd/decodeCmsdDynamic.js ***!
\********************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ decodeCmsdDynamic: function() { return /* binding */ decodeCmsdDynamic; }
/* harmony export */ });
/* harmony import */ var _structuredfield_decodeSfList_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structuredfield/decodeSfList.js */ "./node_modules/@svta/common-media-library/dist/structuredfield/decodeSfList.js");
/**
* Decode a CMSD dynamic string to an object.
*
* @param cmsd - The CMSD string to decode.
*
* @returns The decoded CMSD object.
*
* @group CMSD
*
* @beta
*/
function decodeCmsdDynamic(cmsd) {
if (!cmsd) {
return [];
}
var sfDict = (0,_structuredfield_decodeSfList_js__WEBPACK_IMPORTED_MODULE_0__.decodeSfList)(cmsd);
return sfDict;
}
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cmsd/decodeCmsdStatic.js":
/*!*******************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cmsd/decodeCmsdStatic.js ***!
\*******************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ decodeCmsdStatic: function() { return /* binding */ decodeCmsdStatic; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/esm/typeof.js");
/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js");
/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.entries.js */ "./node_modules/core-js/modules/es.object.entries.js");
/* harmony import */ var core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_entries_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _cta_utils_symbolToStr_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../cta/utils/symbolToStr.js */ "./node_modules/@svta/common-media-library/dist/cta/utils/symbolToStr.js");
/* harmony import */ var _structuredfield_decodeSfDict_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../structuredfield/decodeSfDict.js */ "./node_modules/@svta/common-media-library/dist/structuredfield/decodeSfDict.js");
/**
* Decode a CMSD Static dict string to an object.
*
* @param cmsd - The CMSD string to decode.
*
* @returns The decoded CMSD object.
*
* @group CMSD
*
* @beta
*/
function decodeCmsdStatic(cmsd) {
if (!cmsd) {
return {};
}
return Object.entries((0,_structuredfield_decodeSfDict_js__WEBPACK_IMPORTED_MODULE_5__.decodeSfDict)(cmsd)).reduce(function (acc, _ref) {
var _ref2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_1__["default"])(_ref, 2),
key = _ref2[0],
item = _ref2[1];
var value = item.value;
acc[key] = (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__["default"])(value) === 'symbol' ? (0,_cta_utils_symbolToStr_js__WEBPACK_IMPORTED_MODULE_4__.symbolToStr)(value) : value;
return acc;
}, {});
}
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cta/608/CaptionScreen.js":
/*!*******************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cta/608/CaptionScreen.js ***!
\*******************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CaptionScreen: function() { return /* binding */ CaptionScreen; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.join.js */ "./node_modules/core-js/modules/es.array.join.js");
/* harmony import */ var core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ "./node_modules/core-js/modules/es.array.push.js");
/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.array.splice.js */ "./node_modules/core-js/modules/es.array.splice.js");
/* harmony import */ var core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_splice_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.json.stringify.js */ "./node_modules/core-js/modules/es.json.stringify.js");
/* harmony import */ var core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_json_stringify_js__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ "./node_modules/core-js/modules/es.string.trim.js");
/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var _CaptionsLogger_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./CaptionsLogger.js */ "./node_modules/@svta/common-media-library/dist/cta/608/CaptionsLogger.js");
/* harmony import */ var _Row_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Row.js */ "./node_modules/@svta/common-media-library/dist/cta/608/Row.js");
/* harmony import */ var _utils_NR_ROWS_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./utils/NR_ROWS.js */ "./node_modules/@svta/common-media-library/dist/cta/608/utils/NR_ROWS.js");
/* harmony import */ var _VerboseLevel_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./VerboseLevel.js */ "./node_modules/@svta/common-media-library/dist/cta/608/VerboseLevel.js");
/**
*
* This code was ported from the dash.js project at:
* https://github.com/Dash-Industry-Forum/dash.js/blob/development/externals/cea608-parser.js
* https://github.com/Dash-Industry-Forum/dash.js/commit/8269b26a761e0853bb21d78780ed945144ecdd4d#diff-71bc295a2d6b6b7093a1d3290d53a4b2
*
* The original copyright appears below:
*
* The copyright in this software is being made available under the BSD License,
* included below. This software may be subject to other third party and contributor
* rights, including patent rights, and no such rights are granted under this license.
*
* Copyright (c) 2015-2016, DASH Industry Forum.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation and/or
* other materials provided with the distribution.
* 2. Neither the name of Dash Industry Forum nor the names of its
* contributors may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/**
* Keep a CTA-608 screen of 32x15 styled characters
*
* @group CTA-608
* @beta
*/
var CaptionScreen = /*#__PURE__*/function () {
function CaptionScreen() {
var logger = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new _CaptionsLogger_js__WEBPACK_IMPORTED_MODULE_7__.CaptionsLogger();
(0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__["default"])(this, CaptionScreen);
this.rows = [];
this.currRow = _utils_NR_ROWS_js__WEBPACK_IMPORTED_MODULE_9__.NR_ROWS - 1;
this.nrRollUpRows = null;
this.lastOutputScreen = null;
for (var i = 0; i < _utils_NR_ROWS_js__WEBPACK_IMPORTED_MODULE_9__.NR_ROWS; i++) {
this.rows.push(new _Row_js__WEBPACK_IMPORTED_MODULE_8__.Row(logger));
}
this.logger = logger;
}
return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__["default"])(CaptionScreen, [{
key: "reset",
value: function reset() {
for (var i = 0; i < _utils_NR_ROWS_js__WEBPACK_IMPORTED_MODULE_9__.NR_ROWS; i++) {
this.rows[i].clear();
}
this.currRow = _utils_NR_ROWS_js__WEBPACK_IMPORTED_MODULE_9__.NR_ROWS - 1;
}
}, {
key: "equals",
value: function equals(other) {
var equal = true;
for (var i = 0; i < _utils_NR_ROWS_js__WEBPACK_IMPORTED_MODULE_9__.NR_ROWS; i++) {
if (!this.rows[i].equals(other.rows[i])) {
equal = false;
break;
}
}
return equal;
}
}, {
key: "copy",
value: function copy(other) {
for (var i = 0; i < _utils_NR_ROWS_js__WEBPACK_IMPORTED_MODULE_9__.NR_ROWS; i++) {
this.rows[i].copy(other.rows[i]);
}
}
}, {
key: "isEmpty",
value: function isEmpty() {
var empty = true;
for (var i = 0; i < _utils_NR_ROWS_js__WEBPACK_IMPORTED_MODULE_9__.NR_ROWS; i++) {
if (!this.rows[i].isEmpty()) {
empty = false;
break;
}
}
return empty;
}
}, {
key: "backSpace",
value: function backSpace() {
var row = this.rows[this.currRow];
row.backSpace();
}
}, {
key: "clearToEndOfRow",
value: function clearToEndOfRow() {
var row = this.rows[this.currRow];
row.clearToEndOfRow();
}
/**
* Insert a character (without styling) in the current row.
*/
}, {
key: "insertChar",
value: function insertChar(char) {
var row = this.rows[this.currRow];
row.insertChar(char);
}
}, {
key: "setPen",
value: function setPen(styles) {
var row = this.rows[this.currRow];
row.setPenStyles(styles);
}
}, {
key: "moveCursor",
value: function moveCursor(relPos) {
var row = this.rows[this.currRow];
row.moveCursor(relPos);
}
}, {
key: "setCursor",
value: function setCursor(absPos) {
this.logger.log(_VerboseLevel_js__WEBPACK_IMPORTED_MODULE_10__.VerboseLevel.INFO, 'setCursor: ' + absPos);
var row = this.rows[this.currRow];
row.setCursor(absPos);
}
}, {
key: "setPAC",
value: function setPAC(pacData) {
this.logger.log(_VerboseLevel_js__WEBPACK_IMPORTED_MODULE_10__.VerboseLevel.INFO, function () {
return 'pacData = ' + JSON.stringify(pacData);
});
var newRow = pacData.row - 1;
if (this.nrRollUpRows && newRow < this.nrRollUpRows - 1) {
newRow = this.nrRollUpRows - 1;
}
// Make sure this only affects Roll-up Captions by checking this.nrRollUpRows
if (this.nrRollUpRows && this.currRow !== newRow) {
// clear all rows first
for (var i = 0; i < _utils_NR_ROWS_js__WEBPACK_IMPORTED_MODULE_9__.NR_ROWS; i++) {
this.rows[i].clear();
}
// Copy this.nrRollUpRows rows from lastOutputScreen and place it in the newRow location
// topRowIndex - the start of rows to copy (inclusive index)
var topRowIndex = this.currRow + 1 - this.nrRollUpRows;
// We only copy if the last position was already shown.
// We use the cueStartTime value to check this.
var lastOutputScreen = this.lastOutputScreen;
if (lastOutputScreen) {
var prevLineTime = lastOutputScreen.rows[topRowIndex].cueStartTime;
var time = this.logger.time;
if (prevLineTime !== null && time !== null && prevLineTime < time) {
for (var _i = 0; _i < this.nrRollUpRows; _i++) {
this.rows[newRow - this.nrRollUpRows + _i + 1].copy(lastOutputScreen.rows[topRowIndex + _i]);
}
}
}
}
this.currRow = newRow;
var row = this.rows[this.currRow];
if (pacData.indent !== null) {
var indent = pacData.indent;
var prevPos = Math.max(indent - 1, 0);
row.setCursor(pacData.indent);
pacData.color = row.chars[prevPos].penState.foreground;
}
var styles = {
foreground: pacData.color,
underline: pacData.underline,
italics: pacData.italics,
background: 'black',
flash: false
};
this.setPen(styles);
}
/**
* Set background/extra foreground, but first do back_space, and then insert space (backwards compatibility).
*/
}, {
key: "setBkgData",
value: function setBkgData(bkgData) {
this.logger.log(_VerboseLevel_js__WEBPACK_IMPORTED_MODULE_10__.VerboseLevel.INFO, function () {
return 'bkgData = ' + JSON.stringify(bkgData);
});
this.backSpace();
this.setPen(bkgData);
this.insertChar(0x20); // Space
}
}, {
key: "setRollUpRows",
value: function setRollUpRows(nrRows) {
this.nrRollUpRows = nrRows;
}
}, {
key: "rollUp",
value: function rollUp() {
var _this = this;
if (this.nrRollUpRows === null) {
this.logger.log(_VerboseLevel_js__WEBPACK_IMPORTED_MODULE_10__.VerboseLevel.DEBUG, 'roll_up but nrRollUpRows not set yet');
return; // Not properly setup
}
this.logger.log(_VerboseLevel_js__WEBPACK_IMPORTED_MODULE_10__.VerboseLevel.TEXT, function () {
return _this.getDisplayText();
});
var topRowIndex = this.currRow + 1 - this.nrRollUpRows;
var topRow = this.rows.splice(topRowIndex, 1)[0];
topRow.clear();
this.rows.splice(this.currRow, 0, topRow);
this.logger.log(_VerboseLevel_js__WEBPACK_IMPORTED_MODULE_10__.VerboseLevel.INFO, 'Rolling up');
}
/**
* Get all non-empty rows with as unicode text.
*/
}, {
key: "getDisplayText",
value: function getDisplayText(asOneRow) {
asOneRow = asOneRow || false;
var displayText = [];
var text = '';
var rowNr = -1;
for (var i = 0; i < _utils_NR_ROWS_js__WEBPACK_IMPORTED_MODULE_9__.NR_ROWS; i++) {
var rowText = this.rows[i].getTextString();
if (rowText) {
rowNr = i + 1;
if (asOneRow) {
displayText.push('Row ' + rowNr + ": '" + rowText + "'");
} else {
displayText.push(rowText.trim());
}
}
}
if (displayText.length > 0) {
if (asOneRow) {
text = '[' + displayText.join(' | ') + ']';
} else {
text = displayText.join('\n');
}
}
return text;
}
}, {
key: "getTextAndFormat",
value: function getTextAndFormat() {
return this.rows;
}
}]);
}();
/***/ }),
/***/ "./node_modules/@svta/common-media-library/dist/cta/608/CaptionsLogger.js":
/*!********************************************************************************!*\
!*** ./node_modules/@svta/common-media-library/dist/cta/608/CaptionsLogger.js ***!
\********************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ CaptionsLogger: function() { return /* binding */ CaptionsLogger; }
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/esm/createClass.js");
/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.concat.js */ "./node_modules/core-js/modules/es.array.concat.js");
/* harmony import */ var core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _VerboseLevel_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./VerboseLevel.js */ "./node_modules/@svta/common-media-library/dist/cta/608/VerboseLevel.js");
/**
*
* This code was ported from the dash.js project at:
* https://github.com/Dash-Industry-Forum/dash.js/blob/development/externals/cea608-parser.js
* https://github.com/Dash-Industry-Forum/dash.js/commit/8269b26a761e0853bb21d78780ed945144ecdd4d#diff-71bc295a2d6b6b7093a1d3290d53a4b2
*
* The original copyright appears below:
*
* The copyright in this software is being made available under the BSD License,
* included below. This software may be subject to other third party and contributor
* rights, including patent rights, and no such rights are granted under this license.
*
* Copyright (c) 2015-2016, DASH Industry Forum.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and t