/*!
* videojs-record
* @version 3.5.0
* @see https://github.com/collab-project/videojs-record
* @copyright 2014-2019 Collab
* @license MIT
*/
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("videojs"));
else if(typeof define === 'function' && define.amd)
define("VideojsRecord", ["videojs"], factory);
else if(typeof exports === 'object')
exports["VideojsRecord"] = factory(require("videojs"));
else
root["VideojsRecord"] = factory(root["videojs"]);
})(window, function(__WEBPACK_EXTERNAL_MODULE_video_js__) {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 0);
/******/ })
/************************************************************************/
/******/ ({
/***/ "./node_modules/@babel/runtime/helpers/assertThisInitialized.js":
/*!**********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
\**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\n\n//# sourceURL=webpack://VideojsRecord/./node_modules/@babel/runtime/helpers/assertThisInitialized.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js":
/*!*****************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
\*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;\n\n//# sourceURL=webpack://VideojsRecord/./node_modules/@babel/runtime/helpers/asyncToGenerator.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/classCallCheck.js":
/*!***************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\n\n//# sourceURL=webpack://VideojsRecord/./node_modules/@babel/runtime/helpers/classCallCheck.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/createClass.js":
/*!************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/createClass.js ***!
\************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\n\n//# sourceURL=webpack://VideojsRecord/./node_modules/@babel/runtime/helpers/createClass.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/get.js":
/*!****************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/get.js ***!
\****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nvar superPropBase = __webpack_require__(/*! ./superPropBase */ \"./node_modules/@babel/runtime/helpers/superPropBase.js\");\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}\n\nmodule.exports = _get;\n\n//# sourceURL=webpack://VideojsRecord/./node_modules/@babel/runtime/helpers/get.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js":
/*!***************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\n\n//# sourceURL=webpack://VideojsRecord/./node_modules/@babel/runtime/helpers/getPrototypeOf.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/inherits.js":
/*!*********************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/inherits.js ***!
\*********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf */ \"./node_modules/@babel/runtime/helpers/setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;\n\n//# sourceURL=webpack://VideojsRecord/./node_modules/@babel/runtime/helpers/inherits.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js":
/*!**********************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
\**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\n\n//# sourceURL=webpack://VideojsRecord/./node_modules/@babel/runtime/helpers/interopRequireDefault.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
/*!**************************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
\**************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("var _typeof = __webpack_require__(/*! ../helpers/typeof */ \"./node_modules/@babel/runtime/helpers/typeof.js\");\n\nvar assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\n\n//# sourceURL=webpack://VideojsRecord/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/setPrototypeOf.js":
/*!***************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
\***************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\n\n//# sourceURL=webpack://VideojsRecord/./node_modules/@babel/runtime/helpers/setPrototypeOf.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/superPropBase.js":
/*!**************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/superPropBase.js ***!
\**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nmodule.exports = _superPropBase;\n\n//# sourceURL=webpack://VideojsRecord/./node_modules/@babel/runtime/helpers/superPropBase.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/typeof.js":
/*!*******************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/typeof.js ***!
\*******************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\n\n//# sourceURL=webpack://VideojsRecord/./node_modules/@babel/runtime/helpers/typeof.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime-module.js":
/*!****************************************************************************************!*\
!*** ./node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime-module.js ***!
\****************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() {\n return this || (typeof self === \"object\" && self);\n})() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = __webpack_require__(/*! ./runtime */ \"./node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js\");\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n\n//# sourceURL=webpack://VideojsRecord/./node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime-module.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js":
/*!*********************************************************************************!*\
!*** ./node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js ***!
\*********************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() {\n return this || (typeof self === \"object\" && self);\n })() || Function(\"return this\")()\n);\n\n\n//# sourceURL=webpack://VideojsRecord/./node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/regenerator/index.js":
/*!**********************************************************!*\
!*** ./node_modules/@babel/runtime/regenerator/index.js ***!
\**********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("module.exports = __webpack_require__(/*! regenerator-runtime */ \"./node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime-module.js\");\n\n\n//# sourceURL=webpack://VideojsRecord/./node_modules/@babel/runtime/regenerator/index.js?");
/***/ }),
/***/ "./node_modules/global/window.js":
/*!***************************************!*\
!*** ./node_modules/global/window.js ***!
\***************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(global) {var win;\n\nif (typeof window !== \"undefined\") {\n win = window;\n} else if (typeof global !== \"undefined\") {\n win = global;\n} else if (typeof self !== \"undefined\"){\n win = self;\n} else {\n win = {};\n}\n\nmodule.exports = win;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack://VideojsRecord/./node_modules/global/window.js?");
/***/ }),
/***/ "./node_modules/webpack/buildin/global.js":
/*!***********************************!*\
!*** (webpack)/buildin/global.js ***!
\***********************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n//# sourceURL=webpack://VideojsRecord/(webpack)/buildin/global.js?");
/***/ }),
/***/ "./src/css/videojs.record.scss":
/*!*************************************!*\
!*** ./src/css/videojs.record.scss ***!
\*************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack://VideojsRecord/./src/css/videojs.record.scss?");
/***/ }),
/***/ "./src/js/controls/animation-display.js":
/*!**********************************************!*\
!*** ./src/js/controls/animation-display.js ***!
\**********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\"));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\"));\n\nvar _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ \"./node_modules/@babel/runtime/helpers/get.js\"));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\"));\n\nvar _video = _interopRequireDefault(__webpack_require__(/*! video.js */ \"video.js\"));\n\nvar Component = _video.default.getComponent('Component');\n\nvar AnimationDisplay = function (_Component) {\n (0, _inherits2.default)(AnimationDisplay, _Component);\n\n function AnimationDisplay() {\n (0, _classCallCheck2.default)(this, AnimationDisplay);\n return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(AnimationDisplay).apply(this, arguments));\n }\n\n (0, _createClass2.default)(AnimationDisplay, [{\n key: \"createEl\",\n value: function createEl() {\n return (0, _get2.default)((0, _getPrototypeOf2.default)(AnimationDisplay.prototype), \"createEl\", this).call(this, 'div', {\n className: 'vjs-animation-display',\n innerHTML: ''\n });\n }\n }]);\n return AnimationDisplay;\n}(Component);\n\nComponent.registerComponent('AnimationDisplay', AnimationDisplay);\nvar _default = AnimationDisplay;\nexports.default = _default;\nmodule.exports = exports.default;\n\n//# sourceURL=webpack://VideojsRecord/./src/js/controls/animation-display.js?");
/***/ }),
/***/ "./src/js/controls/camera-button.js":
/*!******************************************!*\
!*** ./src/js/controls/camera-button.js ***!
\******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\"));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\"));\n\nvar _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ \"./node_modules/@babel/runtime/helpers/get.js\"));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\"));\n\nvar _video = _interopRequireDefault(__webpack_require__(/*! video.js */ \"video.js\"));\n\nvar _event = _interopRequireDefault(__webpack_require__(/*! ../event */ \"./src/js/event.js\"));\n\nvar Button = _video.default.getComponent('Button');\n\nvar Component = _video.default.getComponent('Component');\n\nvar CameraButton = function (_Button) {\n (0, _inherits2.default)(CameraButton, _Button);\n\n function CameraButton() {\n (0, _classCallCheck2.default)(this, CameraButton);\n return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(CameraButton).apply(this, arguments));\n }\n\n (0, _createClass2.default)(CameraButton, [{\n key: \"buildCSSClass\",\n value: function buildCSSClass() {\n return 'vjs-camera-button vjs-control vjs-button vjs-icon-photo-camera';\n }\n }, {\n key: \"enable\",\n value: function enable() {\n (0, _get2.default)((0, _getPrototypeOf2.default)(CameraButton.prototype), \"enable\", this).call(this);\n this.on(this.player_, _event.default.START_RECORD, this.onStart);\n this.on(this.player_, _event.default.STOP_RECORD, this.onStop);\n }\n }, {\n key: \"disable\",\n value: function disable() {\n (0, _get2.default)((0, _getPrototypeOf2.default)(CameraButton.prototype), \"disable\", this).call(this);\n this.off(this.player_, _event.default.START_RECORD, this.onStart);\n this.off(this.player_, _event.default.STOP_RECORD, this.onStop);\n }\n }, {\n key: \"show\",\n value: function show() {\n if (this.layoutExclude && this.layoutExclude === true) {\n return;\n }\n\n (0, _get2.default)((0, _getPrototypeOf2.default)(CameraButton.prototype), \"show\", this).call(this);\n }\n }, {\n key: \"handleClick\",\n value: function handleClick(event) {\n var recorder = this.player_.record();\n\n if (!recorder.isProcessing()) {\n recorder.start();\n } else {\n recorder.retrySnapshot();\n this.onStop();\n }\n }\n }, {\n key: \"onStart\",\n value: function onStart(event) {\n this.removeClass('vjs-icon-photo-camera');\n this.addClass('vjs-icon-replay');\n this.controlText('Retry');\n }\n }, {\n key: \"onStop\",\n value: function onStop(event) {\n this.removeClass('vjs-icon-replay');\n this.addClass('vjs-icon-photo-camera');\n this.controlText('Image');\n }\n }]);\n return CameraButton;\n}(Button);\n\nCameraButton.prototype.controlText_ = 'Image';\nComponent.registerComponent('CameraButton', CameraButton);\nvar _default = CameraButton;\nexports.default = _default;\nmodule.exports = exports.default;\n\n//# sourceURL=webpack://VideojsRecord/./src/js/controls/camera-button.js?");
/***/ }),
/***/ "./src/js/controls/device-button.js":
/*!******************************************!*\
!*** ./src/js/controls/device-button.js ***!
\******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\"));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\"));\n\nvar _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ \"./node_modules/@babel/runtime/helpers/get.js\"));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\"));\n\nvar _video = _interopRequireDefault(__webpack_require__(/*! video.js */ \"video.js\"));\n\nvar Button = _video.default.getComponent('Button');\n\nvar Component = _video.default.getComponent('Component');\n\nvar DeviceButton = function (_Button) {\n (0, _inherits2.default)(DeviceButton, _Button);\n\n function DeviceButton() {\n (0, _classCallCheck2.default)(this, DeviceButton);\n return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(DeviceButton).apply(this, arguments));\n }\n\n (0, _createClass2.default)(DeviceButton, [{\n key: \"handleClick\",\n value: function handleClick(event) {\n this.player_.record().getDevice();\n }\n }, {\n key: \"show\",\n value: function show() {\n if (this.layoutExclude && this.layoutExclude === true) {\n return;\n }\n\n (0, _get2.default)((0, _getPrototypeOf2.default)(DeviceButton.prototype), \"show\", this).call(this);\n }\n }]);\n return DeviceButton;\n}(Button);\n\nDeviceButton.prototype.controlText_ = 'Device';\nComponent.registerComponent('DeviceButton', DeviceButton);\nvar _default = DeviceButton;\nexports.default = _default;\nmodule.exports = exports.default;\n\n//# sourceURL=webpack://VideojsRecord/./src/js/controls/device-button.js?");
/***/ }),
/***/ "./src/js/controls/picture-in-picture-toggle.js":
/*!******************************************************!*\
!*** ./src/js/controls/picture-in-picture-toggle.js ***!
\******************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/asyncToGenerator.js\"));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\"));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\"));\n\nvar _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ \"./node_modules/@babel/runtime/helpers/get.js\"));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\"));\n\nvar _video = _interopRequireDefault(__webpack_require__(/*! video.js */ \"video.js\"));\n\nvar _event = _interopRequireDefault(__webpack_require__(/*! ../event */ \"./src/js/event.js\"));\n\nvar Button = _video.default.getComponent('Button');\n\nvar Component = _video.default.getComponent('Component');\n\nvar PictureInPictureToggle = function (_Button) {\n (0, _inherits2.default)(PictureInPictureToggle, _Button);\n\n function PictureInPictureToggle(player, options) {\n var _this;\n\n (0, _classCallCheck2.default)(this, PictureInPictureToggle);\n _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(PictureInPictureToggle).call(this, player, options));\n\n _this.on(_this.player_, _event.default.ENTER_PIP, _this.onStart);\n\n _this.on(_this.player_, _event.default.LEAVE_PIP, _this.onStop);\n\n return _this;\n }\n\n (0, _createClass2.default)(PictureInPictureToggle, [{\n key: \"buildCSSClass\",\n value: function buildCSSClass() {\n return 'vjs-pip-button vjs-control vjs-button vjs-icon-picture-in-picture-start';\n }\n }, {\n key: \"show\",\n value: function show() {\n if (this.layoutExclude && this.layoutExclude === true) {\n return;\n }\n\n (0, _get2.default)((0, _getPrototypeOf2.default)(PictureInPictureToggle.prototype), \"show\", this).call(this);\n }\n }, {\n key: \"handleClick\",\n value: function () {\n var _handleClick = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(event) {\n var recorder;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n recorder = this.player_.record();\n this.disable();\n _context.prev = 2;\n\n if (!(recorder.mediaElement !== document.pictureInPictureElement)) {\n _context.next = 8;\n break;\n }\n\n _context.next = 6;\n return recorder.mediaElement.requestPictureInPicture();\n\n case 6:\n _context.next = 10;\n break;\n\n case 8:\n _context.next = 10;\n return document.exitPictureInPicture();\n\n case 10:\n _context.next = 15;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context[\"catch\"](2);\n this.player_.trigger(_event.default.ERROR, _context.t0);\n\n case 15:\n _context.prev = 15;\n this.enable();\n return _context.finish(15);\n\n case 18:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[2, 12, 15, 18]]);\n }));\n\n function handleClick(_x) {\n return _handleClick.apply(this, arguments);\n }\n\n return handleClick;\n }()\n }, {\n key: \"onStart\",\n value: function onStart(event) {\n this.removeClass('vjs-icon-picture-in-picture-start');\n this.addClass('vjs-icon-picture-in-picture-stop');\n }\n }, {\n key: \"onStop\",\n value: function onStop(event) {\n this.removeClass('vjs-icon-picture-in-picture-stop');\n this.addClass('vjs-icon-picture-in-picture-start');\n }\n }]);\n return PictureInPictureToggle;\n}(Button);\n\nPictureInPictureToggle.prototype.controlText_ = 'Picture in Picture';\nComponent.registerComponent('PictureInPictureToggle', PictureInPictureToggle);\nvar _default = PictureInPictureToggle;\nexports.default = _default;\nmodule.exports = exports.default;\n\n//# sourceURL=webpack://VideojsRecord/./src/js/controls/picture-in-picture-toggle.js?");
/***/ }),
/***/ "./src/js/controls/record-canvas.js":
/*!******************************************!*\
!*** ./src/js/controls/record-canvas.js ***!
\******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\"));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\"));\n\nvar _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ \"./node_modules/@babel/runtime/helpers/get.js\"));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\"));\n\nvar _video = _interopRequireDefault(__webpack_require__(/*! video.js */ \"video.js\"));\n\nvar Component = _video.default.getComponent('Component');\n\nvar RecordCanvas = function (_Component) {\n (0, _inherits2.default)(RecordCanvas, _Component);\n\n function RecordCanvas() {\n (0, _classCallCheck2.default)(this, RecordCanvas);\n return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(RecordCanvas).apply(this, arguments));\n }\n\n (0, _createClass2.default)(RecordCanvas, [{\n key: \"createEl\",\n value: function createEl() {\n return (0, _get2.default)((0, _getPrototypeOf2.default)(RecordCanvas.prototype), \"createEl\", this).call(this, 'div', {\n className: 'vjs-record-canvas',\n innerHTML: ''\n });\n }\n }]);\n return RecordCanvas;\n}(Component);\n\nComponent.registerComponent('RecordCanvas', RecordCanvas);\nvar _default = RecordCanvas;\nexports.default = _default;\nmodule.exports = exports.default;\n\n//# sourceURL=webpack://VideojsRecord/./src/js/controls/record-canvas.js?");
/***/ }),
/***/ "./src/js/controls/record-indicator.js":
/*!*********************************************!*\
!*** ./src/js/controls/record-indicator.js ***!
\*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\"));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\"));\n\nvar _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ \"./node_modules/@babel/runtime/helpers/get.js\"));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\"));\n\nvar _video = _interopRequireDefault(__webpack_require__(/*! video.js */ \"video.js\"));\n\nvar _event = _interopRequireDefault(__webpack_require__(/*! ../event */ \"./src/js/event.js\"));\n\nvar Component = _video.default.getComponent('Component');\n\nvar RecordIndicator = function (_Component) {\n (0, _inherits2.default)(RecordIndicator, _Component);\n\n function RecordIndicator(player, options) {\n var _this;\n\n (0, _classCallCheck2.default)(this, RecordIndicator);\n _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(RecordIndicator).call(this, player, options));\n\n _this.enable();\n\n return _this;\n }\n\n (0, _createClass2.default)(RecordIndicator, [{\n key: \"createEl\",\n value: function createEl() {\n var props = {\n className: 'vjs-record-indicator vjs-control',\n dir: 'ltr'\n };\n var attr = {\n 'data-label': this.localize('REC')\n };\n return (0, _get2.default)((0, _getPrototypeOf2.default)(RecordIndicator.prototype), \"createEl\", this).call(this, 'div', props, attr);\n }\n }, {\n key: \"enable\",\n value: function enable() {\n this.on(this.player_, _event.default.START_RECORD, this.show);\n this.on(this.player_, _event.default.STOP_RECORD, this.hide);\n }\n }, {\n key: \"disable\",\n value: function disable() {\n this.off(this.player_, _event.default.START_RECORD, this.show);\n this.off(this.player_, _event.default.STOP_RECORD, this.hide);\n }\n }, {\n key: \"show\",\n value: function show() {\n if (this.layoutExclude && this.layoutExclude === true) {\n return;\n }\n\n (0, _get2.default)((0, _getPrototypeOf2.default)(RecordIndicator.prototype), \"show\", this).call(this);\n }\n }]);\n return RecordIndicator;\n}(Component);\n\nComponent.registerComponent('RecordIndicator', RecordIndicator);\nvar _default = RecordIndicator;\nexports.default = _default;\nmodule.exports = exports.default;\n\n//# sourceURL=webpack://VideojsRecord/./src/js/controls/record-indicator.js?");
/***/ }),
/***/ "./src/js/controls/record-toggle.js":
/*!******************************************!*\
!*** ./src/js/controls/record-toggle.js ***!
\******************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\"));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\"));\n\nvar _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ \"./node_modules/@babel/runtime/helpers/get.js\"));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\"));\n\nvar _video = _interopRequireDefault(__webpack_require__(/*! video.js */ \"video.js\"));\n\nvar _event = _interopRequireDefault(__webpack_require__(/*! ../event */ \"./src/js/event.js\"));\n\nvar Button = _video.default.getComponent('Button');\n\nvar Component = _video.default.getComponent('Component');\n\nvar RecordToggle = function (_Button) {\n (0, _inherits2.default)(RecordToggle, _Button);\n\n function RecordToggle() {\n (0, _classCallCheck2.default)(this, RecordToggle);\n return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(RecordToggle).apply(this, arguments));\n }\n\n (0, _createClass2.default)(RecordToggle, [{\n key: \"buildCSSClass\",\n value: function buildCSSClass() {\n return 'vjs-record-button vjs-control vjs-button vjs-icon-record-start';\n }\n }, {\n key: \"enable\",\n value: function enable() {\n (0, _get2.default)((0, _getPrototypeOf2.default)(RecordToggle.prototype), \"enable\", this).call(this);\n this.on(this.player_, _event.default.START_RECORD, this.onStart);\n this.on(this.player_, _event.default.STOP_RECORD, this.onStop);\n }\n }, {\n key: \"disable\",\n value: function disable() {\n (0, _get2.default)((0, _getPrototypeOf2.default)(RecordToggle.prototype), \"disable\", this).call(this);\n this.off(this.player_, _event.default.START_RECORD, this.onStart);\n this.off(this.player_, _event.default.STOP_RECORD, this.onStop);\n }\n }, {\n key: \"show\",\n value: function show() {\n if (this.layoutExclude && this.layoutExclude === true) {\n return;\n }\n\n (0, _get2.default)((0, _getPrototypeOf2.default)(RecordToggle.prototype), \"show\", this).call(this);\n }\n }, {\n key: \"handleClick\",\n value: function handleClick(event) {\n var recorder = this.player_.record();\n\n if (!recorder.isRecording()) {\n recorder.start();\n } else {\n recorder.stop();\n }\n }\n }, {\n key: \"onStart\",\n value: function onStart(event) {\n this.removeClass('vjs-icon-record-start');\n this.addClass('vjs-icon-record-stop');\n this.controlText('Stop');\n }\n }, {\n key: \"onStop\",\n value: function onStop(event) {\n this.removeClass('vjs-icon-record-stop');\n this.addClass('vjs-icon-record-start');\n this.controlText('Record');\n }\n }]);\n return RecordToggle;\n}(Button);\n\nRecordToggle.prototype.controlText_ = 'Record';\nComponent.registerComponent('RecordToggle', RecordToggle);\nvar _default = RecordToggle;\nexports.default = _default;\nmodule.exports = exports.default;\n\n//# sourceURL=webpack://VideojsRecord/./src/js/controls/record-toggle.js?");
/***/ }),
/***/ "./src/js/defaults.js":
/*!****************************!*\
!*** ./src/js/defaults.js ***!
\****************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar pluginDefaultOptions = {\n image: false,\n audio: false,\n video: false,\n animation: false,\n screen: false,\n maxLength: 10,\n maxFileSize: 0,\n msDisplayMax: 3,\n frameWidth: 320,\n frameHeight: 240,\n debug: false,\n pip: false,\n autoMuteDevice: false,\n videoEngine: 'recordrtc',\n videoMimeType: 'video/webm',\n videoRecorderType: 'auto',\n videoWorkerURL: '',\n videoWebAssemblyURL: '',\n audioEngine: 'recordrtc',\n audioRecorderType: 'auto',\n audioMimeType: 'auto',\n audioBufferSize: 4096,\n audioSampleRate: 44100,\n audioBitRate: 128,\n audioChannels: 2,\n audioWorkerURL: '',\n audioWebAssemblyURL: '',\n audioBufferUpdate: false,\n animationFrameRate: 200,\n animationQuality: 10,\n timeSlice: 0,\n convertEngine: ''\n};\nvar _default = pluginDefaultOptions;\nexports.default = _default;\nmodule.exports = exports.default;\n\n//# sourceURL=webpack://VideojsRecord/./src/js/defaults.js?");
/***/ }),
/***/ "./src/js/engine/convert-engine.js":
/*!*****************************************!*\
!*** ./src/js/engine/convert-engine.js ***!
\*****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TSEBML = exports.CONVERT_PLUGINS = exports.ConvertEngine = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\"));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\"));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\"));\n\nvar _video = _interopRequireDefault(__webpack_require__(/*! video.js */ \"video.js\"));\n\nvar _fileUtil = __webpack_require__(/*! ../utils/file-util */ \"./src/js/utils/file-util.js\");\n\nvar Component = _video.default.getComponent('Component');\n\nvar TSEBML = 'ts-ebml';\nexports.TSEBML = TSEBML;\nvar CONVERT_PLUGINS = [TSEBML];\nexports.CONVERT_PLUGINS = CONVERT_PLUGINS;\n\nvar ConvertEngine = function (_Component) {\n (0, _inherits2.default)(ConvertEngine, _Component);\n\n function ConvertEngine(player, options) {\n (0, _classCallCheck2.default)(this, ConvertEngine);\n options.evented = true;\n return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(ConvertEngine).call(this, player, options));\n }\n\n (0, _createClass2.default)(ConvertEngine, [{\n key: \"setup\",\n value: function setup(mediaType, debug) {\n this.mediaType = mediaType;\n this.debug = debug;\n }\n }, {\n key: \"loadBlob\",\n value: function loadBlob(data) {\n return (0, _fileUtil.blobToArrayBuffer)(data);\n }\n }, {\n key: \"addFileInfo\",\n value: function addFileInfo(fileObj, now) {\n (0, _fileUtil.addFileInfo)(fileObj, now);\n }\n }]);\n return ConvertEngine;\n}(Component);\n\nexports.ConvertEngine = ConvertEngine;\n_video.default.ConvertEngine = ConvertEngine;\nComponent.registerComponent('ConvertEngine', ConvertEngine);\n\n//# sourceURL=webpack://VideojsRecord/./src/js/engine/convert-engine.js?");
/***/ }),
/***/ "./src/js/engine/engine-loader.js":
/*!****************************************!*\
!*** ./src/js/engine/engine-loader.js ***!
\****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getConvertEngine = exports.getVideoEngine = exports.isAudioPluginActive = exports.getAudioEngine = void 0;\n\nvar _recordRtc = _interopRequireDefault(__webpack_require__(/*! ./record-rtc */ \"./src/js/engine/record-rtc.js\"));\n\nvar _convertEngine = __webpack_require__(/*! ./convert-engine */ \"./src/js/engine/convert-engine.js\");\n\nvar _recordEngine = __webpack_require__(/*! ./record-engine */ \"./src/js/engine/record-engine.js\");\n\nvar getAudioEngine = function getAudioEngine(audioEngine) {\n var AudioEngineClass;\n\n switch (audioEngine) {\n case _recordEngine.RECORDRTC:\n AudioEngineClass = _recordRtc.default;\n break;\n\n case _recordEngine.LIBVORBISJS:\n AudioEngineClass = videojs.LibVorbisEngine;\n break;\n\n case _recordEngine.RECORDERJS:\n AudioEngineClass = videojs.RecorderjsEngine;\n break;\n\n case _recordEngine.LAMEJS:\n AudioEngineClass = videojs.LamejsEngine;\n break;\n\n case _recordEngine.OPUSRECORDER:\n AudioEngineClass = videojs.OpusRecorderEngine;\n break;\n\n case _recordEngine.VMSG:\n AudioEngineClass = videojs.VmsgEngine;\n break;\n\n default:\n throw new Error('Unknown audioEngine: ' + audioEngine);\n }\n\n return AudioEngineClass;\n};\n\nexports.getAudioEngine = getAudioEngine;\n\nvar getVideoEngine = function getVideoEngine(videoEngine) {\n var VideoEngineClass;\n\n switch (videoEngine) {\n case _recordEngine.RECORDRTC:\n VideoEngineClass = _recordRtc.default;\n break;\n\n case _recordEngine.WEBMWASM:\n VideoEngineClass = videojs.WebmWasmEngine;\n break;\n\n default:\n throw new Error('Unknown videoEngine: ' + videoEngine);\n }\n\n return VideoEngineClass;\n};\n\nexports.getVideoEngine = getVideoEngine;\n\nvar isAudioPluginActive = function isAudioPluginActive(audioEngine) {\n return _recordEngine.AUDIO_PLUGINS.indexOf(audioEngine) > -1;\n};\n\nexports.isAudioPluginActive = isAudioPluginActive;\n\nvar getConvertEngine = function getConvertEngine(convertEngine) {\n var ConvertEngineClass;\n\n switch (convertEngine) {\n case '':\n break;\n\n case _convertEngine.TSEBML:\n ConvertEngineClass = videojs.TsEBMLEngine;\n break;\n\n default:\n throw new Error('Unknown convertEngine: ' + convertEngine);\n }\n\n return ConvertEngineClass;\n};\n\nexports.getConvertEngine = getConvertEngine;\n\n//# sourceURL=webpack://VideojsRecord/./src/js/engine/engine-loader.js?");
/***/ }),
/***/ "./src/js/engine/record-engine.js":
/*!****************************************!*\
!*** ./src/js/engine/record-engine.js ***!
\****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WEBMWASM = exports.VMSG = exports.OPUSRECORDER = exports.LAMEJS = exports.RECORDERJS = exports.LIBVORBISJS = exports.RECORDRTC = exports.VIDEO_PLUGINS = exports.AUDIO_PLUGINS = exports.RECORD_PLUGINS = exports.RecordEngine = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\"));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\"));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\"));\n\nvar _video = _interopRequireDefault(__webpack_require__(/*! video.js */ \"video.js\"));\n\nvar _event = _interopRequireDefault(__webpack_require__(/*! ../event */ \"./src/js/event.js\"));\n\nvar _fileUtil = __webpack_require__(/*! ../utils/file-util */ \"./src/js/utils/file-util.js\");\n\nvar Component = _video.default.getComponent('Component');\n\nvar RECORDRTC = 'recordrtc';\nexports.RECORDRTC = RECORDRTC;\nvar LIBVORBISJS = 'libvorbis.js';\nexports.LIBVORBISJS = LIBVORBISJS;\nvar RECORDERJS = 'recorder.js';\nexports.RECORDERJS = RECORDERJS;\nvar LAMEJS = 'lamejs';\nexports.LAMEJS = LAMEJS;\nvar OPUSRECORDER = 'opus-recorder';\nexports.OPUSRECORDER = OPUSRECORDER;\nvar VMSG = 'vmsg';\nexports.VMSG = VMSG;\nvar WEBMWASM = 'webm-wasm';\nexports.WEBMWASM = WEBMWASM;\nvar AUDIO_PLUGINS = [LIBVORBISJS, RECORDERJS, LAMEJS, OPUSRECORDER, VMSG];\nexports.AUDIO_PLUGINS = AUDIO_PLUGINS;\nvar VIDEO_PLUGINS = [WEBMWASM];\nexports.VIDEO_PLUGINS = VIDEO_PLUGINS;\nvar RECORD_PLUGINS = AUDIO_PLUGINS.concat(VIDEO_PLUGINS);\nexports.RECORD_PLUGINS = RECORD_PLUGINS;\n\nvar RecordEngine = function (_Component) {\n (0, _inherits2.default)(RecordEngine, _Component);\n\n function RecordEngine(player, options) {\n (0, _classCallCheck2.default)(this, RecordEngine);\n options.evented = true;\n return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(RecordEngine).call(this, player, options));\n }\n\n (0, _createClass2.default)(RecordEngine, [{\n key: \"dispose\",\n value: function dispose() {\n if (this.recordedData !== undefined) {\n URL.revokeObjectURL(this.recordedData);\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {}\n }, {\n key: \"addFileInfo\",\n value: function addFileInfo(fileObj) {\n (0, _fileUtil.addFileInfo)(fileObj);\n }\n }, {\n key: \"onStopRecording\",\n value: function onStopRecording(data) {\n this.recordedData = data;\n this.addFileInfo(this.recordedData);\n this.dispose();\n this.trigger(_event.default.RECORD_COMPLETE);\n }\n }, {\n key: \"saveAs\",\n value: function saveAs(name) {\n var fileName = name[Object.keys(name)[0]];\n (0, _fileUtil.downloadBlob)(fileName, this.recordedData);\n }\n }]);\n return RecordEngine;\n}(Component);\n\nexports.RecordEngine = RecordEngine;\n_video.default.RecordEngine = RecordEngine;\nComponent.registerComponent('RecordEngine', RecordEngine);\n\n//# sourceURL=webpack://VideojsRecord/./src/js/engine/record-engine.js?");
/***/ }),
/***/ "./src/js/engine/record-mode.js":
/*!**************************************!*\
!*** ./src/js/engine/record-mode.js ***!
\**************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SCREEN_ONLY = exports.ANIMATION = exports.AUDIO_VIDEO = exports.VIDEO_ONLY = exports.AUDIO_ONLY = exports.IMAGE_ONLY = exports.getRecorderMode = void 0;\nvar IMAGE_ONLY = 'image_only';\nexports.IMAGE_ONLY = IMAGE_ONLY;\nvar AUDIO_ONLY = 'audio_only';\nexports.AUDIO_ONLY = AUDIO_ONLY;\nvar VIDEO_ONLY = 'video_only';\nexports.VIDEO_ONLY = VIDEO_ONLY;\nvar AUDIO_VIDEO = 'audio_video';\nexports.AUDIO_VIDEO = AUDIO_VIDEO;\nvar ANIMATION = 'animation';\nexports.ANIMATION = ANIMATION;\nvar SCREEN_ONLY = 'screen_only';\nexports.SCREEN_ONLY = SCREEN_ONLY;\n\nvar getRecorderMode = function getRecorderMode(image, audio, video, animation, screen) {\n if (isModeEnabled(image)) {\n return IMAGE_ONLY;\n } else if (isModeEnabled(animation)) {\n return ANIMATION;\n } else if (isModeEnabled(screen)) {\n return SCREEN_ONLY;\n } else if (isModeEnabled(audio) && !isModeEnabled(video)) {\n return AUDIO_ONLY;\n } else if (isModeEnabled(audio) && isModeEnabled(video)) {\n return AUDIO_VIDEO;\n } else if (!isModeEnabled(audio) && isModeEnabled(video)) {\n return VIDEO_ONLY;\n }\n};\n\nexports.getRecorderMode = getRecorderMode;\n\nvar isModeEnabled = function isModeEnabled(mode) {\n return mode === Object(mode) || mode === true;\n};\n\n//# sourceURL=webpack://VideojsRecord/./src/js/engine/record-mode.js?");
/***/ }),
/***/ "./src/js/engine/record-rtc.js":
/*!*************************************!*\
!*** ./src/js/engine/record-rtc.js ***!
\*************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\"));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\"));\n\nvar _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ \"./node_modules/@babel/runtime/helpers/get.js\"));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\"));\n\nvar _video = _interopRequireDefault(__webpack_require__(/*! video.js */ \"video.js\"));\n\nvar _event = _interopRequireDefault(__webpack_require__(/*! ../event */ \"./src/js/event.js\"));\n\nvar _recordEngine = __webpack_require__(/*! ./record-engine */ \"./src/js/engine/record-engine.js\");\n\nvar _detectBrowser = __webpack_require__(/*! ../utils/detect-browser */ \"./src/js/utils/detect-browser.js\");\n\nvar _recordMode = __webpack_require__(/*! ./record-mode */ \"./src/js/engine/record-mode.js\");\n\nvar Component = _video.default.getComponent('Component');\n\nvar RecordRTCEngine = function (_RecordEngine) {\n (0, _inherits2.default)(RecordRTCEngine, _RecordEngine);\n\n function RecordRTCEngine() {\n (0, _classCallCheck2.default)(this, RecordRTCEngine);\n return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(RecordRTCEngine).apply(this, arguments));\n }\n\n (0, _createClass2.default)(RecordRTCEngine, [{\n key: \"setup\",\n value: function setup(stream, mediaType, debug) {\n this.inputStream = stream;\n this.mediaType = mediaType;\n this.debug = debug;\n\n if ('screen' in this.mediaType) {\n this.mediaType.video = true;\n }\n\n if (this.recorderType !== undefined) {\n this.mediaType.video = this.recorderType;\n }\n\n this.engine = new RecordRTC.MRecordRTC();\n this.engine.mediaType = this.mediaType;\n this.engine.disableLogs = !this.debug;\n this.engine.mimeType = this.mimeType;\n this.engine.bufferSize = this.bufferSize;\n this.engine.sampleRate = this.sampleRate;\n this.engine.numberOfAudioChannels = this.audioChannels;\n this.engine.video = this.video;\n this.engine.canvas = this.canvas;\n this.engine.quality = this.quality;\n this.engine.frameRate = this.frameRate;\n\n if (this.onTimeStamp !== undefined) {\n this.engine.timeSlice = this.timeSlice;\n this.engine.onTimeStamp = this.onTimeStamp;\n }\n\n this.engine.workerPath = this.workerPath;\n this.engine.webAssemblyPath = this.videoWebAssemblyURL;\n this.engine.addStream(this.inputStream);\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n (0, _get2.default)((0, _getPrototypeOf2.default)(RecordRTCEngine.prototype), \"dispose\", this).call(this);\n this.destroy();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n if (this.engine && typeof this.engine.destroy === 'function') {\n this.engine.destroy();\n }\n }\n }, {\n key: \"start\",\n value: function start() {\n this.engine.startRecording();\n }\n }, {\n key: \"stop\",\n value: function stop() {\n this.engine.stopRecording(this.onStopRecording.bind(this));\n }\n }, {\n key: \"pause\",\n value: function pause() {\n this.engine.pauseRecording();\n }\n }, {\n key: \"resume\",\n value: function resume() {\n this.engine.resumeRecording();\n }\n }, {\n key: \"saveAs\",\n value: function saveAs(name) {\n if (this.engine && name !== undefined) {\n this.engine.save(name);\n }\n }\n }, {\n key: \"onStopRecording\",\n value: function onStopRecording(audioVideoURL, type) {\n var _this = this;\n\n this.mediaURL = audioVideoURL;\n var recordType = this.player().record().getRecordType();\n this.engine.getBlob(function (recording) {\n switch (recordType) {\n case _recordMode.AUDIO_ONLY:\n if (recording.audio !== undefined) {\n _this.recordedData = recording.audio;\n }\n\n break;\n\n case _recordMode.VIDEO_ONLY:\n case _recordMode.AUDIO_VIDEO:\n case _recordMode.SCREEN_ONLY:\n if (recording.video !== undefined) {\n _this.recordedData = recording.video;\n }\n\n break;\n\n case _recordMode.ANIMATION:\n if (recording.gif !== undefined) {\n _this.recordedData = recording.gif;\n }\n\n break;\n }\n\n _this.addFileInfo(_this.recordedData);\n\n _this.trigger(_event.default.RECORD_COMPLETE);\n });\n }\n }]);\n return RecordRTCEngine;\n}(_recordEngine.RecordEngine);\n\n_video.default.RecordRTCEngine = RecordRTCEngine;\nComponent.registerComponent('RecordRTCEngine', RecordRTCEngine);\nvar _default = RecordRTCEngine;\nexports.default = _default;\nmodule.exports = exports.default;\n\n//# sourceURL=webpack://VideojsRecord/./src/js/engine/record-rtc.js?");
/***/ }),
/***/ "./src/js/event.js":
/*!*************************!*\
!*** ./src/js/event.js ***!
\*************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\"));\n\nvar Event = function Event() {\n (0, _classCallCheck2.default)(this, Event);\n};\n\nEvent.READY = 'ready';\nEvent.ERROR = 'error';\nEvent.LOADEDMETADATA = 'loadedmetadata';\nEvent.LOADSTART = 'loadstart';\nEvent.USERINACTIVE = 'userinactive';\nEvent.TIMEUPDATE = 'timeupdate';\nEvent.DURATIONCHANGE = 'durationchange';\nEvent.ENDED = 'ended';\nEvent.PAUSE = 'pause';\nEvent.PLAY = 'play';\nEvent.DEVICE_READY = 'deviceReady';\nEvent.DEVICE_ERROR = 'deviceError';\nEvent.START_RECORD = 'startRecord';\nEvent.STOP_RECORD = 'stopRecord';\nEvent.FINISH_RECORD = 'finishRecord';\nEvent.RECORD_COMPLETE = 'recordComplete';\nEvent.PROGRESS_RECORD = 'progressRecord';\nEvent.TIMESTAMP = 'timestamp';\nEvent.ENUMERATE_READY = 'enumerateReady';\nEvent.ENUMERATE_ERROR = 'enumerateError';\nEvent.AUDIO_BUFFER_UPDATE = 'audioBufferUpdate';\nEvent.AUDIO_OUTPUT_READY = 'audioOutputReady';\nEvent.FINISH_CONVERT = 'finishConvert';\nEvent.ENTER_PIP = 'enterPIP';\nEvent.LEAVE_PIP = 'leavePIP';\nEvent.ENTERPICTUREINPICTURE = 'enterpictureinpicture';\nEvent.LEAVEPICTUREINPICTURE = 'leavepictureinpicture';\nObject.freeze(Event);\nvar _default = Event;\nexports.default = _default;\nmodule.exports = exports.default;\n\n//# sourceURL=webpack://VideojsRecord/./src/js/event.js?");
/***/ }),
/***/ "./src/js/utils/browser-shim.js":
/*!**************************************!*\
!*** ./src/js/utils/browser-shim.js ***!
\**************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar setSrcObject = function setSrcObject(stream, element) {\n if ('srcObject' in element) {\n element.srcObject = stream;\n } else if ('mozSrcObject' in element) {\n element.mozSrcObject = stream;\n } else {\n element.srcObject = stream;\n }\n};\n\nvar _default = setSrcObject;\nexports.default = _default;\nmodule.exports = exports.default;\n\n//# sourceURL=webpack://VideojsRecord/./src/js/utils/browser-shim.js?");
/***/ }),
/***/ "./src/js/utils/detect-browser.js":
/*!****************************************!*\
!*** ./src/js/utils/detect-browser.js ***!
\****************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isFirefox = exports.isSafari = exports.isChrome = exports.isOpera = exports.isEdge = exports.detectBrowser = void 0;\n\nvar _window = _interopRequireDefault(__webpack_require__(/*! global/window */ \"./node_modules/global/window.js\"));\n\nvar detectBrowser = function detectBrowser() {\n var result = {};\n result.browser = null;\n result.version = null;\n result.minVersion = null;\n\n if (typeof _window.default === 'undefined' || !_window.default.navigator) {\n result.browser = 'Not a supported browser.';\n return result;\n }\n\n if (navigator.mozGetUserMedia) {\n result.browser = 'firefox';\n result.version = extractVersion(navigator.userAgent, /Firefox\\/(\\d+)\\./, 1);\n result.minVersion = 31;\n } else if (navigator.webkitGetUserMedia) {\n result.browser = 'chrome';\n result.version = extractVersion(navigator.userAgent, /Chrom(e|ium)\\/(\\d+)\\./, 2);\n result.minVersion = 38;\n } else if (navigator.mediaDevices && navigator.userAgent.match(/Edge\\/(\\d+).(\\d+)$/)) {\n result.browser = 'edge';\n result.version = extractVersion(navigator.userAgent, /Edge\\/(\\d+).(\\d+)$/, 2);\n result.minVersion = 10547;\n } else if (_window.default.RTCPeerConnection && navigator.userAgent.match(/AppleWebKit\\/(\\d+)\\./)) {\n result.browser = 'safari';\n result.version = extractVersion(navigator.userAgent, /AppleWebKit\\/(\\d+)\\./, 1);\n } else {\n result.browser = 'Not a supported browser.';\n return result;\n }\n\n return result;\n};\n\nexports.detectBrowser = detectBrowser;\n\nvar extractVersion = function extractVersion(uastring, expr, pos) {\n var match = uastring.match(expr);\n return match && match.length >= pos && parseInt(match[pos], 10);\n};\n\nvar isEdge = function isEdge() {\n return detectBrowser().browser === 'edge';\n};\n\nexports.isEdge = isEdge;\n\nvar isSafari = function isSafari() {\n return detectBrowser().browser === 'safari';\n};\n\nexports.isSafari = isSafari;\n\nvar isOpera = function isOpera() {\n return !!_window.default.opera || navigator.userAgent.indexOf('OPR/') !== -1;\n};\n\nexports.isOpera = isOpera;\n\nvar isChrome = function isChrome() {\n return detectBrowser().browser === 'chrome';\n};\n\nexports.isChrome = isChrome;\n\nvar isFirefox = function isFirefox() {\n return detectBrowser().browser === 'firefox';\n};\n\nexports.isFirefox = isFirefox;\n\n//# sourceURL=webpack://VideojsRecord/./src/js/utils/detect-browser.js?");
/***/ }),
/***/ "./src/js/utils/file-util.js":
/*!***********************************!*\
!*** ./src/js/utils/file-util.js ***!
\***********************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addFileInfo = exports.blobToArrayBuffer = exports.downloadBlob = void 0;\n\nvar downloadBlob = function downloadBlob(fileName, data) {\n if (typeof navigator.msSaveOrOpenBlob !== 'undefined') {\n return navigator.msSaveOrOpenBlob(data, fileName);\n } else if (typeof navigator.msSaveBlob !== 'undefined') {\n return navigator.msSaveBlob(data, fileName);\n }\n\n var hyperlink = document.createElement('a');\n hyperlink.href = URL.createObjectURL(data);\n hyperlink.download = fileName;\n hyperlink.style = 'display:none;opacity:0;color:transparent;';\n (document.body || document.documentElement).appendChild(hyperlink);\n\n if (typeof hyperlink.click === 'function') {\n hyperlink.click();\n } else {\n hyperlink.target = '_blank';\n hyperlink.dispatchEvent(new MouseEvent('click', {\n view: window,\n bubbles: true,\n cancelable: true\n }));\n }\n\n URL.revokeObjectURL(hyperlink.href);\n};\n\nexports.downloadBlob = downloadBlob;\n\nvar blobToArrayBuffer = function blobToArrayBuffer(fileObj) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n\n reader.onloadend = function () {\n resolve(reader.result);\n };\n\n reader.onerror = function (ev) {\n reject(ev.error);\n };\n\n reader.readAsArrayBuffer(fileObj);\n });\n};\n\nexports.blobToArrayBuffer = blobToArrayBuffer;\n\nvar addFileInfo = function addFileInfo(fileObj, now) {\n if (fileObj instanceof Blob || fileObj instanceof File) {\n if (now === undefined) {\n now = new Date();\n }\n\n try {\n fileObj.lastModified = now.getTime();\n fileObj.lastModifiedDate = now;\n } catch (e) {\n if (e instanceof TypeError) {} else {\n throw e;\n }\n }\n\n var fileExtension = '.' + fileObj.type.split('/')[1];\n\n if (fileExtension.indexOf(';') > -1) {\n fileExtension = fileExtension.split(';')[0];\n }\n\n try {\n fileObj.name = now.getTime() + fileExtension;\n } catch (e) {\n if (e instanceof TypeError) {} else {\n throw e;\n }\n }\n }\n};\n\nexports.addFileInfo = addFileInfo;\n\n//# sourceURL=webpack://VideojsRecord/./src/js/utils/file-util.js?");
/***/ }),
/***/ "./src/js/utils/format-time.js":
/*!*************************************!*\
!*** ./src/js/utils/format-time.js ***!
\*************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar formatTime = function formatTime(seconds, guide, msDisplayMax) {\n seconds = seconds < 0 ? 0 : seconds;\n guide = guide || seconds;\n var s = Math.floor(seconds % 60),\n m = Math.floor(seconds / 60 % 60),\n h = Math.floor(seconds / 3600),\n gm = Math.floor(guide / 60 % 60),\n gh = Math.floor(guide / 3600),\n ms = Math.floor((seconds - s) * 1000);\n\n if (isNaN(seconds) || seconds === Infinity) {\n h = m = s = ms = '-';\n }\n\n if (guide > 0 && guide < msDisplayMax) {\n if (ms < 100) {\n if (ms < 10) {\n ms = '00' + ms;\n } else {\n ms = '0' + ms;\n }\n }\n\n ms = ':' + ms;\n } else {\n ms = '';\n }\n\n h = h > 0 || gh > 0 ? h + ':' : '';\n m = ((h || gm >= 10) && m < 10 ? '0' + m : m) + ':';\n s = s < 10 ? '0' + s : s;\n return h + m + s + ms;\n};\n\nvar _default = formatTime;\nexports.default = _default;\nmodule.exports = exports.default;\n\n//# sourceURL=webpack://VideojsRecord/./src/js/utils/format-time.js?");
/***/ }),
/***/ "./src/js/videojs.record.js":
/*!**********************************!*\
!*** ./src/js/videojs.record.js ***!
\**********************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Record = void 0;\n\nvar _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ \"./node_modules/@babel/runtime/helpers/typeof.js\"));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\"));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\"));\n\nvar _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ \"./node_modules/@babel/runtime/helpers/get.js\"));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\"));\n\nvar _video = _interopRequireDefault(__webpack_require__(/*! video.js */ \"video.js\"));\n\nvar _animationDisplay = _interopRequireDefault(__webpack_require__(/*! ./controls/animation-display */ \"./src/js/controls/animation-display.js\"));\n\nvar _recordCanvas = _interopRequireDefault(__webpack_require__(/*! ./controls/record-canvas */ \"./src/js/controls/record-canvas.js\"));\n\nvar _deviceButton = _interopRequireDefault(__webpack_require__(/*! ./controls/device-button */ \"./src/js/controls/device-button.js\"));\n\nvar _cameraButton = _interopRequireDefault(__webpack_require__(/*! ./controls/camera-button */ \"./src/js/controls/camera-button.js\"));\n\nvar _recordToggle = _interopRequireDefault(__webpack_require__(/*! ./controls/record-toggle */ \"./src/js/controls/record-toggle.js\"));\n\nvar _recordIndicator = _interopRequireDefault(__webpack_require__(/*! ./controls/record-indicator */ \"./src/js/controls/record-indicator.js\"));\n\nvar _pictureInPictureToggle = _interopRequireDefault(__webpack_require__(/*! ./controls/picture-in-picture-toggle */ \"./src/js/controls/picture-in-picture-toggle.js\"));\n\nvar _event = _interopRequireDefault(__webpack_require__(/*! ./event */ \"./src/js/event.js\"));\n\nvar _defaults = _interopRequireDefault(__webpack_require__(/*! ./defaults */ \"./src/js/defaults.js\"));\n\nvar _formatTime = _interopRequireDefault(__webpack_require__(/*! ./utils/format-time */ \"./src/js/utils/format-time.js\"));\n\nvar _browserShim = _interopRequireDefault(__webpack_require__(/*! ./utils/browser-shim */ \"./src/js/utils/browser-shim.js\"));\n\nvar _detectBrowser = __webpack_require__(/*! ./utils/detect-browser */ \"./src/js/utils/detect-browser.js\");\n\nvar _engineLoader = __webpack_require__(/*! ./engine/engine-loader */ \"./src/js/engine/engine-loader.js\");\n\nvar _recordMode = __webpack_require__(/*! ./engine/record-mode */ \"./src/js/engine/record-mode.js\");\n\nvar Plugin = _video.default.getPlugin('plugin');\n\nvar Player = _video.default.getComponent('Player');\n\nvar AUTO = 'auto';\n\nPlayer.prototype.play = function play() {\n var retval = this.techGet_('play');\n\n if (retval !== undefined && typeof retval.then === 'function') {\n retval.then(null, function (e) {});\n }\n\n return retval;\n};\n\nvar Record = function (_Plugin) {\n (0, _inherits2.default)(Record, _Plugin);\n\n function Record(player, options) {\n var _this;\n\n (0, _classCallCheck2.default)(this, Record);\n _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Record).call(this, player, options));\n player.addClass('vjs-record');\n\n _this.loadOptions();\n\n _this.resetState();\n\n var deviceIcon = 'av-perm';\n\n switch (_this.getRecordType()) {\n case _recordMode.IMAGE_ONLY:\n case _recordMode.VIDEO_ONLY:\n case _recordMode.ANIMATION:\n deviceIcon = 'video-perm';\n break;\n\n case _recordMode.AUDIO_ONLY:\n deviceIcon = 'audio-perm';\n break;\n\n case _recordMode.SCREEN_ONLY:\n deviceIcon = 'screen-perm';\n break;\n }\n\n _deviceButton.default.prototype.buildCSSClass = function () {\n return 'vjs-record vjs-device-button vjs-control vjs-icon-' + deviceIcon;\n };\n\n player.deviceButton = new _deviceButton.default(player, options);\n player.addChild(player.deviceButton);\n player.recordIndicator = new _recordIndicator.default(player, options);\n player.recordIndicator.hide();\n player.addChild(player.recordIndicator);\n player.recordCanvas = new _recordCanvas.default(player, options);\n player.recordCanvas.hide();\n player.addChild(player.recordCanvas);\n player.animationDisplay = new _animationDisplay.default(player, options);\n player.animationDisplay.hide();\n player.addChild(player.animationDisplay);\n player.cameraButton = new _cameraButton.default(player, options);\n player.cameraButton.hide();\n player.recordToggle = new _recordToggle.default(player, options);\n player.recordToggle.hide();\n player.pipToggle = new _pictureInPictureToggle.default(player, options);\n player.pipToggle.hide();\n\n if (_this.pictureInPicture === true) {\n _this.onEnterPiPHandler = _this.onEnterPiP.bind((0, _assertThisInitialized2.default)(_this));\n _this.onLeavePiPHandler = _this.onLeavePiP.bind((0, _assertThisInitialized2.default)(_this));\n }\n\n if (_this.player.options_.controlBar) {\n var customUIElements = ['deviceButton', 'recordIndicator', 'cameraButton', 'recordToggle', 'pipToggle'];\n customUIElements.forEach(function (element) {\n if (_this.player.options_.controlBar[element] !== undefined) {\n _this.player[element].layoutExclude = true;\n\n _this.player[element].hide();\n }\n });\n }\n\n _this.player.one(_event.default.READY, _this.setupUI.bind((0, _assertThisInitialized2.default)(_this)));\n\n return _this;\n }\n\n (0, _createClass2.default)(Record, [{\n key: \"loadOptions\",\n value: function loadOptions() {\n var newOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var recordOptions = _video.default.mergeOptions(_defaults.default, this.player.options_.plugins.record, newOptions);\n\n this.recordImage = recordOptions.image;\n this.recordAudio = recordOptions.audio;\n this.recordVideo = recordOptions.video;\n this.recordAnimation = recordOptions.animation;\n this.recordScreen = recordOptions.screen;\n this.maxLength = recordOptions.maxLength;\n this.maxFileSize = recordOptions.maxFileSize;\n this.msDisplayMax = parseFloat(recordOptions.msDisplayMax);\n this.debug = recordOptions.debug;\n this.pictureInPicture = recordOptions.pip;\n this.recordTimeSlice = recordOptions.timeSlice;\n this.autoMuteDevice = recordOptions.autoMuteDevice;\n this.videoFrameWidth = recordOptions.frameWidth;\n this.videoFrameHeight = recordOptions.frameHeight;\n this.videoEngine = recordOptions.videoEngine;\n this.videoRecorderType = recordOptions.videoRecorderType;\n this.videoMimeType = recordOptions.videoMimeType;\n this.videoWorkerURL = recordOptions.videoWorkerURL;\n this.videoWebAssemblyURL = recordOptions.videoWebAssemblyURL;\n this.convertEngine = recordOptions.convertEngine;\n this.audioEngine = recordOptions.audioEngine;\n this.audioRecorderType = recordOptions.audioRecorderType;\n this.audioWorkerURL = recordOptions.audioWorkerURL;\n this.audioWebAssemblyURL = recordOptions.audioWebAssemblyURL;\n this.audioBufferSize = recordOptions.audioBufferSize;\n this.audioSampleRate = recordOptions.audioSampleRate;\n this.audioBitRate = recordOptions.audioBitRate;\n this.audioChannels = recordOptions.audioChannels;\n this.audioMimeType = recordOptions.audioMimeType;\n this.audioBufferUpdate = recordOptions.audioBufferUpdate;\n this.animationFrameRate = recordOptions.animationFrameRate;\n this.animationQuality = recordOptions.animationQuality;\n }\n }, {\n key: \"setupUI\",\n value: function setupUI() {\n var _this2 = this;\n\n this.player.controlBar.addChild(this.player.cameraButton);\n this.player.controlBar.el().insertBefore(this.player.cameraButton.el(), this.player.controlBar.el().firstChild);\n this.player.controlBar.el().insertBefore(this.player.recordToggle.el(), this.player.controlBar.el().firstChild);\n this.player.controlBar.addChild(this.player.pipToggle);\n\n if (this.player.controlBar.remainingTimeDisplay !== undefined) {\n this.player.controlBar.remainingTimeDisplay.el().style.display = 'none';\n }\n\n if (this.player.controlBar.liveDisplay !== undefined) {\n this.player.controlBar.liveDisplay.el().style.display = 'none';\n }\n\n this.player.loop(false);\n\n switch (this.getRecordType()) {\n case _recordMode.AUDIO_ONLY:\n this.surfer = this.player.wavesurfer();\n break;\n\n case _recordMode.IMAGE_ONLY:\n case _recordMode.VIDEO_ONLY:\n case _recordMode.AUDIO_VIDEO:\n case _recordMode.ANIMATION:\n case _recordMode.SCREEN_ONLY:\n this.player.bigPlayButton.hide();\n this.player.one(_event.default.LOADEDMETADATA, function () {\n _this2.setDuration(_this2.maxLength);\n });\n this.player.one(_event.default.LOADSTART, function () {\n _this2.setDuration(_this2.maxLength);\n });\n\n if (this.player.usingNativeControls_ === true) {\n if (this.player.tech_.el_ !== undefined) {\n this.player.tech_.el_.controls = false;\n }\n }\n\n this.player.removeTechControlsListeners_();\n\n if (this.player.options_.controls) {\n if (this.player.controlBar.progressControl !== undefined) {\n this.player.controlBar.progressControl.hide();\n }\n\n this.player.on(_event.default.USERINACTIVE, function (event) {\n _this2.player.userActive(true);\n });\n this.player.controlBar.show();\n this.player.controlBar.el().style.display = 'flex';\n }\n\n break;\n }\n\n this.player.off(_event.default.TIMEUPDATE);\n this.player.off(_event.default.DURATIONCHANGE);\n this.player.off(_event.default.LOADEDMETADATA);\n this.player.off(_event.default.LOADSTART);\n this.setDuration(this.maxLength);\n\n if (this.player.controlBar.playToggle !== undefined) {\n this.player.controlBar.playToggle.hide();\n }\n }\n }, {\n key: \"isRecording\",\n value: function isRecording() {\n return this._recording;\n }\n }, {\n key: \"isProcessing\",\n value: function isProcessing() {\n return this._processing;\n }\n }, {\n key: \"isDestroyed\",\n value: function isDestroyed() {\n var destroyed = this.player === null;\n\n if (destroyed === false) {\n destroyed = this.player.children() === null;\n }\n\n return destroyed;\n }\n }, {\n key: \"getDevice\",\n value: function getDevice() {\n var _this3 = this;\n\n if (this.deviceReadyCallback === undefined) {\n this.deviceReadyCallback = this.onDeviceReady.bind(this);\n }\n\n if (this.deviceErrorCallback === undefined) {\n this.deviceErrorCallback = this.onDeviceError.bind(this);\n }\n\n if (this.engineStopCallback === undefined) {\n this.engineStopCallback = this.onRecordComplete.bind(this);\n }\n\n switch (this.getRecordType()) {\n case _recordMode.AUDIO_ONLY:\n this.mediaType = {\n audio: this.audioRecorderType === AUTO ? true : this.audioRecorderType,\n video: false\n };\n this.surfer.surfer.microphone.un(_event.default.DEVICE_READY, this.deviceReadyCallback);\n this.surfer.surfer.microphone.un(_event.default.DEVICE_ERROR, this.deviceErrorCallback);\n this.surfer.surfer.microphone.on(_event.default.DEVICE_READY, this.deviceReadyCallback);\n this.surfer.surfer.microphone.on(_event.default.DEVICE_ERROR, this.deviceErrorCallback);\n this.surfer.setupPlaybackEvents(false);\n this.surfer.liveMode = true;\n this.surfer.surfer.microphone.paused = false;\n\n if (this.surfer.surfer.backend.ac.state === 'suspended') {\n this.surfer.surfer.backend.ac.resume();\n }\n\n if (this.audioBufferUpdate === true) {\n this.surfer.surfer.microphone.reloadBufferFunction = function (event) {\n if (!_this3.surfer.surfer.microphone.paused) {\n _this3.surfer.surfer.empty();\n\n _this3.surfer.surfer.loadDecodedBuffer(event.inputBuffer);\n\n _this3.player.recordedData = event.inputBuffer;\n\n _this3.player.trigger(_event.default.AUDIO_BUFFER_UPDATE);\n }\n };\n }\n\n this.surfer.surfer.microphone.start();\n break;\n\n case _recordMode.IMAGE_ONLY:\n case _recordMode.VIDEO_ONLY:\n this.mediaType = {\n audio: false,\n video: this.videoRecorderType === AUTO ? true : this.videoRecorderType\n };\n navigator.mediaDevices.getUserMedia({\n audio: false,\n video: this.getRecordType() === _recordMode.IMAGE_ONLY ? this.recordImage : this.recordVideo\n }).then(this.onDeviceReady.bind(this)).catch(this.onDeviceError.bind(this));\n break;\n\n case _recordMode.AUDIO_VIDEO:\n this.mediaType = {\n audio: this.audioRecorderType === AUTO ? true : this.audioRecorderType,\n video: this.videoRecorderType === AUTO ? true : this.videoRecorderType\n };\n navigator.mediaDevices.getUserMedia({\n audio: this.recordAudio,\n video: this.recordVideo\n }).then(this.onDeviceReady.bind(this)).catch(this.onDeviceError.bind(this));\n break;\n\n case _recordMode.ANIMATION:\n this.mediaType = {\n audio: false,\n video: false,\n gif: true\n };\n navigator.mediaDevices.getUserMedia({\n audio: false,\n video: this.recordAnimation\n }).then(this.onDeviceReady.bind(this)).catch(this.onDeviceError.bind(this));\n break;\n\n case _recordMode.SCREEN_ONLY:\n this.mediaType = {\n audio: false,\n video: false,\n screen: true,\n gif: false\n };\n navigator.mediaDevices.getDisplayMedia({\n video: true\n }).then(this.onDeviceReady.bind(this)).catch(this.onDeviceError.bind(this));\n break;\n }\n }\n }, {\n key: \"onDeviceReady\",\n value: function onDeviceReady(stream) {\n var _this4 = this;\n\n this._deviceActive = true;\n this.stream = stream;\n this.player.deviceButton.hide();\n this.setDuration(this.maxLength);\n this.setCurrentTime(0);\n\n if (this.player.controlBar.playToggle !== undefined) {\n this.player.controlBar.playToggle.hide();\n }\n\n this.off(this.player, _event.default.TIMEUPDATE, this.playbackTimeUpdate);\n this.off(this.player, _event.default.ENDED, this.playbackTimeUpdate);\n\n if (this.getRecordType() !== _recordMode.IMAGE_ONLY) {\n if (this.getRecordType() !== _recordMode.AUDIO_ONLY && (0, _engineLoader.isAudioPluginActive)(this.audioEngine)) {\n throw new Error('Currently ' + this.audioEngine + ' is only supported in audio-only mode.');\n }\n\n var EngineClass, engineType;\n\n switch (this.getRecordType()) {\n case _recordMode.AUDIO_ONLY:\n EngineClass = (0, _engineLoader.getAudioEngine)(this.audioEngine);\n engineType = this.audioEngine;\n break;\n\n default:\n EngineClass = (0, _engineLoader.getVideoEngine)(this.videoEngine);\n engineType = this.videoEngine;\n }\n\n try {\n this.engine = new EngineClass(this.player, this.player.options_);\n } catch (err) {\n throw new Error('Could not load ' + engineType + ' plugin');\n }\n\n this.engine.on(_event.default.RECORD_COMPLETE, this.engineStopCallback);\n this.engine.bufferSize = this.audioBufferSize;\n this.engine.sampleRate = this.audioSampleRate;\n this.engine.bitRate = this.audioBitRate;\n this.engine.audioChannels = this.audioChannels;\n this.engine.audioWorkerURL = this.audioWorkerURL;\n this.engine.audioWebAssemblyURL = this.audioWebAssemblyURL;\n this.engine.mimeType = {\n video: this.videoMimeType,\n gif: 'image/gif'\n };\n\n if (this.audioMimeType !== null && this.audioMimeType !== AUTO) {\n this.engine.mimeType.audio = this.audioMimeType;\n }\n\n this.engine.videoWorkerURL = this.videoWorkerURL;\n this.engine.videoWebAssemblyURL = this.videoWebAssemblyURL;\n this.engine.video = {\n width: this.videoFrameWidth,\n height: this.videoFrameHeight\n };\n this.engine.canvas = {\n width: this.videoFrameWidth,\n height: this.videoFrameHeight\n };\n this.engine.quality = this.animationQuality;\n this.engine.frameRate = this.animationFrameRate;\n\n if (this.recordTimeSlice && this.recordTimeSlice > 0) {\n this.engine.timeSlice = this.recordTimeSlice;\n this.engine.onTimeStamp = this.onTimeStamp.bind(this);\n }\n\n this.engine.setup(this.stream, this.mediaType, this.debug);\n\n if (this.convertEngine !== '') {\n var ConvertEngineClass = (0, _engineLoader.getConvertEngine)(this.convertEngine);\n\n try {\n this.converter = new ConvertEngineClass(this.player, this.player.options_);\n } catch (err) {\n throw new Error('Could not load ' + this.convertEngine + ' plugin');\n }\n\n this.converter.setup(this.mediaType, this.debug);\n }\n\n var uiElements = ['currentTimeDisplay', 'timeDivider', 'durationDisplay'];\n uiElements.forEach(function (element) {\n element = _this4.player.controlBar[element];\n\n if (element !== undefined) {\n element.el().style.display = 'block';\n element.show();\n }\n });\n this.player.recordToggle.show();\n } else {\n this.player.recordIndicator.disable();\n this.retrySnapshot();\n this.player.cameraButton.onStop();\n this.player.cameraButton.show();\n }\n\n if (this.getRecordType() !== _recordMode.AUDIO_ONLY) {\n this.mediaElement = this.player.el().firstChild;\n this.mediaElement.controls = false;\n this.mediaElement.muted = true;\n this.displayVolumeControl(false);\n\n if (this.pictureInPicture === true) {\n this.player.pipToggle.show();\n this.mediaElement.removeEventListener(_event.default.ENTERPICTUREINPICTURE, this.onEnterPiPHandler);\n this.mediaElement.removeEventListener(_event.default.LEAVEPICTUREINPICTURE, this.onLeavePiPHandler);\n this.mediaElement.addEventListener(_event.default.ENTERPICTUREINPICTURE, this.onEnterPiPHandler);\n this.mediaElement.addEventListener(_event.default.LEAVEPICTUREINPICTURE, this.onLeavePiPHandler);\n }\n\n this.load(this.stream);\n this.player.one(_event.default.LOADEDMETADATA, function () {\n _this4.mediaElement.play();\n\n _this4.player.trigger(_event.default.DEVICE_READY);\n });\n } else {\n this.player.trigger(_event.default.DEVICE_READY);\n }\n }\n }, {\n key: \"onDeviceError\",\n value: function onDeviceError(code) {\n this._deviceActive = false;\n\n if (!this.isDestroyed()) {\n this.player.deviceErrorCode = code;\n this.player.trigger(_event.default.DEVICE_ERROR);\n }\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this5 = this;\n\n if (!this.isProcessing()) {\n this._recording = true;\n\n if (this.player.controlBar.playToggle !== undefined) {\n this.player.controlBar.playToggle.hide();\n }\n\n this.off(this.player, _event.default.TIMEUPDATE, this.playbackTimeUpdate);\n this.off(this.player, _event.default.ENDED, this.playbackTimeUpdate);\n\n switch (this.getRecordType()) {\n case _recordMode.AUDIO_ONLY:\n this.surfer.setupPlaybackEvents(false);\n this.surfer.surfer.microphone.paused = false;\n this.surfer.liveMode = true;\n this.surfer.surfer.microphone.play();\n break;\n\n case _recordMode.VIDEO_ONLY:\n case _recordMode.AUDIO_VIDEO:\n case _recordMode.SCREEN_ONLY:\n this.startVideoPreview();\n break;\n\n case _recordMode.ANIMATION:\n this.player.recordCanvas.hide();\n this.player.animationDisplay.hide();\n this.mediaElement.style.display = 'block';\n this.captureFrame().then(function (result) {\n _this5.startVideoPreview();\n });\n break;\n }\n\n if (this.autoMuteDevice) {\n this.muteTracks(false);\n }\n\n switch (this.getRecordType()) {\n case _recordMode.IMAGE_ONLY:\n this.createSnapshot();\n this.player.trigger(_event.default.START_RECORD);\n break;\n\n case _recordMode.VIDEO_ONLY:\n case _recordMode.AUDIO_VIDEO:\n case _recordMode.ANIMATION:\n case _recordMode.SCREEN_ONLY:\n this.player.one(_event.default.LOADEDMETADATA, function () {\n _this5.startRecording();\n });\n break;\n\n default:\n this.startRecording();\n }\n }\n }\n }, {\n key: \"startRecording\",\n value: function startRecording() {\n this.paused = false;\n this.pauseTime = this.pausedTime = 0;\n this.startTime = new Date().getTime();\n var COUNTDOWN_SPEED = 100;\n this.countDown = this.player.setInterval(this.onCountDown.bind(this), COUNTDOWN_SPEED);\n\n if (this.engine !== undefined) {\n this.engine.dispose();\n }\n\n this.engine.start();\n this.player.trigger(_event.default.START_RECORD);\n }\n }, {\n key: \"stop\",\n value: function stop() {\n if (!this.isProcessing()) {\n this._recording = false;\n this._processing = true;\n\n if (this.getRecordType() !== _recordMode.IMAGE_ONLY) {\n this.player.trigger(_event.default.STOP_RECORD);\n this.player.clearInterval(this.countDown);\n\n if (this.engine) {\n this.engine.stop();\n }\n\n if (this.autoMuteDevice) {\n this.muteTracks(true);\n }\n } else {\n if (this.player.recordedData) {\n this.player.trigger(_event.default.FINISH_RECORD);\n }\n }\n }\n }\n }, {\n key: \"stopDevice\",\n value: function stopDevice() {\n if (this.isRecording()) {\n this.player.one(_event.default.FINISH_RECORD, this.stopStream.bind(this));\n this.stop();\n } else {\n this.stopStream();\n }\n }\n }, {\n key: \"stopStream\",\n value: function stopStream() {\n if (this.stream) {\n this._deviceActive = false;\n\n if (this.getRecordType() === _recordMode.AUDIO_ONLY) {\n this.surfer.surfer.microphone.stopDevice();\n return;\n }\n\n this.stream.getTracks().forEach(function (stream) {\n stream.stop();\n });\n }\n }\n }, {\n key: \"pause\",\n value: function pause() {\n if (!this.paused) {\n this.pauseTime = new Date().getTime();\n this.paused = true;\n this.engine.pause();\n }\n }\n }, {\n key: \"resume\",\n value: function resume() {\n if (this.paused) {\n this.pausedTime += new Date().getTime() - this.pauseTime;\n this.engine.resume();\n this.paused = false;\n }\n }\n }, {\n key: \"onRecordComplete\",\n value: function onRecordComplete() {\n var _this6 = this;\n\n this.player.recordedData = this.engine.recordedData;\n\n if (this.player.controlBar.playToggle !== undefined) {\n this.player.controlBar.playToggle.removeClass('vjs-ended');\n this.player.controlBar.playToggle.show();\n }\n\n if (this.converter !== undefined) {\n this.converter.convert(this.player.recordedData);\n }\n\n this.player.trigger(_event.default.FINISH_RECORD);\n\n if (this.isDestroyed()) {\n return;\n }\n\n switch (this.getRecordType()) {\n case _recordMode.AUDIO_ONLY:\n this.surfer.pause();\n this.surfer.setupPlaybackEvents(true);\n this.player.loadingSpinner.show();\n this.surfer.surfer.once(_event.default.READY, function () {\n _this6._processing = false;\n });\n this.load(this.player.recordedData);\n break;\n\n case _recordMode.VIDEO_ONLY:\n case _recordMode.AUDIO_VIDEO:\n case _recordMode.SCREEN_ONLY:\n this.player.one(_event.default.PAUSE, function () {\n _this6._processing = false;\n\n _this6.player.loadingSpinner.hide();\n\n _this6.setDuration(_this6.streamDuration);\n\n _this6.on(_this6.player, _event.default.TIMEUPDATE, _this6.playbackTimeUpdate);\n\n _this6.on(_this6.player, _event.default.ENDED, _this6.playbackTimeUpdate);\n\n if (_this6.getRecordType() === _recordMode.AUDIO_VIDEO) {\n _this6.mediaElement.muted = false;\n\n _this6.displayVolumeControl(true);\n }\n\n _this6.load(_this6.player.recordedData);\n });\n this.player.pause();\n break;\n\n case _recordMode.ANIMATION:\n this._processing = false;\n this.player.loadingSpinner.hide();\n this.setDuration(this.streamDuration);\n this.mediaElement.style.display = 'none';\n this.player.recordCanvas.show();\n this.player.pause();\n this.on(this.player, _event.default.PLAY, this.showAnimation);\n this.on(this.player, _event.default.PAUSE, this.hideAnimation);\n break;\n }\n }\n }, {\n key: \"onCountDown\",\n value: function onCountDown() {\n if (!this.paused) {\n var now = new Date().getTime();\n var duration = this.maxLength;\n var currentTime = (now - (this.startTime + this.pausedTime)) / 1000;\n this.streamDuration = currentTime;\n\n if (currentTime >= duration) {\n currentTime = duration;\n this.stop();\n }\n\n this.setDuration(duration);\n this.setCurrentTime(currentTime, duration);\n this.player.trigger(_event.default.PROGRESS_RECORD);\n }\n }\n }, {\n key: \"getCurrentTime\",\n value: function getCurrentTime() {\n var currentTime = isNaN(this.streamCurrentTime) ? 0 : this.streamCurrentTime;\n\n if (this.getRecordType() === _recordMode.AUDIO_ONLY) {\n currentTime = this.surfer.getCurrentTime();\n }\n\n return currentTime;\n }\n }, {\n key: \"setCurrentTime\",\n value: function setCurrentTime(currentTime, duration) {\n currentTime = isNaN(currentTime) ? 0 : currentTime;\n duration = isNaN(duration) ? 0 : duration;\n\n switch (this.getRecordType()) {\n case _recordMode.AUDIO_ONLY:\n this.surfer.setCurrentTime(currentTime, duration);\n break;\n\n case _recordMode.VIDEO_ONLY:\n case _recordMode.AUDIO_VIDEO:\n case _recordMode.ANIMATION:\n case _recordMode.SCREEN_ONLY:\n if (this.player.controlBar.currentTimeDisplay && this.player.controlBar.currentTimeDisplay.contentEl()) {\n this.streamCurrentTime = Math.min(currentTime, duration);\n this.player.controlBar.currentTimeDisplay.formattedTime_ = this.player.controlBar.currentTimeDisplay.contentEl().lastChild.textContent = (0, _formatTime.default)(this.streamCurrentTime, duration, this.msDisplayMax);\n }\n\n break;\n }\n }\n }, {\n key: \"getDuration\",\n value: function getDuration() {\n var duration = isNaN(this.streamDuration) ? 0 : this.streamDuration;\n return duration;\n }\n }, {\n key: \"setDuration\",\n value: function setDuration(duration) {\n duration = isNaN(duration) ? 0 : duration;\n\n switch (this.getRecordType()) {\n case _recordMode.AUDIO_ONLY:\n this.surfer.setDuration(duration);\n break;\n\n case _recordMode.VIDEO_ONLY:\n case _recordMode.AUDIO_VIDEO:\n case _recordMode.ANIMATION:\n case _recordMode.SCREEN_ONLY:\n if (this.player.controlBar.durationDisplay && this.player.controlBar.durationDisplay.contentEl()) {\n this.player.controlBar.durationDisplay.formattedTime_ = this.player.controlBar.durationDisplay.contentEl().lastChild.textContent = (0, _formatTime.default)(duration, duration, this.msDisplayMax);\n }\n\n break;\n }\n }\n }, {\n key: \"load\",\n value: function load(url) {\n switch (this.getRecordType()) {\n case _recordMode.AUDIO_ONLY:\n this.surfer.load(url);\n break;\n\n case _recordMode.IMAGE_ONLY:\n case _recordMode.VIDEO_ONLY:\n case _recordMode.AUDIO_VIDEO:\n case _recordMode.ANIMATION:\n case _recordMode.SCREEN_ONLY:\n if (url instanceof Blob || url instanceof File) {\n this.mediaElement.srcObject = null;\n this.mediaElement.src = URL.createObjectURL(url);\n } else {\n (0, _browserShim.default)(url, this.mediaElement);\n }\n\n break;\n }\n }\n }, {\n key: \"saveAs\",\n value: function saveAs(name) {\n if (this.engine && name !== undefined) {\n this.engine.saveAs(name);\n }\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n this.player.off(_event.default.READY);\n this.player.off(_event.default.USERINACTIVE);\n this.player.off(_event.default.LOADEDMETADATA);\n\n if (this.engine) {\n this.engine.dispose();\n this.engine.destroy();\n this.engine.off(_event.default.RECORD_COMPLETE, this.engineStopCallback);\n }\n\n this.stop();\n this.stopDevice();\n this.player.clearInterval(this.countDown);\n\n if (this.getRecordType() === _recordMode.AUDIO_ONLY) {\n if (this.surfer) {\n this.surfer.destroy();\n }\n }\n\n this.resetState();\n (0, _get2.default)((0, _getPrototypeOf2.default)(Record.prototype), \"dispose\", this).call(this);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.player.dispose();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var _this7 = this;\n\n if (this.engine) {\n this.engine.dispose();\n this.engine.off(_event.default.RECORD_COMPLETE, this.engineStopCallback);\n }\n\n this.stop();\n this.stopDevice();\n this.player.clearInterval(this.countDown);\n this.loadOptions();\n this.resetState();\n this.setDuration(this.maxLength);\n this.setCurrentTime(0);\n this.player.reset();\n\n switch (this.getRecordType()) {\n case _recordMode.AUDIO_ONLY:\n if (this.surfer && this.surfer.surfer) {\n this.surfer.surfer.empty();\n }\n\n break;\n\n case _recordMode.IMAGE_ONLY:\n case _recordMode.ANIMATION:\n this.player.recordCanvas.hide();\n this.player.cameraButton.hide();\n break;\n }\n\n if (this.player.controlBar.playToggle !== undefined) {\n this.player.controlBar.playToggle.hide();\n }\n\n this.player.deviceButton.show();\n this.player.recordToggle.hide();\n this.player.one(_event.default.LOADEDMETADATA, function () {\n _this7.setDuration(_this7.maxLength);\n });\n }\n }, {\n key: \"resetState\",\n value: function resetState() {\n this._recording = false;\n this._processing = false;\n this._deviceActive = false;\n this.devices = [];\n }\n }, {\n key: \"muteTracks\",\n value: function muteTracks(mute) {\n if ((this.getRecordType() === _recordMode.AUDIO_ONLY || this.getRecordType() === _recordMode.AUDIO_VIDEO) && this.stream.getAudioTracks().length > 0) {\n this.stream.getAudioTracks()[0].enabled = !mute;\n }\n\n if (this.getRecordType() !== _recordMode.AUDIO_ONLY && this.stream.getVideoTracks().length > 0) {\n this.stream.getVideoTracks()[0].enabled = !mute;\n }\n }\n }, {\n key: \"getRecordType\",\n value: function getRecordType() {\n return (0, _recordMode.getRecorderMode)(this.recordImage, this.recordAudio, this.recordVideo, this.recordAnimation, this.recordScreen);\n }\n }, {\n key: \"createSnapshot\",\n value: function createSnapshot() {\n var _this8 = this;\n\n this.captureFrame().then(function (result) {\n _this8.player.recordedData = result.toDataURL('image/png');\n _this8.mediaElement.style.display = 'none';\n\n _this8.player.recordCanvas.show();\n\n _this8.stop();\n });\n }\n }, {\n key: \"retrySnapshot\",\n value: function retrySnapshot() {\n this._processing = false;\n this.player.recordCanvas.hide();\n this.player.el().firstChild.style.display = 'block';\n }\n }, {\n key: \"captureFrame\",\n value: function captureFrame() {\n var _this9 = this;\n\n var detected = (0, _detectBrowser.detectBrowser)();\n var recordCanvas = this.player.recordCanvas.el().firstChild;\n recordCanvas.width = this.player.width();\n recordCanvas.height = this.player.height();\n return new Promise(function (resolve, reject) {\n if (detected.browser === 'chrome' && detected.version >= 60 && (typeof ImageCapture === \"undefined\" ? \"undefined\" : (0, _typeof2.default)(ImageCapture)) === (typeof Function === \"undefined\" ? \"undefined\" : (0, _typeof2.default)(Function))) {\n try {\n var track = _this9.stream.getVideoTracks()[0];\n\n var imageCapture = new ImageCapture(track);\n imageCapture.grabFrame().then(function (imageBitmap) {\n _this9.drawCanvas(recordCanvas, imageBitmap);\n\n resolve(recordCanvas);\n }).catch(function (error) {});\n } catch (err) {}\n }\n\n _this9.drawCanvas(recordCanvas, _this9.mediaElement);\n\n resolve(recordCanvas);\n });\n }\n }, {\n key: \"drawCanvas\",\n value: function drawCanvas(canvas, element) {\n canvas.getContext('2d').drawImage(element, 0, 0, canvas.width, canvas.height);\n }\n }, {\n key: \"startVideoPreview\",\n value: function startVideoPreview() {\n this.off(_event.default.TIMEUPDATE);\n this.off(_event.default.DURATIONCHANGE);\n this.off(_event.default.LOADEDMETADATA);\n this.off(_event.default.PLAY);\n this.mediaElement.muted = true;\n this.displayVolumeControl(false);\n this.load(this.stream);\n this.mediaElement.play();\n }\n }, {\n key: \"showAnimation\",\n value: function showAnimation() {\n var animationDisplay = this.player.animationDisplay.el().firstChild;\n animationDisplay.width = this.player.width();\n animationDisplay.height = this.player.height();\n this.player.recordCanvas.hide();\n (0, _browserShim.default)(this.player.recordedData, animationDisplay);\n this.player.animationDisplay.show();\n }\n }, {\n key: \"hideAnimation\",\n value: function hideAnimation() {\n this.player.recordCanvas.show();\n this.player.animationDisplay.hide();\n }\n }, {\n key: \"playbackTimeUpdate\",\n value: function playbackTimeUpdate() {\n this.setCurrentTime(this.player.currentTime(), this.streamDuration);\n }\n }, {\n key: \"onTimeStamp\",\n value: function onTimeStamp(current, all) {\n this.player.currentTimestamp = current;\n this.player.allTimestamps = all;\n var internal;\n\n switch (this.getRecordType()) {\n case _recordMode.AUDIO_ONLY:\n internal = this.engine.engine.audioRecorder;\n break;\n\n case _recordMode.ANIMATION:\n internal = this.engine.engine.gifRecorder;\n break;\n\n default:\n internal = this.engine.engine.videoRecorder;\n }\n\n var maxFileSizeReached = false;\n\n if (internal) {\n internal = internal.getInternalRecorder();\n }\n\n if (internal instanceof MediaStreamRecorder === true) {\n this.player.recordedData = internal.getArrayOfBlobs();\n this.engine.addFileInfo(this.player.recordedData[this.player.recordedData.length - 1]);\n\n if (this.maxFileSize > 0) {\n var currentSize = new Blob(this.player.recordedData).size;\n\n if (currentSize >= this.maxFileSize) {\n maxFileSizeReached = true;\n }\n }\n }\n\n this.player.trigger(_event.default.TIMESTAMP);\n\n if (maxFileSizeReached) {\n this.stop();\n }\n }\n }, {\n key: \"enumerateDevices\",\n value: function enumerateDevices() {\n var _this10 = this;\n\n if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) {\n this.player.enumerateErrorCode = 'enumerateDevices() not supported.';\n this.player.trigger(_event.default.ENUMERATE_ERROR);\n return;\n }\n\n navigator.mediaDevices.enumerateDevices(this).then(function (devices) {\n _this10.devices = [];\n devices.forEach(function (device) {\n _this10.devices.push(device);\n });\n\n _this10.player.trigger(_event.default.ENUMERATE_READY);\n }).catch(function (err) {\n _this10.player.enumerateErrorCode = err;\n\n _this10.player.trigger(_event.default.ENUMERATE_ERROR);\n });\n }\n }, {\n key: \"setAudioOutput\",\n value: function setAudioOutput(deviceId) {\n var _this11 = this;\n\n var errorMessage;\n\n switch (this.getRecordType()) {\n case _recordMode.AUDIO_ONLY:\n this.surfer.surfer.setSinkId(deviceId).then(function (result) {\n _this11.player.trigger(_event.default.AUDIO_OUTPUT_READY);\n\n return;\n }).catch(function (err) {\n errorMessage = err;\n });\n break;\n\n default:\n var element = player.tech_.el_;\n\n if (deviceId) {\n if (typeof element.sinkId !== 'undefined') {\n element.setSinkId(deviceId).then(function (result) {\n _this11.player.trigger(_event.default.AUDIO_OUTPUT_READY);\n\n return;\n }).catch(function (err) {\n errorMessage = err;\n });\n } else {\n errorMessage = 'Browser does not support audio output device selection.';\n }\n } else {\n errorMessage = 'Invalid deviceId: ' + deviceId;\n }\n\n break;\n }\n\n this.player.trigger(_event.default.ERROR, errorMessage);\n }\n }, {\n key: \"displayVolumeControl\",\n value: function displayVolumeControl(display) {\n if (this.player.controlBar.volumePanel !== undefined) {\n if (display === true) {\n display = 'flex';\n } else {\n display = 'none';\n }\n\n this.player.controlBar.volumePanel.el().style.display = display;\n }\n }\n }, {\n key: \"onEnterPiP\",\n value: function onEnterPiP(event) {\n this.player.trigger(_event.default.ENTER_PIP, event);\n }\n }, {\n key: \"onLeavePiP\",\n value: function onLeavePiP(event) {\n this.player.trigger(_event.default.LEAVE_PIP);\n }\n }]);\n return Record;\n}(Plugin);\n\nexports.Record = Record;\nRecord.VERSION = \"3.5.0\";\n_video.default.Record = Record;\n\nif (_video.default.getPlugin('record') === undefined) {\n _video.default.registerPlugin('record', Record);\n}\n\n//# sourceURL=webpack://VideojsRecord/./src/js/videojs.record.js?");
/***/ }),
/***/ 0:
/*!**********************************************************************!*\
!*** multi ./src/js/videojs.record.js ./src/css/videojs.record.scss ***!
\**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("__webpack_require__(/*! /home/thijs/projects/videojs-record/src/js/videojs.record.js */\"./src/js/videojs.record.js\");\nmodule.exports = __webpack_require__(/*! /home/thijs/projects/videojs-record/src/css/videojs.record.scss */\"./src/css/videojs.record.scss\");\n\n\n//# sourceURL=webpack://VideojsRecord/multi_./src/js/videojs.record.js_./src/css/videojs.record.scss?");
/***/ }),
/***/ "video.js":
/*!**************************!*\
!*** external "videojs" ***!
\**************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = __WEBPACK_EXTERNAL_MODULE_video_js__;\n\n//# sourceURL=webpack://VideojsRecord/external_%22videojs%22?");
/***/ })
/******/ });
});