@bigbinary/neeto-media-recorder 1.3.8 → 1.3.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
@@ -14,6 +14,7 @@ function _typeof(obj) {
14
14
  // https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
15
15
  var RETRIABLE_ERRORS = [500, 503];
16
16
  var ONE_SECOND_IN_MILLISECONDS = 1000;
17
+ var HALF_A_SECOND_IN_MILLISECONDS = 500;
17
18
  var ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS;
18
19
  var ONE_SECOND = 1;
19
20
  var UPLOAD_EVENT = {
@@ -85,5 +86,5 @@ var MIME_TYPE = {
85
86
  var START_RECORDING_SOUND = "https://neeto-record-static-assets.s3.amazonaws.com/recording-start-sound-2.mp3";
86
87
  var STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND = "https://neeto-record-static-assets.s3.amazonaws.com/recording-end-sound.mp3";
87
88
 
88
- 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, START_RECORDING_SOUND, STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND, TIMEOUT_ERROR, TOTAL_RETRIES, UPLOAD_EVENT, UPLOAD_STATUS };
89
+ 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, 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, START_RECORDING_SOUND, STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND, TIMEOUT_ERROR, TOTAL_RETRIES, UPLOAD_EVENT, UPLOAD_STATUS };
89
90
  //# 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\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"],"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","START_RECORDING_SOUND","STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND"],"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;\nexport const HALF_A_SECOND_IN_MILLISECONDS = 500;\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\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"],"names":["RETRIABLE_ERRORS","ONE_SECOND_IN_MILLISECONDS","HALF_A_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","START_RECORDING_SOUND","STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND"],"mappings":"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"}
package/core.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import axios from 'axios';
2
2
  import { isPresent, isNot, existsBy, isNotEmpty } from '@bigbinary/neeto-cist';
3
- import { RETRIABLE_ERRORS, UPLOAD_EVENT, UPLOAD_STATUS, SCREEN_RECORDER_STATUS, START_RECORDING_SOUND, SCREEN_RECORDER_ERROR, SCREEN_RECORDER_EVENT, ONE_SECOND, ONE_SECOND_IN_MILLISECONDS, STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND } from '@bigbinary/neeto-media-recorder/constants';
4
- import { isNotNil, min, identity, isEmpty, isNil, pick } from 'ramda';
3
+ import { RETRIABLE_ERRORS, UPLOAD_EVENT, UPLOAD_STATUS, SCREEN_RECORDER_STATUS, START_RECORDING_SOUND, SCREEN_RECORDER_ERROR, SCREEN_RECORDER_EVENT, ONE_SECOND, HALF_A_SECOND_IN_MILLISECONDS, ONE_SECOND_IN_MILLISECONDS, STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND } from '@bigbinary/neeto-media-recorder/constants';
4
+ import { isNotNil, min, identity, isEmpty, isNil, pick, equals } from 'ramda';
5
5
  import platform from 'platform';
6
6
  import withImmutableActions from '@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions';
7
7
  import { create as create$3 } from 'zustand';
@@ -1195,6 +1195,8 @@ var _timerId = /*#__PURE__*/new WeakMap();
1195
1195
  var _countdownTimerId = /*#__PURE__*/new WeakMap();
1196
1196
  var _startRecordingAudio = /*#__PURE__*/new WeakMap();
1197
1197
  var _stopRecordingDueToLimitReachedAudio = /*#__PURE__*/new WeakMap();
1198
+ var _stream = /*#__PURE__*/new WeakMap();
1199
+ var _audioStream = /*#__PURE__*/new WeakMap();
1198
1200
  var _checkCompatibility = /*#__PURE__*/new WeakMap();
1199
1201
  var _acquireMediaStream = /*#__PURE__*/new WeakMap();
1200
1202
  var _fireCallbacks = /*#__PURE__*/new WeakMap();
@@ -1257,6 +1259,14 @@ var ScreenRecorder = /*#__PURE__*/function () {
1257
1259
  writable: true,
1258
1260
  value: void 0
1259
1261
  });
1262
+ _classPrivateFieldInitSpec(this, _stream, {
1263
+ writable: true,
1264
+ value: void 0
1265
+ });
1266
+ _classPrivateFieldInitSpec(this, _audioStream, {
1267
+ writable: true,
1268
+ value: void 0
1269
+ });
1260
1270
  _defineProperty(this, "setAudioConfiguration", function (audio) {
1261
1271
  return _classPrivateFieldSet(_this, _audio, audio);
1262
1272
  });
