UNPKG

@e10in/videojs-record

Version:

A video.js plugin for recording audio/video/image files.

1,306 lines (980 loc) 159 kB
/*! * @e10in/videojs-record * @version 4.4.4 * @see https://github.com/collab-project/videojs-record * @copyright 2014-2021 Collab * @license MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("recordrtc"), require("video.js")); else if(typeof define === 'function' && define.amd) define("VideojsRecord", ["recordrtc", "video.js"], factory); else if(typeof exports === 'object') exports["VideojsRecord"] = factory(require("recordrtc"), require("video.js")); else root["VideojsRecord"] = factory(root["RecordRTC"], root["videojs"]); })(self, function(__WEBPACK_EXTERNAL_MODULE_recordrtc__, __WEBPACK_EXTERNAL_MODULE_video_js__) { return /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./node_modules/@babel/runtime/helpers/assertThisInitialized.js": /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/assertThisInitialized.js ***! \**********************************************************************/ /***/ ((module) => { function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } module.exports = _assertThisInitialized; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js": /*!*****************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/asyncToGenerator.js ***! \*****************************************************************/ /***/ ((module) => { function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } module.exports = _asyncToGenerator; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/classCallCheck.js": /*!***************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***! \***************************************************************/ /***/ ((module) => { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } module.exports = _classCallCheck; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/createClass.js": /*!************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/createClass.js ***! \************************************************************/ /***/ ((module) => { function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } module.exports = _createClass; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/get.js": /*!****************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/get.js ***! \****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var superPropBase = __webpack_require__(/*! ./superPropBase */ "./node_modules/@babel/runtime/helpers/superPropBase.js"); function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { module.exports = _get = Reflect.get; } else { module.exports = _get = function _get(target, property, receiver) { var base = superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } module.exports = _get; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js": /*!***************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/getPrototypeOf.js ***! \***************************************************************/ /***/ ((module) => { function _getPrototypeOf(o) { module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } module.exports = _getPrototypeOf; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/inherits.js": /*!*********************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/inherits.js ***! \*********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf */ "./node_modules/@babel/runtime/helpers/setPrototypeOf.js"); function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) setPrototypeOf(subClass, superClass); } module.exports = _inherits; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js": /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/interopRequireDefault.js ***! \**********************************************************************/ /***/ ((module) => { function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } module.exports = _interopRequireDefault; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js": /*!**************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***! \**************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var _typeof = __webpack_require__(/*! ../helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js"); var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized */ "./node_modules/@babel/runtime/helpers/assertThisInitialized.js"); function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return assertThisInitialized(self); } module.exports = _possibleConstructorReturn; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/setPrototypeOf.js": /*!***************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/setPrototypeOf.js ***! \***************************************************************/ /***/ ((module) => { function _setPrototypeOf(o, p) { module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } module.exports = _setPrototypeOf; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/superPropBase.js": /*!**************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/superPropBase.js ***! \**************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js"); function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = getPrototypeOf(object); if (object === null) break; } return object; } module.exports = _superPropBase; /***/ }), /***/ "./node_modules/@babel/runtime/helpers/typeof.js": /*!*******************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/typeof.js ***! \*******************************************************/ /***/ ((module) => { function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { module.exports = _typeof = function _typeof(obj) { return typeof obj; }; } else { module.exports = _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } module.exports = _typeof; /***/ }), /***/ "./node_modules/@babel/runtime/regenerator/index.js": /*!**********************************************************!*\ !*** ./node_modules/@babel/runtime/regenerator/index.js ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = __webpack_require__(/*! regenerator-runtime */ "./node_modules/regenerator-runtime/runtime.js"); /***/ }), /***/ "./node_modules/add-zero/index.js": /*!****************************************!*\ !*** ./node_modules/add-zero/index.js ***! \****************************************/ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_RESULT__;(function(exports) { 'use strict'; function addZero(value, digits) { digits = digits || 2; var isNegative = Number(value) < 0; var buffer = value.toString(); var size = 0; // Strip minus sign if number is negative if(isNegative) { buffer = buffer.slice(1); } size = digits - buffer.length + 1; buffer = new Array(size).join('0').concat(buffer); // Adds back minus sign if needed return (isNegative ? '-' : '') + buffer; } if(true) { !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { return addZero; }).call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else {} })(this); /***/ }), /***/ "./src/js/controls/animation-display.js": /*!**********************************************!*\ !*** ./src/js/controls/animation-display.js ***! \**********************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "./node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _video = _interopRequireDefault(__webpack_require__(/*! video.js */ "video.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Component = _video.default.getComponent('Component'); var AnimationDisplay = function (_Component) { (0, _inherits2.default)(AnimationDisplay, _Component); var _super = _createSuper(AnimationDisplay); function AnimationDisplay() { (0, _classCallCheck2.default)(this, AnimationDisplay); return _super.apply(this, arguments); } (0, _createClass2.default)(AnimationDisplay, [{ key: "createEl", value: function createEl() { var imgElement = _video.default.dom.createEl('img'); var el = (0, _get2.default)((0, _getPrototypeOf2.default)(AnimationDisplay.prototype), "createEl", this).call(this, 'div', { className: 'vjs-animation-display', dir: 'ltr' }); el.appendChild(imgElement); return el; } }]); return AnimationDisplay; }(Component); Component.registerComponent('AnimationDisplay', AnimationDisplay); var _default = AnimationDisplay; exports.default = _default; module.exports = exports.default; /***/ }), /***/ "./src/js/controls/camera-button.js": /*!******************************************!*\ !*** ./src/js/controls/camera-button.js ***! \******************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "./node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _video = _interopRequireDefault(__webpack_require__(/*! video.js */ "video.js")); var _event = _interopRequireDefault(__webpack_require__(/*! ../event */ "./src/js/event.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Button = _video.default.getComponent('Button'); var Component = _video.default.getComponent('Component'); var CameraButton = function (_Button) { (0, _inherits2.default)(CameraButton, _Button); var _super = _createSuper(CameraButton); function CameraButton() { (0, _classCallCheck2.default)(this, CameraButton); return _super.apply(this, arguments); } (0, _createClass2.default)(CameraButton, [{ key: "buildCSSClass", value: function buildCSSClass() { return 'vjs-camera-button vjs-control vjs-button vjs-icon-photo-camera'; } }, { key: "enable", value: function enable() { (0, _get2.default)((0, _getPrototypeOf2.default)(CameraButton.prototype), "enable", this).call(this); this.on(this.player_, _event.default.START_RECORD, this.onStart); this.on(this.player_, _event.default.STOP_RECORD, this.onStop); } }, { key: "disable", value: function disable() { (0, _get2.default)((0, _getPrototypeOf2.default)(CameraButton.prototype), "disable", this).call(this); this.off(this.player_, _event.default.START_RECORD, this.onStart); this.off(this.player_, _event.default.STOP_RECORD, this.onStop); } }, { key: "show", value: function show() { if (this.layoutExclude && this.layoutExclude === true) { return; } (0, _get2.default)((0, _getPrototypeOf2.default)(CameraButton.prototype), "show", this).call(this); } }, { key: "handleClick", value: function handleClick(event) { var recorder = this.player_.record(); if (!recorder.isProcessing()) { recorder.start(); } else { recorder.retrySnapshot(); this.onStop(); this.player_.trigger(_event.default.RETRY); } } }, { key: "onStart", value: function onStart(event) { this.removeClass('vjs-icon-photo-camera'); this.addClass('vjs-icon-replay'); this.controlText('Retry'); } }, { key: "onStop", value: function onStop(event) { this.removeClass('vjs-icon-replay'); this.addClass('vjs-icon-photo-camera'); this.controlText('Image'); } }]); return CameraButton; }(Button); CameraButton.prototype.controlText_ = 'Image'; Component.registerComponent('CameraButton', CameraButton); var _default = CameraButton; exports.default = _default; module.exports = exports.default; /***/ }), /***/ "./src/js/controls/device-button.js": /*!******************************************!*\ !*** ./src/js/controls/device-button.js ***! \******************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "./node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _video = _interopRequireDefault(__webpack_require__(/*! video.js */ "video.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Button = _video.default.getComponent('Button'); var Component = _video.default.getComponent('Component'); var DeviceButton = function (_Button) { (0, _inherits2.default)(DeviceButton, _Button); var _super = _createSuper(DeviceButton); function DeviceButton() { (0, _classCallCheck2.default)(this, DeviceButton); return _super.apply(this, arguments); } (0, _createClass2.default)(DeviceButton, [{ key: "handleClick", value: function handleClick(event) { this.player_.record().getDevice(); } }, { key: "show", value: function show() { if (this.layoutExclude && this.layoutExclude === true) { return; } (0, _get2.default)((0, _getPrototypeOf2.default)(DeviceButton.prototype), "show", this).call(this); } }]); return DeviceButton; }(Button); DeviceButton.prototype.controlText_ = 'Device'; Component.registerComponent('DeviceButton', DeviceButton); var _default = DeviceButton; exports.default = _default; module.exports = exports.default; /***/ }), /***/ "./src/js/controls/picture-in-picture-toggle.js": /*!******************************************************!*\ !*** ./src/js/controls/picture-in-picture-toggle.js ***! \******************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.default = void 0; var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js")); var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js")); var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "./node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _video = _interopRequireDefault(__webpack_require__(/*! video.js */ "video.js")); var _event = _interopRequireDefault(__webpack_require__(/*! ../event */ "./src/js/event.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Button = _video.default.getComponent('Button'); var Component = _video.default.getComponent('Component'); var PictureInPictureToggle = function (_Button) { (0, _inherits2.default)(PictureInPictureToggle, _Button); var _super = _createSuper(PictureInPictureToggle); function PictureInPictureToggle(player, options) { var _this; (0, _classCallCheck2.default)(this, PictureInPictureToggle); _this = _super.call(this, player, options); _this.on(_this.player_, _event.default.ENTER_PIP, _this.onStart); _this.on(_this.player_, _event.default.LEAVE_PIP, _this.onStop); return _this; } (0, _createClass2.default)(PictureInPictureToggle, [{ key: "buildCSSClass", value: function buildCSSClass() { return 'vjs-pip-button vjs-control vjs-button vjs-icon-picture-in-picture-start'; } }, { key: "show", value: function show() { if (this.layoutExclude && this.layoutExclude === true) { return; } (0, _get2.default)((0, _getPrototypeOf2.default)(PictureInPictureToggle.prototype), "show", this).call(this); } }, { key: "handleClick", value: function () { var _handleClick = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(event) { var recorder; return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: recorder = this.player_.record(); this.disable(); _context.prev = 2; if (!(recorder.mediaElement !== document.pictureInPictureElement)) { _context.next = 8; break; } _context.next = 6; return recorder.mediaElement.requestPictureInPicture(); case 6: _context.next = 10; break; case 8: _context.next = 10; return document.exitPictureInPicture(); case 10: _context.next = 15; break; case 12: _context.prev = 12; _context.t0 = _context["catch"](2); this.player_.trigger(_event.default.ERROR, _context.t0); case 15: _context.prev = 15; this.enable(); return _context.finish(15); case 18: case "end": return _context.stop(); } } }, _callee, this, [[2, 12, 15, 18]]); })); function handleClick(_x) { return _handleClick.apply(this, arguments); } return handleClick; }() }, { key: "onStart", value: function onStart(event) { this.removeClass('vjs-icon-picture-in-picture-start'); this.addClass('vjs-icon-picture-in-picture-stop'); } }, { key: "onStop", value: function onStop(event) { this.removeClass('vjs-icon-picture-in-picture-stop'); this.addClass('vjs-icon-picture-in-picture-start'); } }]); return PictureInPictureToggle; }(Button); PictureInPictureToggle.prototype.controlText_ = 'Picture in Picture'; Component.registerComponent('PictureInPictureToggle', PictureInPictureToggle); var _default = PictureInPictureToggle; exports.default = _default; module.exports = exports.default; /***/ }), /***/ "./src/js/controls/record-canvas.js": /*!******************************************!*\ !*** ./src/js/controls/record-canvas.js ***! \******************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "./node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _video = _interopRequireDefault(__webpack_require__(/*! video.js */ "video.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Component = _video.default.getComponent('Component'); var RecordCanvas = function (_Component) { (0, _inherits2.default)(RecordCanvas, _Component); var _super = _createSuper(RecordCanvas); function RecordCanvas() { (0, _classCallCheck2.default)(this, RecordCanvas); return _super.apply(this, arguments); } (0, _createClass2.default)(RecordCanvas, [{ key: "createEl", value: function createEl() { var canvasElement = _video.default.dom.createEl('canvas'); var el = (0, _get2.default)((0, _getPrototypeOf2.default)(RecordCanvas.prototype), "createEl", this).call(this, 'div', { className: 'vjs-record-canvas', dir: 'ltr' }); el.appendChild(canvasElement); return el; } }]); return RecordCanvas; }(Component); Component.registerComponent('RecordCanvas', RecordCanvas); var _default = RecordCanvas; exports.default = _default; module.exports = exports.default; /***/ }), /***/ "./src/js/controls/record-indicator.js": /*!*********************************************!*\ !*** ./src/js/controls/record-indicator.js ***! \*********************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "./node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _video = _interopRequireDefault(__webpack_require__(/*! video.js */ "video.js")); var _event = _interopRequireDefault(__webpack_require__(/*! ../event */ "./src/js/event.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Component = _video.default.getComponent('Component'); var RecordIndicator = function (_Component) { (0, _inherits2.default)(RecordIndicator, _Component); var _super = _createSuper(RecordIndicator); function RecordIndicator(player, options) { var _this; (0, _classCallCheck2.default)(this, RecordIndicator); _this = _super.call(this, player, options); _this.enable(); return _this; } (0, _createClass2.default)(RecordIndicator, [{ key: "createEl", value: function createEl() { var props = { className: 'vjs-record-indicator vjs-control', dir: 'ltr' }; var attr = { 'data-label': this.localize('REC') }; return (0, _get2.default)((0, _getPrototypeOf2.default)(RecordIndicator.prototype), "createEl", this).call(this, 'div', props, attr); } }, { key: "enable", value: function enable() { this.on(this.player_, _event.default.START_RECORD, this.show); this.on(this.player_, _event.default.STOP_RECORD, this.hide); } }, { key: "disable", value: function disable() { this.off(this.player_, _event.default.START_RECORD, this.show); this.off(this.player_, _event.default.STOP_RECORD, this.hide); } }, { key: "show", value: function show() { if (this.layoutExclude && this.layoutExclude === true) { return; } (0, _get2.default)((0, _getPrototypeOf2.default)(RecordIndicator.prototype), "show", this).call(this); } }]); return RecordIndicator; }(Component); Component.registerComponent('RecordIndicator', RecordIndicator); var _default = RecordIndicator; exports.default = _default; module.exports = exports.default; /***/ }), /***/ "./src/js/controls/record-toggle.js": /*!******************************************!*\ !*** ./src/js/controls/record-toggle.js ***! \******************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js")); var _get2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/get */ "./node_modules/@babel/runtime/helpers/get.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _video = _interopRequireDefault(__webpack_require__(/*! video.js */ "video.js")); var _event = _interopRequireDefault(__webpack_require__(/*! ../event */ "./src/js/event.js")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Button = _video.default.getComponent('Button'); var Component = _video.default.getComponent('Component'); var RecordToggle = function (_Button) { (0, _inherits2.default)(RecordToggle, _Button); var _super = _createSuper(RecordToggle); function RecordToggle() { (0, _classCallCheck2.default)(this, RecordToggle); return _super.apply(this, arguments); } (0, _createClass2.default)(RecordToggle, [{ key: "buildCSSClass", value: function buildCSSClass() { return 'vjs-record-button vjs-control vjs-button vjs-icon-record-start'; } }, { key: "enable", value: function enable() { (0, _get2.default)((0, _getPrototypeOf2.default)(RecordToggle.prototype), "enable", this).call(this); this.on(this.player_, _event.default.START_RECORD, this.onStart); this.on(this.player_, _event.default.STOP_RECORD, this.onStop); } }, { key: "disable", value: function disable() { (0, _get2.default)((0, _getPrototypeOf2.default)(RecordToggle.prototype), "disable", this).call(this); this.off(this.player_, _event.default.START_RECORD, this.onStart); this.off(this.player_, _event.default.STOP_RECORD, this.onStop); } }, { key: "show", value: function show() { if (this.layoutExclude && this.layoutExclude === true) { return; } (0, _get2.default)((0, _getPrototypeOf2.default)(RecordToggle.prototype), "show", this).call(this); } }, { key: "handleClick", value: function handleClick(event) { var recorder = this.player_.record(); if (!recorder.isRecording()) { recorder.start(); } else { recorder.stop(); } } }, { key: "onStart", value: function onStart(event) { this.removeClass('vjs-icon-record-start'); this.addClass('vjs-icon-record-stop'); this.controlText('Stop'); } }, { key: "onStop", value: function onStop(event) { this.removeClass('vjs-icon-record-stop'); this.addClass('vjs-icon-record-start'); this.controlText('Record'); } }]); return RecordToggle; }(Button); RecordToggle.prototype.controlText_ = 'Record'; Component.registerComponent('RecordToggle', RecordToggle); var _default = RecordToggle; exports.default = _default; module.exports = exports.default; /***/ }), /***/ "./src/js/defaults.js": /*!****************************!*\ !*** ./src/js/defaults.js ***! \****************************/ /***/ ((module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.default = void 0; var pluginDefaultOptions = { image: false, audio: false, video: false, animation: false, screen: false, maxLength: 10, maxFileSize: 0, displayMilliseconds: false, formatTime: undefined, frameWidth: 320, frameHeight: 240, debug: false, pip: false, autoMuteDevice: false, videoBitRate: 1200, videoEngine: 'recordrtc', videoFrameRate: 30, videoMimeType: 'video/webm', videoRecorderType: 'auto', videoWorkerURL: '', videoWebAssemblyURL: '', audioEngine: 'recordrtc', audioRecorderType: 'auto', audioMimeType: 'auto', audioBufferSize: 4096, audioSampleRate: 44100, audioBitRate: 128, audioChannels: 2, audioWorkerURL: '', audioWebAssemblyURL: '', audioBufferUpdate: false, animationFrameRate: 200, animationQuality: 10, imageOutputType: 'dataURL', imageOutputFormat: 'image/png', imageOutputQuality: 0.92, timeSlice: 0, convertEngine: '', convertWorkerURL: '', convertOptions: [], hotKeys: false, pluginLibraryOptions: {} }; var _default = pluginDefaultOptions; exports.default = _default; module.exports = exports.default; /***/ }), /***/ "./src/js/engine/convert-engine.js": /*!*****************************************!*\ !*** ./src/js/engine/convert-engine.js ***! \*****************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.FFMPEGWASM = exports.FFMPEGJS = exports.TSEBML = exports.CONVERT_PLUGINS = exports.ConvertEngine = void 0; var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "./node_modules/@babel/runtime/helpers/classCallCheck.js")); var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "./node_modules/@babel/runtime/helpers/createClass.js")); var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "./node_modules/@babel/runtime/helpers/inherits.js")); var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js")); var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "./node_modules/@babel/runtime/helpers/getPrototypeOf.js")); var _video = _interopRequireDefault(__webpack_require__(/*! video.js */ "video.js")); var _fileUtil = __webpack_require__(/*! ../utils/file-util */ "./src/js/utils/file-util.js"); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Component = _video.default.getComponent('Component'); var TSEBML = 'ts-ebml'; exports.TSEBML = TSEBML; var FFMPEGJS = 'ffmpeg.js'; exports.FFMPEGJS = FFMPEGJS; var FFMPEGWASM = 'ffmpeg.wasm'; exports.FFMPEGWASM = FFMPEGWASM; var CONVERT_PLUGINS = [TSEBML, FFMPEGJS, FFMPEGWASM]; exports.CONVERT_PLUGINS = CONVERT_PLUGINS; var ConvertEngine = function (_Component) { (0, _inherits2.default)(ConvertEngine, _Component); var _super = _createSuper(ConvertEngine); function ConvertEngine(player, options) { (0, _classCallCheck2.default)(this, ConvertEngine); options.evented = true; return _super.call(this, player, options); } (0, _createClass2.default)(ConvertEngine, [{ key: "setup", value: function setup(mediaType, debug) { this.mediaType = mediaType; this.debug = debug; } }, { key: "loadBlob", value: function loadBlob(data) { return (0, _fileUtil.blobToArrayBuffer)(data); } }, { key: "addFileInfo", value: function addFileInfo(fileObj, now) { (0, _fileUtil.addFileInfo)(fileObj, now); } }, { key: "saveAs", value: function saveAs(name) { var fileName = name[Object.keys(name)[0]]; (0, _fileUtil.downloadBlob)(fileName, this.player().convertedData); } }]); return ConvertEngine; }(Component); exports.ConvertEngine = ConvertEngine; _video.default.ConvertEngine = ConvertEngine; Component.registerComponent('ConvertEngine', ConvertEngine); /***/ }), /***/ "./src/js/engine/engine-loader.js": /*!****************************************!*\ !*** ./src/js/engine/engine-loader.js ***! \****************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.getConvertEngine = exports.getVideoEngine = exports.isAudioPluginActive = exports.getAudioEngine = void 0; var _video = _interopRequireDefault(__webpack_require__(/*! video.js */ "video.js")); var _recordRtc = _interopRequireDefault(__webpack_require__(/*! ./record-rtc */ "./src/js/engine/record-rtc.js")); var _convertEngine = __webpack_require__(/*! ./convert-engine */ "./src/js/engine/convert-engine.js"); var _recordEngine = __webpack_require__(/*! ./record-engine */ "./src/js/engine/record-engine.js"); var getAudioEngine = function getAudioEngine(audioEngine) { var AudioEngineClass; switch (audioEngine) { case _recordEngine.RECORDRTC: AudioEngineClass = _recordRtc.default; break; case _recordEngine.LIBVORBISJS: AudioEngineClass = _video.default.LibVorbisEngine; break; case _recordEngine.RECORDERJS: AudioEngineClass = _video.default.RecorderjsEngine; break; case _recordEngine.LAMEJS: AudioEngineClass = _video.default.LamejsEngine; break; case _recordEngine.OPUSRECORDER: AudioEngineClass = _video.default.OpusRecorderEngine; break; case _recordEngine.OPUSMEDIARECORDER: AudioEngineClass = _video.default.OpusMediaRecorderEngine; break; case _recordEngine.VMSG: AudioEngineClass = _video.default.VmsgEngine; break; default: throw new Error('Unknown audioEngine: ' + audioEngine); } return AudioEngineClass; }; exports.getAudioEngine = getAudioEngine; var getVideoEngine = function getVideoEngine(videoEngine) { var VideoEngineClass; switch (videoEngine) { case _recordEngine.RECORDRTC: VideoEngineClass = _recordRtc.default; break; case _recordEngine.WEBMWASM: VideoEngineClass = _video.default.WebmWasmEngine; break; default: throw new Error('Unknown videoEngine: ' + videoEngine); } return VideoEngineClass; }; exports.getVideoEngine = getVideoEngine; var isAudioPluginActive = function isAudioPluginActive(audioEngine) { return _recordEngine.AUDIO_PLUGINS.indexOf(audioEngine) > -1; }; exports.isAudioPluginActive = isAudioPluginActive; var getConvertEngine = function getConvertEngine(convertEngine) { var ConvertEngineClass; switch (convertEngine) { case '': break; case _c