@bigbinary/neeto-media-recorder 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/constants.js +5 -1
- package/constants.js.map +1 -1
- package/core.js +177 -29
- package/core.js.map +1 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
package/constants.js
CHANGED
|
@@ -78,6 +78,10 @@ var IS_EXTENSION = HAS_CHROME_NAMESPACE && isNotNil(chrome.extension);
|
|
|
78
78
|
var IS_SAFARI = platform.name === "Safari";
|
|
79
79
|
var IS_SAFARI_EXTENSION = IS_SAFARI && IS_EXTENSION;
|
|
80
80
|
var PERMISSIONS_HELP_DOC = "https://neetorecordhelp.neetokb.com/p/a-10efcfd7";
|
|
81
|
+
var MIME_TYPE = {
|
|
82
|
+
mp4: "video/mp4",
|
|
83
|
+
webmH264: "video/webm;codecs=h264"
|
|
84
|
+
};
|
|
81
85
|
|
|
82
|
-
export { DEFAULT_RETRY_CONFIG, HAS_CHROME_NAMESPACE, INITIAL_RETRY_DELAY, IS_EXTENSION, IS_SAFARI, IS_SAFARI_EXTENSION, MAX_RETRY_DELAY, NETWORK_ERROR, ONE_MINUTE_IN_MILLISECONDS, ONE_SECOND, ONE_SECOND_IN_MILLISECONDS, PERMISSIONS_HELP_DOC, RETRIABLE_ERRORS, SCREEN_RECORDER_ERROR, SCREEN_RECORDER_EVENT, SCREEN_RECORDER_STATUS, TIMEOUT_ERROR, TOTAL_RETRIES, UPLOAD_EVENT, UPLOAD_STATUS };
|
|
86
|
+
export { DEFAULT_RETRY_CONFIG, HAS_CHROME_NAMESPACE, INITIAL_RETRY_DELAY, IS_EXTENSION, IS_SAFARI, IS_SAFARI_EXTENSION, MAX_RETRY_DELAY, MIME_TYPE, NETWORK_ERROR, ONE_MINUTE_IN_MILLISECONDS, ONE_SECOND, ONE_SECOND_IN_MILLISECONDS, PERMISSIONS_HELP_DOC, RETRIABLE_ERRORS, SCREEN_RECORDER_ERROR, SCREEN_RECORDER_EVENT, SCREEN_RECORDER_STATUS, TIMEOUT_ERROR, TOTAL_RETRIES, UPLOAD_EVENT, UPLOAD_STATUS };
|
|
83
87
|
//# sourceMappingURL=constants.js.map
|
package/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["node_modules/@babel/runtime/helpers/esm/typeof.js","src/constants.js"],"sourcesContent":["export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import platform from \"platform\";\nimport { isNotNil } from \"ramda\";\n\n// https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList\nexport const RETRIABLE_ERRORS = [500, 503];\n\nexport const ONE_SECOND_IN_MILLISECONDS = 1000;\n\nexport const ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS;\n\nexport const ONE_SECOND = 1;\n\nexport const UPLOAD_EVENT = { onComplete: \"onComplete\" };\n\nexport const UPLOAD_STATUS = {\n uploading: \"uploading\",\n completed: \"completed\",\n aborting: \"aborting\",\n};\n\nexport const SCREEN_RECORDER_STATUS = {\n media_aborted: \"media_aborted\",\n permission_denied: \"permission_denied\",\n no_specified_media_found: \"no_specified_media_found\",\n media_in_use: \"media_in_use\",\n invalid_media_constraints: \"invalid_media_constraints\",\n no_chrome_flags_set: \"no_chrome_flags_set\",\n recorder_error: \"recorder_error\",\n idle: \"idle\",\n acquiring_media: \"acquiring_media\",\n media_acquired: \"media_acquired\",\n restarting: \"restarting\",\n recording: \"recording\",\n stopping: \"stopping\",\n stopped: \"stopped\",\n paused: \"paused\",\n};\n\nexport const SCREEN_RECORDER_ERROR = {\n AbortError: \"media_aborted\",\n NotAllowedError: \"permission_denied\",\n NotFoundError: \"no_specified_media_found\",\n NotReadableError: \"media_in_use\",\n OverconstrainedError: \"invalid_media_constraints\",\n TypeError: \"no_chrome_flags_set\",\n None: \"\",\n NoRecorder: \"recorder_error\",\n UnSupportedBrowser: \"unsupported_browser\",\n};\n\nexport const SCREEN_RECORDER_EVENT = {\n onStart: \"onStart\",\n onStop: \"onStop\",\n onDiscard: \"onDiscard\",\n onDataAvailable: \"onDataAvailable\",\n onDiscardDuringCountdown: \"onDiscardDuringCountdown\",\n onRestart: \"onRestart\",\n};\n\nexport const TOTAL_RETRIES = 30;\nexport const INITIAL_RETRY_DELAY = 4000;\nexport const MAX_RETRY_DELAY = 16000;\n\nexport const DEFAULT_RETRY_CONFIG = {\n retries: TOTAL_RETRIES,\n retryDelay: INITIAL_RETRY_DELAY,\n retryableStatuses: [],\n};\n\n// No need to localize this since it will only be used in the code\n// eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized\nexport const NETWORK_ERROR = \"Network Error\";\nexport const TIMEOUT_ERROR = \"ECONNABORTED\";\n\nexport const HAS_CHROME_NAMESPACE = typeof chrome === \"object\";\n\nexport const IS_EXTENSION = HAS_CHROME_NAMESPACE && isNotNil(chrome.extension);\n\nexport const IS_SAFARI = platform.name === \"Safari\";\n\nexport const IS_SAFARI_EXTENSION = IS_SAFARI && IS_EXTENSION;\n\nexport const PERMISSIONS_HELP_DOC =\n \"https://neetorecordhelp.neetokb.com/p/a-10efcfd7\";\n"],"names":["RETRIABLE_ERRORS","ONE_SECOND_IN_MILLISECONDS","ONE_MINUTE_IN_MILLISECONDS","ONE_SECOND","UPLOAD_EVENT","onComplete","UPLOAD_STATUS","uploading","completed","aborting","SCREEN_RECORDER_STATUS","media_aborted","permission_denied","no_specified_media_found","media_in_use","invalid_media_constraints","no_chrome_flags_set","recorder_error","idle","acquiring_media","media_acquired","restarting","recording","stopping","stopped","paused","SCREEN_RECORDER_ERROR","AbortError","NotAllowedError","NotFoundError","NotReadableError","OverconstrainedError","TypeError","None","NoRecorder","UnSupportedBrowser","SCREEN_RECORDER_EVENT","onStart","onStop","onDiscard","onDataAvailable","onDiscardDuringCountdown","onRestart","TOTAL_RETRIES","INITIAL_RETRY_DELAY","MAX_RETRY_DELAY","DEFAULT_RETRY_CONFIG","retries","retryDelay","retryableStatuses","NETWORK_ERROR","TIMEOUT_ERROR","HAS_CHROME_NAMESPACE","chrome","_typeof","IS_EXTENSION","isNotNil","extension","IS_SAFARI","platform","name","IS_SAFARI_EXTENSION","PERMISSIONS_HELP_DOC"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["node_modules/@babel/runtime/helpers/esm/typeof.js","src/constants.js"],"sourcesContent":["export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import platform from \"platform\";\nimport { isNotNil } from \"ramda\";\n\n// https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList\nexport const RETRIABLE_ERRORS = [500, 503];\n\nexport const ONE_SECOND_IN_MILLISECONDS = 1000;\n\nexport const ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS;\n\nexport const ONE_SECOND = 1;\n\nexport const UPLOAD_EVENT = { onComplete: \"onComplete\" };\n\nexport const UPLOAD_STATUS = {\n uploading: \"uploading\",\n completed: \"completed\",\n aborting: \"aborting\",\n};\n\nexport const SCREEN_RECORDER_STATUS = {\n media_aborted: \"media_aborted\",\n permission_denied: \"permission_denied\",\n no_specified_media_found: \"no_specified_media_found\",\n media_in_use: \"media_in_use\",\n invalid_media_constraints: \"invalid_media_constraints\",\n no_chrome_flags_set: \"no_chrome_flags_set\",\n recorder_error: \"recorder_error\",\n idle: \"idle\",\n acquiring_media: \"acquiring_media\",\n media_acquired: \"media_acquired\",\n restarting: \"restarting\",\n recording: \"recording\",\n stopping: \"stopping\",\n stopped: \"stopped\",\n paused: \"paused\",\n};\n\nexport const SCREEN_RECORDER_ERROR = {\n AbortError: \"media_aborted\",\n NotAllowedError: \"permission_denied\",\n NotFoundError: \"no_specified_media_found\",\n NotReadableError: \"media_in_use\",\n OverconstrainedError: \"invalid_media_constraints\",\n TypeError: \"no_chrome_flags_set\",\n None: \"\",\n NoRecorder: \"recorder_error\",\n UnSupportedBrowser: \"unsupported_browser\",\n};\n\nexport const SCREEN_RECORDER_EVENT = {\n onStart: \"onStart\",\n onStop: \"onStop\",\n onDiscard: \"onDiscard\",\n onDataAvailable: \"onDataAvailable\",\n onDiscardDuringCountdown: \"onDiscardDuringCountdown\",\n onRestart: \"onRestart\",\n};\n\nexport const TOTAL_RETRIES = 30;\nexport const INITIAL_RETRY_DELAY = 4000;\nexport const MAX_RETRY_DELAY = 16000;\n\nexport const DEFAULT_RETRY_CONFIG = {\n retries: TOTAL_RETRIES,\n retryDelay: INITIAL_RETRY_DELAY,\n retryableStatuses: [],\n};\n\n// No need to localize this since it will only be used in the code\n// eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized\nexport const NETWORK_ERROR = \"Network Error\";\nexport const TIMEOUT_ERROR = \"ECONNABORTED\";\n\nexport const HAS_CHROME_NAMESPACE = typeof chrome === \"object\";\n\nexport const IS_EXTENSION = HAS_CHROME_NAMESPACE && isNotNil(chrome.extension);\n\nexport const IS_SAFARI = platform.name === \"Safari\";\n\nexport const IS_SAFARI_EXTENSION = IS_SAFARI && IS_EXTENSION;\n\nexport const PERMISSIONS_HELP_DOC =\n \"https://neetorecordhelp.neetokb.com/p/a-10efcfd7\";\n\nexport const MIME_TYPE = {\n mp4: \"video/mp4\",\n webmH264: \"video/webm;codecs=h264\",\n};\n"],"names":["RETRIABLE_ERRORS","ONE_SECOND_IN_MILLISECONDS","ONE_MINUTE_IN_MILLISECONDS","ONE_SECOND","UPLOAD_EVENT","onComplete","UPLOAD_STATUS","uploading","completed","aborting","SCREEN_RECORDER_STATUS","media_aborted","permission_denied","no_specified_media_found","media_in_use","invalid_media_constraints","no_chrome_flags_set","recorder_error","idle","acquiring_media","media_acquired","restarting","recording","stopping","stopped","paused","SCREEN_RECORDER_ERROR","AbortError","NotAllowedError","NotFoundError","NotReadableError","OverconstrainedError","TypeError","None","NoRecorder","UnSupportedBrowser","SCREEN_RECORDER_EVENT","onStart","onStop","onDiscard","onDataAvailable","onDiscardDuringCountdown","onRestart","TOTAL_RETRIES","INITIAL_RETRY_DELAY","MAX_RETRY_DELAY","DEFAULT_RETRY_CONFIG","retries","retryDelay","retryableStatuses","NETWORK_ERROR","TIMEOUT_ERROR","HAS_CHROME_NAMESPACE","chrome","_typeof","IS_EXTENSION","isNotNil","extension","IS_SAFARI","platform","name","IS_SAFARI_EXTENSION","PERMISSIONS_HELP_DOC","MIME_TYPE","mp4","webmH264"],"mappings":"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"}
|
package/core.js
CHANGED
|
@@ -522,6 +522,113 @@ try {
|
|
|
522
522
|
|
|
523
523
|
var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regenerator);
|
|
524
524
|
|
|
525
|
+
function _setPrototypeOf(o, p) {
|
|
526
|
+
_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
|
|
527
|
+
o.__proto__ = p;
|
|
528
|
+
return o;
|
|
529
|
+
};
|
|
530
|
+
return _setPrototypeOf(o, p);
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
function _inherits(subClass, superClass) {
|
|
534
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
535
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
536
|
+
}
|
|
537
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
538
|
+
constructor: {
|
|
539
|
+
value: subClass,
|
|
540
|
+
writable: true,
|
|
541
|
+
configurable: true
|
|
542
|
+
}
|
|
543
|
+
});
|
|
544
|
+
Object.defineProperty(subClass, "prototype", {
|
|
545
|
+
writable: false
|
|
546
|
+
});
|
|
547
|
+
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
function _assertThisInitialized(self) {
|
|
551
|
+
if (self === void 0) {
|
|
552
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
553
|
+
}
|
|
554
|
+
return self;
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
function _possibleConstructorReturn(self, call) {
|
|
558
|
+
if (call && (_typeof$1(call) === "object" || typeof call === "function")) {
|
|
559
|
+
return call;
|
|
560
|
+
} else if (call !== void 0) {
|
|
561
|
+
throw new TypeError("Derived constructors may only return object or undefined");
|
|
562
|
+
}
|
|
563
|
+
return _assertThisInitialized(self);
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
function _getPrototypeOf(o) {
|
|
567
|
+
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
|
|
568
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
569
|
+
};
|
|
570
|
+
return _getPrototypeOf(o);
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
function _isNativeFunction(fn) {
|
|
574
|
+
return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
function _isNativeReflectConstruct$1() {
|
|
578
|
+
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
579
|
+
if (Reflect.construct.sham) return false;
|
|
580
|
+
if (typeof Proxy === "function") return true;
|
|
581
|
+
try {
|
|
582
|
+
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
|
|
583
|
+
return true;
|
|
584
|
+
} catch (e) {
|
|
585
|
+
return false;
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
function _construct(Parent, args, Class) {
|
|
590
|
+
if (_isNativeReflectConstruct$1()) {
|
|
591
|
+
_construct = Reflect.construct.bind();
|
|
592
|
+
} else {
|
|
593
|
+
_construct = function _construct(Parent, args, Class) {
|
|
594
|
+
var a = [null];
|
|
595
|
+
a.push.apply(a, args);
|
|
596
|
+
var Constructor = Function.bind.apply(Parent, a);
|
|
597
|
+
var instance = new Constructor();
|
|
598
|
+
if (Class) _setPrototypeOf(instance, Class.prototype);
|
|
599
|
+
return instance;
|
|
600
|
+
};
|
|
601
|
+
}
|
|
602
|
+
return _construct.apply(null, arguments);
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
function _wrapNativeSuper(Class) {
|
|
606
|
+
var _cache = typeof Map === "function" ? new Map() : undefined;
|
|
607
|
+
_wrapNativeSuper = function _wrapNativeSuper(Class) {
|
|
608
|
+
if (Class === null || !_isNativeFunction(Class)) return Class;
|
|
609
|
+
if (typeof Class !== "function") {
|
|
610
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
611
|
+
}
|
|
612
|
+
if (typeof _cache !== "undefined") {
|
|
613
|
+
if (_cache.has(Class)) return _cache.get(Class);
|
|
614
|
+
_cache.set(Class, Wrapper);
|
|
615
|
+
}
|
|
616
|
+
function Wrapper() {
|
|
617
|
+
return _construct(Class, arguments, _getPrototypeOf(this).constructor);
|
|
618
|
+
}
|
|
619
|
+
Wrapper.prototype = Object.create(Class.prototype, {
|
|
620
|
+
constructor: {
|
|
621
|
+
value: Wrapper,
|
|
622
|
+
enumerable: false,
|
|
623
|
+
writable: true,
|
|
624
|
+
configurable: true
|
|
625
|
+
}
|
|
626
|
+
});
|
|
627
|
+
return _setPrototypeOf(Wrapper, Class);
|
|
628
|
+
};
|
|
629
|
+
return _wrapNativeSuper(Class);
|
|
630
|
+
}
|
|
631
|
+
|
|
525
632
|
var TOTAL_RETRIES = 30;
|
|
526
633
|
var INITIAL_RETRY_DELAY = 4000;
|
|
527
634
|
var MAX_RETRY_DELAY = 16000;
|
|
@@ -538,6 +645,10 @@ var TIMEOUT_ERROR = "ECONNABORTED";
|
|
|
538
645
|
var HAS_CHROME_NAMESPACE = (typeof chrome === "undefined" ? "undefined" : _typeof$1(chrome)) === "object";
|
|
539
646
|
HAS_CHROME_NAMESPACE && isNotNil(chrome.extension);
|
|
540
647
|
platform.name === "Safari";
|
|
648
|
+
var MIME_TYPE = {
|
|
649
|
+
mp4: "video/mp4",
|
|
650
|
+
webmH264: "video/webm;codecs=h264"
|
|
651
|
+
};
|
|
541
652
|
|
|
542
653
|
var sleep = function sleep(delay) {
|
|
543
654
|
return new Promise(function (resolve) {
|
|
@@ -545,6 +656,17 @@ var sleep = function sleep(delay) {
|
|
|
545
656
|
});
|
|
546
657
|
};
|
|
547
658
|
|
|
659
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
660
|
+
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; } }
|
|
661
|
+
var RetryError = /*#__PURE__*/function (_Error) {
|
|
662
|
+
_inherits(RetryError, _Error);
|
|
663
|
+
var _super = _createSuper(RetryError);
|
|
664
|
+
function RetryError(message) {
|
|
665
|
+
_classCallCheck(this, RetryError);
|
|
666
|
+
return _super.call(this, message);
|
|
667
|
+
}
|
|
668
|
+
return _createClass(RetryError);
|
|
669
|
+
}( /*#__PURE__*/_wrapNativeSuper(Error));
|
|
548
670
|
var buildRetryableApi = function buildRetryableApi(apiConnector) {
|
|
549
671
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_RETRY_CONFIG,
|
|
550
672
|
_ref$retries = _ref.retries,
|
|
@@ -554,48 +676,54 @@ var buildRetryableApi = function buildRetryableApi(apiConnector) {
|
|
|
554
676
|
retryableStatuses = _ref.retryableStatuses;
|
|
555
677
|
return /*#__PURE__*/function () {
|
|
556
678
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(apiConnectorArgs) {
|
|
557
|
-
var
|
|
679
|
+
var _config$signal;
|
|
680
|
+
var _apiConnectorArgs$con, config, remainingAttempts, shouldCancelRetries, _error$response, isRetryableStatus, isRetryableError;
|
|
558
681
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
559
682
|
while (1) switch (_context.prev = _context.next) {
|
|
560
683
|
case 0:
|
|
684
|
+
_apiConnectorArgs$con = apiConnectorArgs.config, config = _apiConnectorArgs$con === void 0 ? null : _apiConnectorArgs$con;
|
|
561
685
|
remainingAttempts = retries + 1;
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
686
|
+
shouldCancelRetries = false;
|
|
687
|
+
config === null || config === void 0 ? void 0 : (_config$signal = config.signal) === null || _config$signal === void 0 ? void 0 : _config$signal.addEventListener("abort", function () {
|
|
688
|
+
shouldCancelRetries = true;
|
|
689
|
+
});
|
|
690
|
+
case 4:
|
|
691
|
+
if (!(remainingAttempts-- && !shouldCancelRetries)) {
|
|
692
|
+
_context.next = 24;
|
|
565
693
|
break;
|
|
566
694
|
}
|
|
567
|
-
_context.prev =
|
|
568
|
-
_context.next =
|
|
695
|
+
_context.prev = 5;
|
|
696
|
+
_context.next = 8;
|
|
569
697
|
return apiConnector(apiConnectorArgs);
|
|
570
|
-
case 5:
|
|
571
|
-
return _context.abrupt("return", _context.sent);
|
|
572
698
|
case 8:
|
|
573
|
-
_context.
|
|
574
|
-
|
|
699
|
+
return _context.abrupt("return", _context.sent);
|
|
700
|
+
case 11:
|
|
701
|
+
_context.prev = 11;
|
|
702
|
+
_context.t0 = _context["catch"](5);
|
|
575
703
|
isRetryableStatus = isPresent(retryableStatuses) && retryableStatuses.includes((_error$response = _context.t0.response) === null || _error$response === void 0 ? void 0 : _error$response.status);
|
|
576
704
|
isRetryableError = isRetryableStatus || _context.t0.message === NETWORK_ERROR || _context.t0.code === TIMEOUT_ERROR;
|
|
577
705
|
if (!(isRetryableError && remainingAttempts > 0)) {
|
|
578
|
-
_context.next =
|
|
706
|
+
_context.next = 21;
|
|
579
707
|
break;
|
|
580
708
|
}
|
|
581
|
-
_context.next =
|
|
709
|
+
_context.next = 18;
|
|
582
710
|
return sleep(retryDelay);
|
|
583
|
-
case 15:
|
|
584
|
-
retryDelay = min(retryDelay * 2, MAX_RETRY_DELAY);
|
|
585
|
-
_context.next = 19;
|
|
586
|
-
break;
|
|
587
711
|
case 18:
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
_context.next = 1;
|
|
712
|
+
retryDelay = min(retryDelay * 2, MAX_RETRY_DELAY);
|
|
713
|
+
_context.next = 22;
|
|
591
714
|
break;
|
|
592
715
|
case 21:
|
|
593
|
-
|
|
716
|
+
throw _context.t0;
|
|
594
717
|
case 22:
|
|
718
|
+
_context.next = 4;
|
|
719
|
+
break;
|
|
720
|
+
case 24:
|
|
721
|
+
throw new RetryError("Request cancelled or request retries exhausted");
|
|
722
|
+
case 25:
|
|
595
723
|
case "end":
|
|
596
724
|
return _context.stop();
|
|
597
725
|
}
|
|
598
|
-
}, _callee, null, [[
|
|
726
|
+
}, _callee, null, [[5, 11]]);
|
|
599
727
|
}));
|
|
600
728
|
return function (_x) {
|
|
601
729
|
return _ref2.apply(this, arguments);
|
|
@@ -630,10 +758,11 @@ var completeUploadApi = {
|
|
|
630
758
|
|
|
631
759
|
var create = function create(_ref) {
|
|
632
760
|
var recordingId = _ref.recordingId,
|
|
633
|
-
payload = _ref.payload
|
|
761
|
+
payload = _ref.payload,
|
|
762
|
+
config = _ref.config;
|
|
634
763
|
return axios.post("/api/v1/recordings/".concat(recordingId, "/part_presigned_url"), {
|
|
635
764
|
partPresignedUrl: payload
|
|
636
|
-
});
|
|
765
|
+
}, config);
|
|
637
766
|
};
|
|
638
767
|
var retryableCreate = buildRetryableApi(create);
|
|
639
768
|
var partPresignedUrlApi = {
|
|
@@ -642,7 +771,7 @@ var partPresignedUrlApi = {
|
|
|
642
771
|
|
|
643
772
|
var s3AxiosInstance = axios.create({
|
|
644
773
|
headers: {
|
|
645
|
-
"Content-Type":
|
|
774
|
+
"Content-Type": MIME_TYPE.webmH264
|
|
646
775
|
}
|
|
647
776
|
});
|
|
648
777
|
s3AxiosInstance.interceptors.response.use(identity, function (error) {
|
|
@@ -920,6 +1049,9 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
920
1049
|
payload: {
|
|
921
1050
|
partNumber: (_classPrivateFieldSet(_this, _partNumber, (_this$partNumber = _classPrivateFieldGet(_this, _partNumber), _this$partNumber2 = _this$partNumber++, _this$partNumber)), _this$partNumber2),
|
|
922
1051
|
uploadId: _classPrivateFieldGet(_this, _uploadId)
|
|
1052
|
+
},
|
|
1053
|
+
config: {
|
|
1054
|
+
signal: _classPrivateFieldGet(_this, _abortController).signal
|
|
923
1055
|
}
|
|
924
1056
|
});
|
|
925
1057
|
case 4:
|
|
@@ -928,7 +1060,7 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
928
1060
|
s3PartUploadPromise = s3Api.presignedUpload({
|
|
929
1061
|
presignedUrl: presignedUrl,
|
|
930
1062
|
blob: new Blob(chunks, {
|
|
931
|
-
type:
|
|
1063
|
+
type: MIME_TYPE.webmH264
|
|
932
1064
|
}),
|
|
933
1065
|
config: {
|
|
934
1066
|
includeMetadataInResponse: true,
|
|
@@ -958,7 +1090,7 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
958
1090
|
writable: true,
|
|
959
1091
|
value: function value() {
|
|
960
1092
|
return new Blob(_classPrivateFieldGet(_this, _unUploadedChunks), {
|
|
961
|
-
type:
|
|
1093
|
+
type: MIME_TYPE.webmH264
|
|
962
1094
|
});
|
|
963
1095
|
}
|
|
964
1096
|
});
|
|
@@ -1030,6 +1162,19 @@ var isStreamEnded = function isStreamEnded(mediaStream) {
|
|
|
1030
1162
|
readyState: "ended"
|
|
1031
1163
|
}, mediaStream.getTracks());
|
|
1032
1164
|
};
|
|
1165
|
+
var getMediaRecorderOptions = function getMediaRecorderOptions() {
|
|
1166
|
+
// Required for safari
|
|
1167
|
+
if (MediaRecorder.isTypeSupported(MIME_TYPE.mp4)) {
|
|
1168
|
+
return {
|
|
1169
|
+
mimeType: MIME_TYPE.mp4
|
|
1170
|
+
};
|
|
1171
|
+
} else if (MediaRecorder.isTypeSupported(MIME_TYPE.webmH264)) {
|
|
1172
|
+
return {
|
|
1173
|
+
mimeType: MIME_TYPE.webmH264
|
|
1174
|
+
};
|
|
1175
|
+
}
|
|
1176
|
+
return {};
|
|
1177
|
+
};
|
|
1033
1178
|
|
|
1034
1179
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1035
1180
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -1102,8 +1247,9 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1102
1247
|
return _classPrivateFieldSet(_this, _audio, audio);
|
|
1103
1248
|
});
|
|
1104
1249
|
_defineProperty(this, "getWebmMediaBlob", function () {
|
|
1250
|
+
var _getMediaRecorderOpti, _getMediaRecorderOpti2;
|
|
1105
1251
|
return new Blob(_classPrivateFieldGet(_this, _mediaChunks), {
|
|
1106
|
-
type:
|
|
1252
|
+
type: (_getMediaRecorderOpti = (_getMediaRecorderOpti2 = getMediaRecorderOptions()) === null || _getMediaRecorderOpti2 === void 0 ? void 0 : _getMediaRecorderOpti2.mimeType) !== null && _getMediaRecorderOpti !== void 0 ? _getMediaRecorderOpti : MIME_TYPE.webmH264
|
|
1107
1253
|
});
|
|
1108
1254
|
});
|
|
1109
1255
|
_defineProperty(this, "addCallback", function (event, callback) {
|
|
@@ -1121,6 +1267,7 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1121
1267
|
delete _classPrivateFieldGet(_this, _callbacks)[event];
|
|
1122
1268
|
});
|
|
1123
1269
|
_defineProperty(this, "startRecording", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
1270
|
+
var options;
|
|
1124
1271
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
1125
1272
|
while (1) switch (_context.prev = _context.next) {
|
|
1126
1273
|
case 0:
|
|
@@ -1145,8 +1292,9 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1145
1292
|
}
|
|
1146
1293
|
return _context.abrupt("return");
|
|
1147
1294
|
case 9:
|
|
1295
|
+
options = getMediaRecorderOptions();
|
|
1148
1296
|
_classPrivateFieldSet(_this, _mediaChunks, []);
|
|
1149
|
-
_classPrivateFieldSet(_this, _mediaRecorder, new MediaRecorder(_classPrivateFieldGet(_this, _mediaStream)));
|
|
1297
|
+
_classPrivateFieldSet(_this, _mediaRecorder, new MediaRecorder(_classPrivateFieldGet(_this, _mediaStream), options));
|
|
1150
1298
|
_classPrivateFieldGet(_this, _mediaRecorder).ondataavailable = _classPrivateFieldGet(_this, _onRecordingActive);
|
|
1151
1299
|
_classPrivateFieldGet(_this, _mediaRecorder).onstart = _classPrivateFieldGet(_this, _onRecordingStart);
|
|
1152
1300
|
_classPrivateFieldGet(_this, _mediaRecorder).onstop = _classPrivateFieldGet(_this, _onRecordingStop);
|
|
@@ -1157,7 +1305,7 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1157
1305
|
});
|
|
1158
1306
|
};
|
|
1159
1307
|
_classPrivateFieldGet(_this, _countdownAndStartRecording).call(_this);
|
|
1160
|
-
case
|
|
1308
|
+
case 17:
|
|
1161
1309
|
case "end":
|
|
1162
1310
|
return _context.stop();
|
|
1163
1311
|
}
|