@@ -1326,24 +1336,37 @@ var ScreenRecorder = /*#__PURE__*/function () {
1326
1336
  }, _callee);
1327
1337
  })));
1328
1338
  _defineProperty(this, "stopRecording", function () {
1329
- var _classPrivateFieldGet5;
1339
+ var _classPrivateFieldGet8, _classPrivateFieldGet12, _classPrivateFieldGet13, _classPrivateFieldGet14;
1330
1340
  if (_classPrivateFieldGet(_this, _mediaRecorder) === undefined) {
1331
- var _classPrivateFieldGet4;
1341
+ var _classPrivateFieldGet4, _classPrivateFieldGet5, _classPrivateFieldGet6, _classPrivateFieldGet7;
1332
1342
  /**
1333
1343
  * If the permission is denied and "Stop sharing" overlay is clicked
1334
1344
  */
1335
1345
  (_classPrivateFieldGet4 = _classPrivateFieldGet(_this, _mediaStream)) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.getTracks().forEach(function (track) {
1336
1346
  return track.stop();
1337
1347
  });
1348
+ (_classPrivateFieldGet5 = _classPrivateFieldGet(_this, _stream)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.getTracks().forEach(function (track) {
1349
+ return track.stop();
1350
+ });
1351
+ (_classPrivateFieldGet6 = _classPrivateFieldGet(_this, _audioStream)) === null || _classPrivateFieldGet6 === void 0 ? void 0 : (_classPrivateFieldGet7 = _classPrivateFieldGet6.getAudioTracks()) === null || _classPrivateFieldGet7 === void 0 ? void 0 : _classPrivateFieldGet7.forEach(function (track) {
1352
+ return track.stop();
1353
+ });
1338
1354
  return;
1339
1355
  }
1340
- if (((_classPrivateFieldGet5 = _classPrivateFieldGet(_this, _mediaRecorder)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.state) === "inactive") {
1356
+ if (((_classPrivateFieldGet8 = _classPrivateFieldGet(_this, _mediaRecorder)) === null || _classPrivateFieldGet8 === void 0 ? void 0 : _classPrivateFieldGet8.state) === "inactive") {
1357
+ var _classPrivateFieldGet9, _classPrivateFieldGet10, _classPrivateFieldGet11;
1341
1358
  // When recording is stopped from the 'Stop Sharing' overlay
1342
1359
  // before it even starts, i.e during the countdown.
1343
1360
  clearInterval(_classPrivateFieldGet(_this, _countdownTimerId));
1344
1361
  _classPrivateFieldGet(_this, _mediaStream).getTracks().forEach(function (track) {
1345
1362
  return track.stop();
1346
1363
  });
1364
+ (_classPrivateFieldGet9 = _classPrivateFieldGet(_this, _stream)) === null || _classPrivateFieldGet9 === void 0 ? void 0 : _classPrivateFieldGet9.getTracks().forEach(function (track) {
1365
+ return track.stop();
1366
+ });
1367
+ (_classPrivateFieldGet10 = _classPrivateFieldGet(_this, _audioStream)) === null || _classPrivateFieldGet10 === void 0 ? void 0 : (_classPrivateFieldGet11 = _classPrivateFieldGet10.getAudioTracks()) === null || _classPrivateFieldGet11 === void 0 ? void 0 : _classPrivateFieldGet11.forEach(function (track) {
1368
+ return track.stop();
1369
+ });
1347
1370
  _classPrivateFieldGet(_this, _fireCallbacks).call(_this, SCREEN_RECORDER_EVENT.onDiscardDuringCountdown);
1348
1371
  return;
1349
1372
  }
@@ -1354,11 +1377,17 @@ var ScreenRecorder = /*#__PURE__*/function () {
1354
1377
  _classPrivateFieldGet(_this, _mediaStream) && _classPrivateFieldGet(_this, _mediaStream).getTracks().forEach(function (track) {
1355
1378
  return track.stop();
1356
1379
  });
1380
+ (_classPrivateFieldGet12 = _classPrivateFieldGet(_this, _stream)) === null || _classPrivateFieldGet12 === void 0 ? void 0 : _classPrivateFieldGet12.getTracks().forEach(function (track) {
1381
+ return track.stop();
1382
+ });
1383
+ (_classPrivateFieldGet13 = _classPrivateFieldGet(_this, _audioStream)) === null || _classPrivateFieldGet13 === void 0 ? void 0 : (_classPrivateFieldGet14 = _classPrivateFieldGet13.getAudioTracks()) === null || _classPrivateFieldGet14 === void 0 ? void 0 : _classPrivateFieldGet14.forEach(function (track) {
1384
+ return track.stop();
1385
+ });
1357
1386
  _classPrivateFieldGet(_this, _stopTimer).call(_this);
1358
1387
  });
1359
1388
  _defineProperty(this, "pauseRecording", function () {
1360
- var _classPrivateFieldGet6;
1361
- if (((_classPrivateFieldGet6 = _classPrivateFieldGet(_this, _mediaRecorder)) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.state) === "recording") {
1389
+ var _classPrivateFieldGet15;
1390
+ if (((_classPrivateFieldGet15 = _classPrivateFieldGet(_this, _mediaRecorder)) === null || _classPrivateFieldGet15 === void 0 ? void 0 : _classPrivateFieldGet15.state) === "recording") {
1362
1391
  _classPrivateFieldGet(_this, _store).setState({
1363
1392
  status: SCREEN_RECORDER_STATUS.paused
1364
1393
  });
@@ -1367,8 +1396,8 @@ var ScreenRecorder = /*#__PURE__*/function () {
1367
1396
  _classPrivateFieldGet(_this, _stopTimer).call(_this);
1368
1397
  });
1369
1398
  _defineProperty(this, "resumeRecording", function () {
1370
- var _classPrivateFieldGet7;
1371
- if (((_classPrivateFieldGet7 = _classPrivateFieldGet(_this, _mediaRecorder)) === null || _classPrivateFieldGet7 === void 0 ? void 0 : _classPrivateFieldGet7.state) === "paused") {
1399
+ var _classPrivateFieldGet16;
1400
+ if (((_classPrivateFieldGet16 = _classPrivateFieldGet(_this, _mediaRecorder)) === null || _classPrivateFieldGet16 === void 0 ? void 0 : _classPrivateFieldGet16.state) === "paused") {
1372
1401
  _classPrivateFieldGet(_this, _store).setState({
1373
1402
  status: SCREEN_RECORDER_STATUS.recording
1374
1403
  });
@@ -1377,8 +1406,8 @@ var ScreenRecorder = /*#__PURE__*/function () {
1377
1406
  _classPrivateFieldGet(_this, _startTimer).call(_this);
1378
1407
  });
1379
1408
  _defineProperty(this, "discardRecording", function () {
1380
- var _classPrivateFieldGet8;
1381
- if (((_classPrivateFieldGet8 = _classPrivateFieldGet(_this, _mediaRecorder)) === null || _classPrivateFieldGet8 === void 0 ? void 0 : _classPrivateFieldGet8.state) === "inactive") return;
1409
+ var _classPrivateFieldGet17, _classPrivateFieldGet18;
1410
+ if (((_classPrivateFieldGet17 = _classPrivateFieldGet(_this, _mediaRecorder)) === null || _classPrivateFieldGet17 === void 0 ? void 0 : _classPrivateFieldGet17.state) === "inactive") return;
1382
1411
  _classPrivateFieldGet(_this, _store).setState({
1383
1412
  status: SCREEN_RECORDER_STATUS.stopping
1384
1413
  });
@@ -1387,6 +1416,9 @@ var ScreenRecorder = /*#__PURE__*/function () {
1387
1416
  _classPrivateFieldGet(_this, _mediaStream) && _classPrivateFieldGet(_this, _mediaStream).getTracks().forEach(function (track) {
1388
1417
  return track.stop();
1389
1418
  });
1419
+ (_classPrivateFieldGet18 = _classPrivateFieldGet(_this, _stream)) === null || _classPrivateFieldGet18 === void 0 ? void 0 : _classPrivateFieldGet18.getTracks().forEach(function (track) {
1420
+ return track.stop();
1421
+ });
1390
1422
  clearInterval(_classPrivateFieldGet(_this, _timerId));
1391
1423
  _classPrivateFieldGet(_this, _store).setState(pick(["elapsedTime"], initialState));
1392
1424
  _classPrivateFieldSet(_this, _mediaChunks, []);
@@ -1412,11 +1444,18 @@ var ScreenRecorder = /*#__PURE__*/function () {
1412
1444
  _classPrivateFieldGet(_this, _store).getState().resetState();
1413
1445
  });
1414
1446
  _defineProperty(this, "revokePermissions", function () {
1447
+ var _classPrivateFieldGet19, _classPrivateFieldGet20, _classPrivateFieldGet21;
1415
1448
  if (!_classPrivateFieldGet(_this, _mediaRecorder)) return;
1416
1449
  _classPrivateFieldGet(_this, _mediaRecorder).onstop = null;
1417
1450
  _classPrivateFieldGet(_this, _mediaStream).getTracks().forEach(function (track) {
1418
1451
  return track.stop();
1419
1452
  });
1453
+ (_classPrivateFieldGet19 = _classPrivateFieldGet(_this, _stream)) === null || _classPrivateFieldGet19 === void 0 ? void 0 : _classPrivateFieldGet19.getTracks().forEach(function (track) {
1454
+ return track.stop();
1455
+ });
1456
+ (_classPrivateFieldGet20 = _classPrivateFieldGet(_this, _audioStream)) === null || _classPrivateFieldGet20 === void 0 ? void 0 : (_classPrivateFieldGet21 = _classPrivateFieldGet20.getAudioTracks()) === null || _classPrivateFieldGet21 === void 0 ? void 0 : _classPrivateFieldGet21.forEach(function (track) {
1457
+ return track.stop();
1458
+ });
1420
1459
  });
1421
1460
  _classPrivateFieldInitSpec(this, _checkCompatibility, {
1422
1461
  writable: true,
@@ -1434,7 +1473,7 @@ var ScreenRecorder = /*#__PURE__*/function () {
1434
1473
  writable: true,
1435
1474
  value: function () {
1436
1475
  var _value = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
1437
- var stream, audioStream;
1476
+ var stream, finalStream, audioStream, audioContext, desktopAudio, microphoneAudio, combinedAudio;
1438
1477
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
1439
1478
  while (1) switch (_context2.prev = _context2.next) {
1440
1479
  case 0:
@@ -1444,7 +1483,8 @@ var ScreenRecorder = /*#__PURE__*/function () {
1444
1483
  _context2.prev = 1;
1445
1484
  _context2.next = 4;
1446
1485
  return window.navigator.mediaDevices.getDisplayMedia({
1447
- video: _classPrivateFieldGet(_this, _video) || true
1486
+ video: _classPrivateFieldGet(_this, _video) || true,
1487
+ audio: true
1448
1488
  });
1449
1489
  case 4:
1450
1490
  stream = _context2.sent;
@@ -1452,40 +1492,58 @@ var ScreenRecorder = /*#__PURE__*/function () {
1452
1492
  stream.getVideoTracks()[0].addEventListener("ended", function () {
1453
1493
  _this.stopRecording();
1454
1494
  });
1495
+ finalStream = new MediaStream();
1455
1496
  if (!_classPrivateFieldGet(_this, _audio)) {
1456
- _context2.next = 11;
1497
+ _context2.next = 13;
1457
1498
  break;
1458
1499
  }
1459
- _context2.next = 9;
1500
+ _context2.next = 10;
1460
1501
  return window.navigator.mediaDevices.getUserMedia({
1461
1502
  audio: _classPrivateFieldGet(_this, _audio) ? {
1462
1503
  echoCancellation: false
1463
1504
  } : false
1464
1505
  });
1465
- case 9:
1506
+ case 10:
1466
1507
  audioStream = _context2.sent;
1467
- audioStream.getAudioTracks().forEach(function (audioTrack) {
1468
- return stream.addTrack(audioTrack);
1508
+ _classPrivateFieldSet(_this, _audioStream, audioStream);
1509
+ if (isNotEmpty(stream.getAudioTracks())) {
1510
+ audioContext = new AudioContext();
1511
+ desktopAudio = audioContext.createMediaStreamSource(stream);
1512
+ microphoneAudio = audioContext.createMediaStreamSource(audioStream);
1513
+ combinedAudio = audioContext.createMediaStreamDestination();
1514
+ desktopAudio.connect(combinedAudio);
1515
+ microphoneAudio.connect(combinedAudio);
1516
+ combinedAudio.stream.getAudioTracks().forEach(function (track) {
1517
+ return finalStream.addTrack(track);
1518
+ });
1519
+ } else {
1520
+ audioStream.getAudioTracks().forEach(function (track) {
1521
+ return finalStream.addTrack(track);
1522
+ });
1523
+ }
1524
+ case 13:
1525
+ stream.getVideoTracks().forEach(function (track) {
1526
+ return finalStream.addTrack(track);
1469
1527
  });
1470
- case 11:
1471
- _classPrivateFieldSet(_this, _mediaStream, stream);
1528
+ _classPrivateFieldSet(_this, _mediaStream, finalStream);
1529
+ _classPrivateFieldSet(_this, _stream, stream);
1472
1530
  _classPrivateFieldGet(_this, _store).setState({
1473
1531
  status: SCREEN_RECORDER_STATUS.media_acquired
1474
1532
  });
1475
- _context2.next = 18;
1533
+ _context2.next = 22;
1476
1534
  break;
1477
- case 15:
1478
- _context2.prev = 15;
1535
+ case 19:
1536
+ _context2.prev = 19;
1479
1537
  _context2.t0 = _context2["catch"](1);
1480
1538
  _classPrivateFieldGet(_this, _store).setState({
1481
1539
  error: SCREEN_RECORDER_ERROR[_context2.t0.name],
1482
1540
  status: SCREEN_RECORDER_STATUS.idle
1483
1541
  });
1484
- case 18:
1542
+ case 22:
1485
1543
  case "end":
1486
1544
  return _context2.stop();
1487
1545
  }
1488
- }, _callee2, null, [[1, 15]]);
1546
+ }, _callee2, null, [[1, 19]]);
1489
1547
  }));
1490
1548
  function value() {
1491
1549
  return _value.apply(this, arguments);
@@ -1496,9 +1554,9 @@ var ScreenRecorder = /*#__PURE__*/function () {
1496
1554
  _classPrivateFieldInitSpec(this, _fireCallbacks, {
1497
1555
  writable: true,
1498
1556
  value: function value(event) {
1499
- var _classPrivateFieldGet9;
1557
+ var _classPrivateFieldGet22;
1500
1558
  var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
1501
- (_classPrivateFieldGet9 = _classPrivateFieldGet(_this, _callbacks)[event]) === null || _classPrivateFieldGet9 === void 0 ? void 0 : _classPrivateFieldGet9.forEach(function (callback) {
1559
+ (_classPrivateFieldGet22 = _classPrivateFieldGet(_this, _callbacks)[event]) === null || _classPrivateFieldGet22 === void 0 ? void 0 : _classPrivateFieldGet22.forEach(function (callback) {
1502
1560
  callback.apply(void 0, _toConsumableArray(args));
1503
1561
  });
1504
1562
  }
@@ -1541,18 +1599,22 @@ var ScreenRecorder = /*#__PURE__*/function () {
1541
1599
  _classPrivateFieldSet(_this, _countdownTimerId, setInterval(function () {
1542
1600
  _classPrivateFieldGet(_this, _store).setState(function (_ref3) {
1543
1601
  var countdownTimeLeft = _ref3.countdownTimeLeft;
1602
+ if (equals(countdownTimeLeft, ONE_SECOND)) {
1603
+ _classPrivateFieldGet(_this, _startRecordingAudio).play();
1604
+ }
1544
1605
  if (countdownTimeLeft - ONE_SECOND > 0) {
1545
1606
  return {
1546
1607
  countdownTimeLeft: countdownTimeLeft - ONE_SECOND
1547
1608
  };
1548
1609
  }
1549
- _classPrivateFieldGet(_this, _startRecordingAudio).play();
1550
1610
  _classPrivateFieldGet(_this, _store).setState({
1551
1611
  status: SCREEN_RECORDER_STATUS.recording
1552
1612
  });
1553
- _classPrivateFieldGet(_this, _mediaRecorder).start(5000);
1554
- _classPrivateFieldGet(_this, _startTimer).call(_this);
1555
1613
  clearInterval(_classPrivateFieldGet(_this, _countdownTimerId));
1614
+ setTimeout(function () {
1615
+ _classPrivateFieldGet(_this, _mediaRecorder).start(5000);
1616
+ _classPrivateFieldGet(_this, _startTimer).call(_this);
1617
+ }, HALF_A_SECOND_IN_MILLISECONDS);
1556
1618
  return {
1557
1619
  countdownTimeLeft: 0
1558
1620
  };