@bigbinary/neeto-media-recorder 2.7.8 → 2.7.10

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 CHANGED
@@ -19,6 +19,7 @@ var TWO_HUNDRED_MILLISECONDS = 200;
19
19
  var ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS;
20
20
  var ONE_HOUR_IN_MILLISECONDS = 60 * ONE_MINUTE_IN_MILLISECONDS;
21
21
  var ONE_SECOND = 1;
22
+ var COUNTDOWN_TIME = 3;
22
23
  var UPLOAD_EVENT = {
23
24
  onComplete: "onComplete",
24
25
  onError: "onError",
@@ -100,6 +101,7 @@ var MIME_TYPE = {
100
101
  webmH264: "video/webm;codecs=h264"
101
102
  };
102
103
  var START_RECORDING_SOUND = "https://neeto-record-static-assets.s3.amazonaws.com/recording-start-sound-2.mp3";
104
+ var COUNTDOWN_TICK_SOUND = "https://neeto-record-static-assets.s3.us-east-1.amazonaws.com/recording-tick-sound.mp3";
103
105
  var STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND = "https://neeto-record-static-assets.s3.amazonaws.com/recording-end-sound.mp3";
104
106
  var RECORDING_LIMIT_REACHED_WARNING_SOUND = "https://neeto-record-static-assets.s3.amazonaws.com/recording-warning-sound.mp3";
105
107
  var RECORDING_TIME_LIMIT_FREE_PLAN = 15 * ONE_MINUTE_IN_MILLISECONDS; // 15 minutes
@@ -108,5 +110,5 @@ var RECORDING_TIME_LIMIT_PRO_PLAN = 2 * ONE_HOUR_IN_MILLISECONDS; // 2 hours
108
110
  var MIC_NOT_WORKING_ALERT_TIME = 15;
109
111
  var MIC_NOT_WORKING_SILENCE_TIMEOUT = MIC_NOT_WORKING_ALERT_TIME * 1000;
110
112
 
111
- export { DEFAULT_RETRY_CONFIG, HALF_A_SECOND_IN_MILLISECONDS, HAS_CHROME_NAMESPACE, INITIAL_RETRY_DELAY, IS_EXTENSION, IS_SAFARI, IS_SAFARI_EXTENSION, MAX_RETRY_DELAY, MIC_NOT_WORKING_ALERT_TIME, MIC_NOT_WORKING_SILENCE_TIMEOUT, MIME_TYPE, NETWORK_ERROR, ONE_HOUR_IN_MILLISECONDS, ONE_MINUTE_IN_MILLISECONDS, ONE_SECOND, ONE_SECOND_IN_MILLISECONDS, PERMISSIONS_HELP_DOC, RECORDING_LIMIT_REACHED_WARNING_SOUND, RECORDING_TIME_LIMIT_FREE_PLAN, RECORDING_TIME_LIMIT_PRO_PLAN, RETRYABLE_ERRORS, SCREEN_RECORDER_ERROR, SCREEN_RECORDER_EVENT, SCREEN_RECORDER_STATUS, START_RECORDING_SOUND, STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND, TIMEOUT_ERROR, TOTAL_RETRIES, TWO_HUNDRED_MILLISECONDS, UPLOAD_EVENT, UPLOAD_STATUS };
113
+ export { COUNTDOWN_TICK_SOUND, COUNTDOWN_TIME, DEFAULT_RETRY_CONFIG, HALF_A_SECOND_IN_MILLISECONDS, HAS_CHROME_NAMESPACE, INITIAL_RETRY_DELAY, IS_EXTENSION, IS_SAFARI, IS_SAFARI_EXTENSION, MAX_RETRY_DELAY, MIC_NOT_WORKING_ALERT_TIME, MIC_NOT_WORKING_SILENCE_TIMEOUT, MIME_TYPE, NETWORK_ERROR, ONE_HOUR_IN_MILLISECONDS, ONE_MINUTE_IN_MILLISECONDS, ONE_SECOND, ONE_SECOND_IN_MILLISECONDS, PERMISSIONS_HELP_DOC, RECORDING_LIMIT_REACHED_WARNING_SOUND, RECORDING_TIME_LIMIT_FREE_PLAN, RECORDING_TIME_LIMIT_PRO_PLAN, RETRYABLE_ERRORS, SCREEN_RECORDER_ERROR, SCREEN_RECORDER_EVENT, SCREEN_RECORDER_STATUS, START_RECORDING_SOUND, STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND, TIMEOUT_ERROR, TOTAL_RETRIES, TWO_HUNDRED_MILLISECONDS, UPLOAD_EVENT, UPLOAD_STATUS };
112
114
  //# 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":["function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import platform from \"platform\";\nimport { isNotNil } from \"ramda\";\n\n// https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList\nexport const RETRYABLE_ERRORS = [500, 503];\n\nexport const ONE_SECOND_IN_MILLISECONDS = 1000;\nexport const HALF_A_SECOND_IN_MILLISECONDS = 500;\nexport const TWO_HUNDRED_MILLISECONDS = 200;\n\nexport const ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS;\nexport const ONE_HOUR_IN_MILLISECONDS = 60 * ONE_MINUTE_IN_MILLISECONDS;\n\nexport const ONE_SECOND = 1;\n\nexport const UPLOAD_EVENT = {\n onComplete: \"onComplete\",\n onError: \"onError\",\n onProgress: \"onProgress\",\n};\n\nexport const UPLOAD_STATUS = {\n uploading: \"uploading\",\n completed: \"completed\",\n aborting: \"aborting\",\n insufficient_data: \"insufficient_data\",\n error: \"error\",\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 MicPermissionDenied: \"mic_permission_denied\",\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 FailedToStart: \"failed_to_start\",\n InsufficientData: \"insufficient_data\",\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 onReUpload: \"onReUpload\",\n onReUploadFromDisk: \"onReUploadFromDisk\",\n onPause: \"onPause\",\n onResume: \"onResume\",\n onCountdownStart: \"onCountdownStart\",\n onCountdown: \"onCountDown\",\n onCountdownEnd: \"onCountdownEnd\",\n};\n\nexport const TOTAL_RETRIES = 15;\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\nexport const START_RECORDING_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-start-sound-2.mp3\";\n\nexport const STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-end-sound.mp3\";\n\nexport const RECORDING_LIMIT_REACHED_WARNING_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-warning-sound.mp3\";\n\nexport const RECORDING_TIME_LIMIT_FREE_PLAN = 15 * ONE_MINUTE_IN_MILLISECONDS; // 15 minutes\nexport const RECORDING_TIME_LIMIT_PRO_PLAN = 2 * ONE_HOUR_IN_MILLISECONDS; // 2 hours\n\nexport const MIC_NOT_WORKING_ALERT_TIME = 15;\nexport const MIC_NOT_WORKING_SILENCE_TIMEOUT =\n MIC_NOT_WORKING_ALERT_TIME * 1000;\n"],"names":["RETRYABLE_ERRORS","ONE_SECOND_IN_MILLISECONDS","HALF_A_SECOND_IN_MILLISECONDS","TWO_HUNDRED_MILLISECONDS","ONE_MINUTE_IN_MILLISECONDS","ONE_HOUR_IN_MILLISECONDS","ONE_SECOND","UPLOAD_EVENT","onComplete","onError","onProgress","UPLOAD_STATUS","uploading","completed","aborting","insufficient_data","error","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","MicPermissionDenied","AbortError","NotAllowedError","NotFoundError","NotReadableError","OverconstrainedError","TypeError","None","NoRecorder","UnSupportedBrowser","FailedToStart","InsufficientData","SCREEN_RECORDER_EVENT","onStart","onStop","onDiscard","onDataAvailable","onDiscardDuringCountdown","onRestart","onReUpload","onReUploadFromDisk","onPause","onResume","onCountdownStart","onCountdown","onCountdownEnd","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","START_RECORDING_SOUND","STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND","RECORDING_LIMIT_REACHED_WARNING_SOUND","RECORDING_TIME_LIMIT_FREE_PLAN","RECORDING_TIME_LIMIT_PRO_PLAN","MIC_NOT_WORKING_ALERT_TIME","MIC_NOT_WORKING_SILENCE_TIMEOUT"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"constants.js","sources":["node_modules/@babel/runtime/helpers/esm/typeof.js","src/constants.js"],"sourcesContent":["function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import platform from \"platform\";\nimport { isNotNil } from \"ramda\";\n\n// https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList\nexport const RETRYABLE_ERRORS = [500, 503];\n\nexport const ONE_SECOND_IN_MILLISECONDS = 1000;\nexport const HALF_A_SECOND_IN_MILLISECONDS = 500;\nexport const TWO_HUNDRED_MILLISECONDS = 200;\n\nexport const ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS;\nexport const ONE_HOUR_IN_MILLISECONDS = 60 * ONE_MINUTE_IN_MILLISECONDS;\n\nexport const ONE_SECOND = 1;\n\nexport const COUNTDOWN_TIME = 3;\n\nexport const UPLOAD_EVENT = {\n onComplete: \"onComplete\",\n onError: \"onError\",\n onProgress: \"onProgress\",\n};\n\nexport const UPLOAD_STATUS = {\n uploading: \"uploading\",\n completed: \"completed\",\n aborting: \"aborting\",\n insufficient_data: \"insufficient_data\",\n error: \"error\",\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 MicPermissionDenied: \"mic_permission_denied\",\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 FailedToStart: \"failed_to_start\",\n InsufficientData: \"insufficient_data\",\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 onReUpload: \"onReUpload\",\n onReUploadFromDisk: \"onReUploadFromDisk\",\n onPause: \"onPause\",\n onResume: \"onResume\",\n onCountdownStart: \"onCountdownStart\",\n onCountdown: \"onCountDown\",\n onCountdownEnd: \"onCountdownEnd\",\n};\n\nexport const TOTAL_RETRIES = 15;\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\nexport const START_RECORDING_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-start-sound-2.mp3\";\n\nexport const COUNTDOWN_TICK_SOUND =\n \"https://neeto-record-static-assets.s3.us-east-1.amazonaws.com/recording-tick-sound.mp3\";\n\nexport const STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-end-sound.mp3\";\n\nexport const RECORDING_LIMIT_REACHED_WARNING_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-warning-sound.mp3\";\n\nexport const RECORDING_TIME_LIMIT_FREE_PLAN = 15 * ONE_MINUTE_IN_MILLISECONDS; // 15 minutes\nexport const RECORDING_TIME_LIMIT_PRO_PLAN = 2 * ONE_HOUR_IN_MILLISECONDS; // 2 hours\n\nexport const MIC_NOT_WORKING_ALERT_TIME = 15;\nexport const MIC_NOT_WORKING_SILENCE_TIMEOUT =\n MIC_NOT_WORKING_ALERT_TIME * 1000;\n"],"names":["RETRYABLE_ERRORS","ONE_SECOND_IN_MILLISECONDS","HALF_A_SECOND_IN_MILLISECONDS","TWO_HUNDRED_MILLISECONDS","ONE_MINUTE_IN_MILLISECONDS","ONE_HOUR_IN_MILLISECONDS","ONE_SECOND","COUNTDOWN_TIME","UPLOAD_EVENT","onComplete","onError","onProgress","UPLOAD_STATUS","uploading","completed","aborting","insufficient_data","error","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","MicPermissionDenied","AbortError","NotAllowedError","NotFoundError","NotReadableError","OverconstrainedError","TypeError","None","NoRecorder","UnSupportedBrowser","FailedToStart","InsufficientData","SCREEN_RECORDER_EVENT","onStart","onStop","onDiscard","onDataAvailable","onDiscardDuringCountdown","onRestart","onReUpload","onReUploadFromDisk","onPause","onResume","onCountdownStart","onCountdown","onCountdownEnd","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","START_RECORDING_SOUND","COUNTDOWN_TICK_SOUND","STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND","RECORDING_LIMIT_REACHED_WARNING_SOUND","RECORDING_TIME_LIMIT_FREE_PLAN","RECORDING_TIME_LIMIT_PRO_PLAN","MIC_NOT_WORKING_ALERT_TIME","MIC_NOT_WORKING_SILENCE_TIMEOUT"],"mappings":"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","x_google_ignoreList":[0]}
package/core.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import axios from 'axios';
2
2
  import { isNotEmpty, existsBy, isNot, noop } from '@bigbinary/neeto-cist';
3
- import { MIME_TYPE as MIME_TYPE$1, UPLOAD_EVENT, UPLOAD_STATUS, SCREEN_RECORDER_STATUS, START_RECORDING_SOUND, RECORDING_LIMIT_REACHED_WARNING_SOUND, STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND, RECORDING_TIME_LIMIT_FREE_PLAN, SCREEN_RECORDER_ERROR, SCREEN_RECORDER_EVENT, HALF_A_SECOND_IN_MILLISECONDS, ONE_SECOND, ONE_SECOND_IN_MILLISECONDS, TWO_HUNDRED_MILLISECONDS, ONE_MINUTE_IN_MILLISECONDS, IS_EXTENSION } from '@bigbinary/neeto-media-recorder/constants';
3
+ import { MIME_TYPE as MIME_TYPE$1, UPLOAD_EVENT, UPLOAD_STATUS, SCREEN_RECORDER_STATUS as SCREEN_RECORDER_STATUS$1, COUNTDOWN_TIME } from '@bigbinary/neeto-media-recorder/constants';
4
4
  import { useMultipartS3UploadStatus as useMultipartS3UploadStatus$1, getMultipartS3Uploader as getMultipartS3Uploader$1 } from '@bigbinary/neeto-media-recorder/core';
5
- import { isNotNil, min, isNil, identity, isEmpty, pick, equals, not } from 'ramda';
5
+ import { isNotNil, min, isNil, identity, isEmpty, pick, not } from 'ramda';
6
6
  import platform from 'platform';
7
7
  import withImmutableActions from '@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions';
8
8
  import { create as create$3 } from 'zustand';
@@ -547,6 +547,17 @@ function v4(options, buf, offset) {
547
547
  return unsafeStringify(rnds);
548
548
  }
549
549
 
550
+ var create$2 = function create(_ref) {
551
+ var recordingId = _ref.recordingId,
552
+ payload = _ref.payload;
553
+ return axios.post("/api/v1/recordings/".concat(recordingId, "/abort_upload"), {
554
+ abortUpload: payload
555
+ });
556
+ };
557
+ var abortUploadApi = {
558
+ create: create$2
559
+ };
560
+
550
561
  function _setPrototypeOf(t, e) {
551
562
  return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
552
563
  return t.__proto__ = e, t;
@@ -631,6 +642,57 @@ function _wrapNativeSuper(t) {
631
642
  }, _wrapNativeSuper(t);
632
643
  }
633
644
 
645
+ var ONE_SECOND_IN_MILLISECONDS = 1000;
646
+ var HALF_A_SECOND_IN_MILLISECONDS = 500;
647
+ var TWO_HUNDRED_MILLISECONDS = 200;
648
+ var ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS;
649
+ var ONE_SECOND = 1;
650
+ var SCREEN_RECORDER_STATUS = {
651
+ media_aborted: "media_aborted",
652
+ permission_denied: "permission_denied",
653
+ no_specified_media_found: "no_specified_media_found",
654
+ media_in_use: "media_in_use",
655
+ invalid_media_constraints: "invalid_media_constraints",
656
+ no_chrome_flags_set: "no_chrome_flags_set",
657
+ recorder_error: "recorder_error",
658
+ idle: "idle",
659
+ acquiring_media: "acquiring_media",
660
+ media_acquired: "media_acquired",
661
+ restarting: "restarting",
662
+ recording: "recording",
663
+ stopping: "stopping",
664
+ stopped: "stopped",
665
+ paused: "paused"
666
+ };
667
+ var SCREEN_RECORDER_ERROR = {
668
+ MicPermissionDenied: "mic_permission_denied",
669
+ AbortError: "media_aborted",
670
+ NotAllowedError: "permission_denied",
671
+ NotFoundError: "no_specified_media_found",
672
+ NotReadableError: "media_in_use",
673
+ OverconstrainedError: "invalid_media_constraints",
674
+ TypeError: "no_chrome_flags_set",
675
+ None: "",
676
+ NoRecorder: "recorder_error",
677
+ UnSupportedBrowser: "unsupported_browser",
678
+ FailedToStart: "failed_to_start",
679
+ InsufficientData: "insufficient_data"
680
+ };
681
+ var SCREEN_RECORDER_EVENT = {
682
+ onStart: "onStart",
683
+ onStop: "onStop",
684
+ onDiscard: "onDiscard",
685
+ onDataAvailable: "onDataAvailable",
686
+ onDiscardDuringCountdown: "onDiscardDuringCountdown",
687
+ onRestart: "onRestart",
688
+ onReUpload: "onReUpload",
689
+ onReUploadFromDisk: "onReUploadFromDisk",
690
+ onPause: "onPause",
691
+ onResume: "onResume",
692
+ onCountdownStart: "onCountdownStart",
693
+ onCountdown: "onCountDown",
694
+ onCountdownEnd: "onCountdownEnd"
695
+ };
634
696
  var TOTAL_RETRIES = 15;
635
697
  var INITIAL_RETRY_DELAY = 4000;
636
698
  var MAX_RETRY_DELAY = 16000;
@@ -640,12 +702,17 @@ var DEFAULT_RETRY_CONFIG = {
640
702
  retryableStatuses: []
641
703
  };
642
704
  var HAS_CHROME_NAMESPACE = (typeof chrome === "undefined" ? "undefined" : _typeof$1(chrome)) === "object";
643
- HAS_CHROME_NAMESPACE && isNotNil(chrome.extension);
705
+ var IS_EXTENSION = HAS_CHROME_NAMESPACE && isNotNil(chrome.extension);
644
706
  platform.name === "Safari";
645
707
  var MIME_TYPE = {
646
708
  mp4: "video/mp4",
647
709
  webmH264: "video/webm;codecs=h264"
648
710
  };
711
+ var START_RECORDING_SOUND = "https://neeto-record-static-assets.s3.amazonaws.com/recording-start-sound-2.mp3";
712
+ var COUNTDOWN_TICK_SOUND = "https://neeto-record-static-assets.s3.us-east-1.amazonaws.com/recording-tick-sound.mp3";
713
+ var STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND = "https://neeto-record-static-assets.s3.amazonaws.com/recording-end-sound.mp3";
714
+ var RECORDING_LIMIT_REACHED_WARNING_SOUND = "https://neeto-record-static-assets.s3.amazonaws.com/recording-warning-sound.mp3";
715
+ var RECORDING_TIME_LIMIT_FREE_PLAN = 15 * ONE_MINUTE_IN_MILLISECONDS; // 15 minutes
649
716
 
650
717
  var sleep = function sleep(delay) {
651
718
  return new Promise(function (resolve) {
@@ -727,18 +794,6 @@ var buildRetryableApi = function buildRetryableApi(apiConnector) {
727
794
  }();
728
795
  };
729
796
 
730
- var create$2 = function create(_ref) {
731
- var recordingId = _ref.recordingId,
732
- payload = _ref.payload;
733
- return axios.post("/api/v1/recordings/".concat(recordingId, "/abort_upload"), {
734
- abortUpload: payload
735
- });
736
- };
737
- var retryableCreate$2 = buildRetryableApi(create$2);
738
- var abortUploadApi = {
739
- create: retryableCreate$2
740
- };
741
-
742
797
  var create$1 = function create(_ref) {
743
798
  var recordingId = _ref.recordingId,
744
799
  payload = _ref.payload,
@@ -1191,7 +1246,8 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
1191
1246
  return _classPrivateFieldGet(_this, _completeUploadPromise);
1192
1247
  case 14:
1193
1248
  _classPrivateFieldGet(_this, _abortController).abort();
1194
- _context2.next = 17;
1249
+ _classPrivateFieldGet(_this, _logger$1).info("abortUpload -> aborting...");
1250
+ _context2.next = 18;
1195
1251
  return abortUploadApi.create({
1196
1252
  recordingId: recordingId,
1197
1253
  payload: {
@@ -1200,7 +1256,7 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
1200
1256
  logs: sessionLogs
1201
1257
  }
1202
1258
  });
1203
- case 17:
1259
+ case 18:
1204
1260
  _classPrivateFieldGet(_this, _logger$1).info("abortUpload -> abort successful");
1205
1261
  _classPrivateFieldGet(_this, _fireCallbacks$1).call(_this, UPLOAD_EVENT.onAbort);
1206
1262
  _classPrivateFieldSet(_this, _unUploadedChunks, []);
@@ -1208,17 +1264,17 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
1208
1264
  _classPrivateFieldSet(_this, _s3PartUploadPromises, []);
1209
1265
  _classPrivateFieldSet(_this, _status2, "");
1210
1266
  _classPrivateFieldSet(_this, _abortController, null);
1211
- _context2.next = 29;
1267
+ _context2.next = 30;
1212
1268
  break;
1213
- case 26:
1214
- _context2.prev = 26;
1269
+ case 27:
1270
+ _context2.prev = 27;
1215
1271
  _context2.t0 = _context2["catch"](2);
1216
- _classPrivateFieldGet(_this, _logger$1).error(_context2.t0);
1217
- case 29:
1272
+ _classPrivateFieldGet(_this, _logger$1).error("abortUpload -> abort failed", _context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.message);
1273
+ case 30:
1218
1274
  case "end":
1219
1275
  return _context2.stop();
1220
1276
  }
1221
- }, _callee2, null, [[2, 26]]);
1277
+ }, _callee2, null, [[2, 27]]);
1222
1278
  })));
