@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 +2 -1
- package/constants.js.map +1 -1
- package/core.js +92 -30
- package/core.js.map +1 -1
- package/index.js +2 -9
- package/index.js.map +1 -1
- package/package.json +1 -1
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":";;;AAAe,SAAS,OAAO,CAAC,GAAG,EAAE;AACrC,EAAE,yBAAyB,CAAC;AAC5B;AACA,EAAE,OAAO,OAAO,GAAG,UAAU,IAAI,OAAO,MAAM,IAAI,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE;AACtG,IAAI,OAAO,OAAO,GAAG,CAAC;AACtB,GAAG,GAAG,UAAU,GAAG,EAAE;AACrB,IAAI,OAAO,GAAG,IAAI,UAAU,IAAI,OAAO,MAAM,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,CAAC;AAChI,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AAClB;;ACLA;IACaA,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAC;AAEnC,IAAMC,0BAA0B,GAAG,KAAI;
|
|
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
|
|
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 (((
|
|
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
|
|
1361
|
-
if (((
|
|
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
|
|
1371
|
-
if (((
|
|
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
|
|
1381
|
-
if (((
|
|
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 =
|
|
1497
|
+
_context2.next = 13;
|
|
1457
1498
|
break;
|
|
1458
1499
|
}
|
|
1459
|
-
_context2.next =
|
|
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
|
|
1506
|
+
case 10:
|
|
1466
1507
|
audioStream = _context2.sent;
|
|
1467
|
-
|
|
1468
|
-
|
|
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
|
-
|
|
1471
|
-
_classPrivateFieldSet(_this,
|
|
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 =
|
|
1533
|
+
_context2.next = 22;
|
|
1476
1534
|
break;
|
|
1477
|
-
case
|
|
1478
|
-
_context2.prev =
|
|
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
|
|
1542
|
+
case 22:
|
|
1485
1543
|
case "end":
|
|
1486
1544
|
return _context2.stop();
|
|
1487
1545
|
}
|
|
1488
|
-
}, _callee2, null, [[1,
|
|
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
|
|
1557
|
+
var _classPrivateFieldGet22;
|
|
1500
1558
|
var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
1501
|
-
(
|
|
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
|
};
|