1223
1279
  _defineProperty(this, "resetState", function () {
1224
1280
  _classPrivateFieldSet(_this, _recordingId, "");
@@ -1449,10 +1505,10 @@ var DISPLAY_SURFACE = {
1449
1505
  function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1450
1506
  function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1451
1507
  var initialState = {
1452
- status: SCREEN_RECORDER_STATUS.idle,
1508
+ status: SCREEN_RECORDER_STATUS$1.idle,
1453
1509
  error: "",
1454
1510
  elapsedTime: 0,
1455
- countdownTimeLeft: 3,
1511
+ countdownTimeLeft: COUNTDOWN_TIME,
1456
1512
  showTimeLimitWarning: false
1457
1513
  };
1458
1514
  var prepareStore = function prepareStore() {
@@ -1482,6 +1538,7 @@ var _lastTimerUpdatedAt = /*#__PURE__*/new WeakMap();
1482
1538
  var _timerId = /*#__PURE__*/new WeakMap();
1483
1539
  var _countdownTimerId = /*#__PURE__*/new WeakMap();
1484
1540
  var _startRecordingAudio = /*#__PURE__*/new WeakMap();
1541
+ var _countdownTickAudio = /*#__PURE__*/new WeakMap();
1485
1542
  var _recordingLimitWarningAudio = /*#__PURE__*/new WeakMap();
1486
1543
  var _stopRecordingDueToLimitReachedAudio = /*#__PURE__*/new WeakMap();
1487
1544
  var _stream = /*#__PURE__*/new WeakMap();
@@ -1494,6 +1551,7 @@ var _showCountdown = /*#__PURE__*/new WeakMap();
1494
1551
  var _mimeType = /*#__PURE__*/new WeakMap();
1495
1552
  var _dataReceiving = /*#__PURE__*/new WeakMap();
1496
1553
  var _stopAllStreams = /*#__PURE__*/new WeakMap();
1554
+ var _playCountdownBeep = /*#__PURE__*/new WeakMap();
1497
1555
  var _checkCompatibility = /*#__PURE__*/new WeakMap();
1498
1556
  var _acquireMediaStream = /*#__PURE__*/new WeakMap();
1499
1557
  var _fireCallbacks = /*#__PURE__*/new WeakMap();
@@ -1561,6 +1619,10 @@ var ScreenRecorder = /*#__PURE__*/function () {
1561
1619
  writable: true,
1562
1620
  value: new Audio(START_RECORDING_SOUND)
1563
1621
  });
1622
+ _classPrivateFieldInitSpec(this, _countdownTickAudio, {
1623
+ writable: true,
1624
+ value: new Audio(COUNTDOWN_TICK_SOUND)
1625
+ });
1564
1626
  _classPrivateFieldInitSpec(this, _recordingLimitWarningAudio, {
1565
1627
  writable: true,
1566
1628
  value: new Audio(RECORDING_LIMIT_REACHED_WARNING_SOUND)
@@ -1734,6 +1796,7 @@ var ScreenRecorder = /*#__PURE__*/function () {
1734
1796
  _defineProperty(this, "pauseRecording", function () {
1735
1797
  var _classPrivateFieldGet5;
1736
1798
  if (((_classPrivateFieldGet5 = _classPrivateFieldGet(_this, _mediaRecorder)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.state) === "recording") {
1799
+ _classPrivateFieldGet(_this, _logger).info("screenRecorder -> pauseRecording.");
1737
1800
  _classPrivateFieldGet(_this, _store).setState({
1738
1801
  status: SCREEN_RECORDER_STATUS.paused
1739
1802
  });
@@ -1744,6 +1807,7 @@ var ScreenRecorder = /*#__PURE__*/function () {
1744
1807
  _defineProperty(this, "resumeRecording", function () {
1745
1808
  var _classPrivateFieldGet6;
1746
1809
  if (((_classPrivateFieldGet6 = _classPrivateFieldGet(_this, _mediaRecorder)) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.state) === "paused") {
1810
+ _classPrivateFieldGet(_this, _logger).info("screenRecorder -> resumeRecording.");
1747
1811
  _classPrivateFieldGet(_this, _store).setState({
1748
1812
  status: SCREEN_RECORDER_STATUS.recording
1749
1813
  });
@@ -1754,6 +1818,7 @@ var ScreenRecorder = /*#__PURE__*/function () {
1754
1818
  _defineProperty(this, "discardRecording", function () {
1755
1819
  var _classPrivateFieldGet7;
1756
1820
  if (((_classPrivateFieldGet7 = _classPrivateFieldGet(_this, _mediaRecorder)) === null || _classPrivateFieldGet7 === void 0 ? void 0 : _classPrivateFieldGet7.state) === "inactive") return;
1821
+ _classPrivateFieldGet(_this, _logger).info("screenRecorder -> discardRecording.");
1757
1822
  _classPrivateFieldGet(_this, _store).setState({
1758
1823
  status: SCREEN_RECORDER_STATUS.stopping
1759
1824
  });
@@ -1766,6 +1831,7 @@ var ScreenRecorder = /*#__PURE__*/function () {
1766
1831
  _classPrivateFieldGet(_this, _fireCallbacks).call(_this, SCREEN_RECORDER_EVENT.onDiscard);
1767
1832
  });
1768
1833
  _defineProperty(this, "restartRecording", function () {
1834
+ _classPrivateFieldGet(_this, _logger).info("screenRecorder -> restartRecording.");
1769
1835
  _classPrivateFieldGet(_this, _store).setState({
1770
1836
  status: SCREEN_RECORDER_STATUS.stopping
1771
1837
  });
@@ -1778,6 +1844,7 @@ var ScreenRecorder = /*#__PURE__*/function () {
1778
1844
  _this.startRecording();
1779
1845
  });
1780
1846
  _defineProperty(this, "resetState", function () {
1847
+ _classPrivateFieldGet(_this, _logger).info("screenRecorder -> resetState.");
1781
1848
  _classPrivateFieldSet(_this, _mediaChunks, []);
1782
1849
  _classPrivateFieldSet(_this, _callbacks, {});
1783
1850
  _classPrivateFieldSet(_this, _dataReceiving, false);
@@ -1787,6 +1854,7 @@ var ScreenRecorder = /*#__PURE__*/function () {
1787
1854
  _classPrivateFieldGet(_this, _checkCompatibility).call(_this);
1788
1855
  });
1789
1856
  _defineProperty(this, "revokePermissions", function () {
1857
+ _classPrivateFieldGet(_this, _logger).info("screenRecorder -> revokePermissions.");
1790
1858
  if (!_classPrivateFieldGet(_this, _mediaRecorder)) return;
1791
1859
  _classPrivateFieldGet(_this, _mediaRecorder).onstop = null;
1792
1860
  _classPrivateFieldGet(_this, _stopAllStreams).call(_this);
@@ -1795,6 +1863,7 @@ var ScreenRecorder = /*#__PURE__*/function () {
1795
1863
  writable: true,
1796
1864
  value: function value() {
1797
1865
  var _classPrivateFieldGet8, _classPrivateFieldGet9, _classPrivateFieldGet10, _classPrivateFieldGet11, _classPrivateFieldGet12, _classPrivateFieldGet13;
1866
+ _classPrivateFieldGet(_this, _logger).info("screenRecorder -> stopAllStreams.");
1798
1867
  _classPrivateFieldGet(_this, _mediaStream) && ((_classPrivateFieldGet8 = _classPrivateFieldGet(_this, _mediaStream)) === null || _classPrivateFieldGet8 === void 0 ? void 0 : _classPrivateFieldGet8.getTracks().forEach(function (track) {
1799
1868
  return track.stop();
1800
1869
  }));
@@ -1809,6 +1878,13 @@ var ScreenRecorder = /*#__PURE__*/function () {
1809
1878
  });
1810
1879
  }
1811
1880
  });
1881
+ _classPrivateFieldInitSpec(this, _playCountdownBeep, {
1882
+ writable: true,
1883
+ value: function value() {
1884
+ _classPrivateFieldGet(_this, _countdownTickAudio).currentTime = 0;
1885
+ _classPrivateFieldGet(_this, _countdownTickAudio).play();
1886
+ }
1887
+ });
1812
1888
  _classPrivateFieldInitSpec(this, _checkCompatibility, {
1813
1889
  writable: true,
1814
1890
  value: function value() {
@@ -1829,70 +1905,71 @@ var ScreenRecorder = /*#__PURE__*/function () {
1829
1905
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
1830
1906
  while (1) switch (_context2.prev = _context2.next) {
1831
1907
  case 0:
1908
+ _classPrivateFieldGet(_this, _logger).info("screenRecorder -> acquireMediaStream.");
1832
1909
  _classPrivateFieldGet(_this, _store).setState({
1833
1910
  status: SCREEN_RECORDER_STATUS.acquiring_media
1834
1911
  });
1835
- _context2.prev = 1;
1912
+ _context2.prev = 2;
1836
1913
  if (!_classPrivateFieldGet(_this, _audio)) {
1837
- _context2.next = 29;
1914
+ _context2.next = 30;
1838
1915
  break;
1839
1916
  }
1840
1917
  _context2.t0 = _classPrivateFieldSet;
1841
1918
  _context2.t1 = _this;
1842
1919
  _context2.t2 = _micAudioStream;
1843
- _context2.next = 8;
1920
+ _context2.next = 9;
1844
1921
  return window.navigator.mediaDevices.getUserMedia({
1845
1922
  audio: _classPrivateFieldGet(_this, _audio) ? _objectSpread({
1846
1923
  echoCancellation: false
1847
1924
  }, _classPrivateFieldGet(_this, _audio)) : false
1848
1925
  });
1849
- case 8:
1926
+ case 9:
1850
1927
  _context2.t3 = _context2.sent;
1851
1928
  (0, _context2.t0)(_context2.t1, _context2.t2, _context2.t3);
1852
1929
  audioStream = addGainNode(_classPrivateFieldGet(_this, _micAudioStream), 1.75); // Increase volume by 50%
1853
1930
  _classPrivateFieldSet(_this, _audioStream, audioStream);
1854
1931
  if (!_classPrivateFieldGet(_this, _enableNoiseCancellation)) {
1855
- _context2.next = 29;
1932
+ _context2.next = 30;
1856
1933
  break;
1857
1934
  }
1858
- _context2.prev = 13;
1935
+ _context2.prev = 14;
1859
1936
  workletUrl = IS_EXTENSION ?
1860
1937
  // eslint-disable-next-line no-undef
1861
1938
  chrome.runtime.getURL("public/NoiseSuppressorWorklet.js") : "NoiseSuppressorWorklet.js";
1862
1939
  audioContext = new AudioContext();
1863
- _context2.next = 18;
1940
+ _context2.next = 19;
1864
1941
  return audioContext.audioWorklet.addModule(workletUrl);
1865
- case 18:
1942
+ case 19:
1866
1943
  audioStreamSource = audioContext.createMediaStreamSource(audioStream);
1867
1944
  destinationStream = audioContext.createMediaStreamDestination();
1868
1945
  noiseSuppressorNode = new AudioWorkletNode(audioContext, "nn-suppressor-processor");
1869
1946
  audioStreamSource.connect(noiseSuppressorNode);
1870
1947
  noiseSuppressorNode.connect(destinationStream);
1871
1948
  _classPrivateFieldSet(_this, _audioStream, destinationStream.stream);
1872
- _context2.next = 29;
1949
+ _context2.next = 30;
1873
1950
  break;
1874
- case 26:
1875
- _context2.prev = 26;
1876
- _context2.t4 = _context2["catch"](13);
1951
+ case 27:
1952
+ _context2.prev = 27;
1953
+ _context2.t4 = _context2["catch"](14);
1877
1954
  // eslint-disable-next-line no-console
1878
1955
  console.error("Failed to load audio worklet:", _context2.t4);
1879
- case 29:
1956
+ case 30:
1880
1957
  if (!_classPrivateFieldGet(_this, _videoStream)) {
1881
- _context2.next = 33;
1958
+ _context2.next = 34;
1882
1959
  break;
1883
1960
  }
1884
1961
  stream = _classPrivateFieldGet(_this, _videoStream);
1885
- _context2.next = 36;
1962
+ _context2.next = 37;
1886
1963
  break;
1887
- case 33:
1888
- _context2.next = 35;
1964
+ case 34:
1965
+ _context2.next = 36;
1889
1966
  return window.navigator.mediaDevices.getDisplayMedia({
1890
1967
  video: _classPrivateFieldGet(_this, _video) || true,
1891
1968
  audio: true
1892
1969
  });
1893
- case 35:
1894
- stream = _context2.sent;
1895
1970
  case 36:
1971
+ stream = _context2.sent;
1972
+ case 37:
1896
1973
  // Event triggered when the user clicks on the stop sharing overlay button
1897
1974
  stream.getVideoTracks()[0].addEventListener("ended", function () {
1898
1975
  _this.stopRecording();
@@ -1923,11 +2000,11 @@ var ScreenRecorder = /*#__PURE__*/function () {
1923
2000
  _classPrivateFieldGet(_this, _store).setState({
1924
2001
  status: SCREEN_RECORDER_STATUS.media_acquired
1925
2002
  });
1926
- _context2.next = 48;
2003
+ _context2.next = 49;
1927
2004
  break;
1928
- case 45:
1929
- _context2.prev = 45;
1930
- _context2.t5 = _context2["catch"](1);
2005
+ case 46:
2006
+ _context2.prev = 46;
2007
+ _context2.t5 = _context2["catch"](2);
1931
2008
  if (_classPrivateFieldGet(_this, _audio) && !_classPrivateFieldGet(_this, _audioStream)) {
1932
2009
  _classPrivateFieldGet(_this, _store).setState({
1933
2010
  error: SCREEN_RECORDER_ERROR.MicPermissionDenied,
@@ -1939,11 +2016,11 @@ var ScreenRecorder = /*#__PURE__*/function () {
1939
2016
  status: SCREEN_RECORDER_STATUS.idle
1940
2017
  });
1941
2018
  }
1942
- case 48:
2019
+ case 49:
1943
2020
  case "end":
1944
2021
  return _context2.stop();
1945
2022
  }
1946
- }, _callee2, null, [[1, 45], [13, 26]]);
2023
+ }, _callee2, null, [[2, 46], [14, 27]]);
1947
2024
  }));
1948
2025
  function value() {
1949
2026
  return _value.apply(this, arguments);
@@ -1964,6 +2041,7 @@ var ScreenRecorder = /*#__PURE__*/function () {
1964
2041
  _classPrivateFieldInitSpec(this, _onRecordingStart, {
1965
2042
  writable: true,
1966
2043
  value: function value() {
2044
+ _classPrivateFieldGet(_this, _logger).info("screenRecorder -> onRecordingStart.");
1967
2045
  _classPrivateFieldGet(_this, _fireCallbacks).call(_this, SCREEN_RECORDER_EVENT.onStart);
1968
2046
  }
1969
2047
  });
@@ -2018,9 +2096,6 @@ var ScreenRecorder = /*#__PURE__*/function () {
2018
2096
  });
2019
2097
  return;
2020
2098
  }
2021
- _classPrivateFieldGet(_this, _store).setState({
2022
- status: SCREEN_RECORDER_STATUS.recording
2023
- });
2024
2099
  _classPrivateFieldGet(_this, _mediaRecorder).start(5000);
2025
2100
  _classPrivateFieldGet(_this, _logger).info("started mediaRecorder");
2026
2101
  _classPrivateFieldGet(_this, _startTimer).call(_this);
@@ -2056,20 +2131,25 @@ var ScreenRecorder = /*#__PURE__*/function () {
2056
2131
  _classPrivateFieldSet(_this, _countdownTimerId, setInterval(function () {
2057
2132
  _classPrivateFieldGet(_this, _store).setState(function (_ref3) {
2058
2133
  var countdownTimeLeft = _ref3.countdownTimeLeft;
2059
- if (equals(countdownTimeLeft, ONE_SECOND) && !_classPrivateFieldGet(_this, _videoStream)) {
2060
- _classPrivateFieldGet(_this, _startRecordingAudio).play();
2061
- }
2062
2134
  if (countdownTimeLeft - ONE_SECOND > 0) {
2063
2135
  _classPrivateFieldGet(_this, _fireCallbacks).call(_this, SCREEN_RECORDER_EVENT.onCountdown, [countdownTimeLeft - ONE_SECOND]);
2136
+ _classPrivateFieldGet(_this, _playCountdownBeep).call(_this);
2064
2137
  return {
2065
2138
  countdownTimeLeft: countdownTimeLeft - ONE_SECOND
2066
2139
  };
2067
2140
  }
2068
2141
  _classPrivateFieldGet(_this, _fireCallbacks).call(_this, SCREEN_RECORDER_EVENT.onCountdown, [0]);
2069
- _classPrivateFieldGet(_this, _fireCallbacks).call(_this, SCREEN_RECORDER_EVENT.onCountdownEnd);
2142
+ _classPrivateFieldGet(_this, _playCountdownBeep).call(_this);
2143
+ setTimeout(function () {
2144
+ _classPrivateFieldGet(_this, _startRecordingAudio).play();
2145
+ _classPrivateFieldGet(_this, _fireCallbacks).call(_this, SCREEN_RECORDER_EVENT.onCountdownEnd);
2146
+ _classPrivateFieldGet(_this, _store).setState({
2147
+ status: SCREEN_RECORDER_STATUS.recording
2148
+ });
2149
+ _classPrivateFieldGet(_this, _startMediaRecorder).call(_this);
2150
+ }, ONE_SECOND_IN_MILLISECONDS);
2070
2151
  clearInterval(_classPrivateFieldGet(_this, _countdownTimerId));
2071
2152
  _classPrivateFieldSet(_this, _countdownTimerId, null);
2072
- _classPrivateFieldGet(_this, _startMediaRecorder).call(_this);
2073
2153
  return {
2074
2154
  countdownTimeLeft: 0
2075
2155
  };