@bigbinary/neeto-media-recorder 2.7.3 → 2.7.6
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/core.js +125 -111
- package/core.js.map +1 -1
- package/index.js +32 -9
- package/index.js.map +1 -1
- package/package.json +1 -1
package/core.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
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, RECORDING_TIME_LIMIT_FREE_PLAN, SCREEN_RECORDER_ERROR, SCREEN_RECORDER_EVENT,
|
|
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';
|
|
4
4
|
import { useMultipartS3UploadStatus as useMultipartS3UploadStatus$1, getMultipartS3Uploader as getMultipartS3Uploader$1 } from '@bigbinary/neeto-media-recorder/core';
|
|
5
5
|
import { isNotNil, min, isNil, identity, isEmpty, pick, equals, not } from 'ramda';
|
|
6
6
|
import platform from 'platform';
|
|
@@ -1040,6 +1040,7 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1040
1040
|
}
|
|
1041
1041
|
});
|
|
1042
1042
|
_defineProperty(this, "completeUploadNotifyServer", function (parts, sessionLogs) {
|
|
1043
|
+
var _classPrivateFieldGet2;
|
|
1043
1044
|
return completeUploadApi.create({
|
|
1044
1045
|
recordingId: _classPrivateFieldGet(_this, _recordingId),
|
|
1045
1046
|
payload: {
|
|
@@ -1049,7 +1050,7 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1049
1050
|
logs: sessionLogs
|
|
1050
1051
|
},
|
|
1051
1052
|
config: {
|
|
1052
|
-
signal: _classPrivateFieldGet(_this, _abortController).signal
|
|
1053
|
+
signal: (_classPrivateFieldGet2 = _classPrivateFieldGet(_this, _abortController)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.signal
|
|
1053
1054
|
}
|
|
1054
1055
|
});
|
|
1055
1056
|
});
|
|
@@ -1233,22 +1234,22 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1233
1234
|
_classPrivateFieldSet(_this, _status2, "");
|
|
1234
1235
|
});
|
|
1235
1236
|
_defineProperty(this, "addCallback", function (event, callback) {
|
|
1236
|
-
var
|
|
1237
|
-
var existingCallbacks = (
|
|
1237
|
+
var _classPrivateFieldGet3;
|
|
1238
|
+
var existingCallbacks = (_classPrivateFieldGet3 = _classPrivateFieldGet(_this, _callbacks$1)[event]) !== null && _classPrivateFieldGet3 !== void 0 ? _classPrivateFieldGet3 : [];
|
|
1238
1239
|
_classPrivateFieldSet(_this, _callbacks$1, _objectSpread$2(_objectSpread$2({}, _classPrivateFieldGet(_this, _callbacks$1)), {}, _defineProperty({}, event, [].concat(_toConsumableArray(existingCallbacks), [callback]))));
|
|
1239
1240
|
});
|
|
1240
1241
|
_defineProperty(this, "removeCallback", function (event, callback) {
|
|
1241
|
-
var
|
|
1242
|
-
var registeredCallbacks = (
|
|
1242
|
+
var _classPrivateFieldGet4;
|
|
1243
|
+
var registeredCallbacks = (_classPrivateFieldGet4 = _classPrivateFieldGet(_this, _callbacks$1)[event]) !== null && _classPrivateFieldGet4 !== void 0 ? _classPrivateFieldGet4 : [];
|
|
1243
1244
|
var updatedCallbacks = registeredCallbacks.filter(isNot(callback));
|
|
1244
1245
|
_classPrivateFieldSet(_this, _callbacks$1, _objectSpread$2(_objectSpread$2({}, _classPrivateFieldGet(_this, _callbacks$1)), {}, _defineProperty({}, event, updatedCallbacks)));
|
|
1245
1246
|
});
|
|
1246
1247
|
_classPrivateFieldInitSpec$1(this, _fireCallbacks$1, {
|
|
1247
1248
|
writable: true,
|
|
1248
1249
|
value: function value(event) {
|
|
1249
|
-
var
|
|
1250
|
+
var _classPrivateFieldGet5;
|
|
1250
1251
|
var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
1251
|
-
(
|
|
1252
|
+
(_classPrivateFieldGet5 = _classPrivateFieldGet(_this, _callbacks$1)[event]) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.forEach(function (callback) {
|
|
1252
1253
|
callback.apply(void 0, _toConsumableArray(args));
|
|
1253
1254
|
});
|
|
1254
1255
|
}
|
|
@@ -1267,40 +1268,28 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1267
1268
|
}
|
|
1268
1269
|
}
|
|
1269
1270
|
});
|
|
1270
|
-
_defineProperty(this, "generatePreSignedUrl",
|
|
1271
|
-
var
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
}
|
|
1285
|
-
}));
|
|
1286
|
-
case 1:
|
|
1287
|
-
case "end":
|
|
1288
|
-
return _context3.stop();
|
|
1289
|
-
}
|
|
1290
|
-
}, _callee3);
|
|
1291
|
-
}));
|
|
1292
|
-
return function (_x2) {
|
|
1293
|
-
return _ref3.apply(this, arguments);
|
|
1294
|
-
};
|
|
1295
|
-
}());
|
|
1271
|
+
_defineProperty(this, "generatePreSignedUrl", function (partNumber) {
|
|
1272
|
+
var _classPrivateFieldGet6;
|
|
1273
|
+
return partPresignedUrlApi.create({
|
|
1274
|
+
recordingId: _classPrivateFieldGet(_this, _recordingId),
|
|
1275
|
+
payload: {
|
|
1276
|
+
partNumber: partNumber,
|
|
1277
|
+
uploadId: _classPrivateFieldGet(_this, _uploadId),
|
|
1278
|
+
isMp4: _classPrivateFieldGet(_this, _mimeType$1).includes(MIME_TYPE.mp4)
|
|
1279
|
+
},
|
|
1280
|
+
config: {
|
|
1281
|
+
signal: (_classPrivateFieldGet6 = _classPrivateFieldGet(_this, _abortController)) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.signal
|
|
1282
|
+
}
|
|
1283
|
+
});
|
|
1284
|
+
});
|
|
1296
1285
|
_classPrivateFieldInitSpec$1(this, _uploadChunkToS, {
|
|
1297
1286
|
writable: true,
|
|
1298
1287
|
value: function () {
|
|
1299
|
-
var _value = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
|
1288
|
+
var _value = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(chunks) {
|
|
1300
1289
|
var _this$partNumber;
|
|
1301
|
-
var partNumber, _yield$_this$generate, presignedUrl, s3PartUploadPromise;
|
|
1302
|
-
return _regeneratorRuntime.wrap(function
|
|
1303
|
-
while (1) switch (
|
|
1290
|
+
var partNumber, _classPrivateFieldGet7, _yield$_this$generate, presignedUrl, s3PartUploadPromise;
|
|
1291
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
1292
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1304
1293
|
case 0:
|
|
1305
1294
|
_classPrivateFieldGet(_this, _logger$1).info("Part ready to be uploaded: ", _classPrivateFieldGet(_this, _partNumber));
|
|
1306
1295
|
partNumber = _classPrivateFieldGet(_this, _partNumber);
|
|
@@ -1311,11 +1300,11 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1311
1300
|
type: _classPrivateFieldGet(_this, _mimeType$1)
|
|
1312
1301
|
}).size
|
|
1313
1302
|
};
|
|
1314
|
-
|
|
1315
|
-
|
|
1303
|
+
_context3.prev = 4;
|
|
1304
|
+
_context3.next = 7;
|
|
1316
1305
|
return _this.generatePreSignedUrl(partNumber);
|
|
1317
1306
|
case 7:
|
|
1318
|
-
_yield$_this$generate =
|
|
1307
|
+
_yield$_this$generate = _context3.sent;
|
|
1319
1308
|
presignedUrl = _yield$_this$generate.presignedUrl;
|
|
1320
1309
|
_classPrivateFieldGet(_this, _logger$1).info("Presigned url created for partNumber:", partNumber);
|
|
1321
1310
|
s3PartUploadPromise = s3Api.presignedUpload({
|
|
@@ -1328,7 +1317,7 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1328
1317
|
"Content-Type": _classPrivateFieldGet(_this, _mimeType$1)
|
|
1329
1318
|
},
|
|
1330
1319
|
includeMetadataInResponse: true,
|
|
1331
|
-
signal: _classPrivateFieldGet(_this, _abortController).signal,
|
|
1320
|
+
signal: (_classPrivateFieldGet7 = _classPrivateFieldGet(_this, _abortController)) === null || _classPrivateFieldGet7 === void 0 ? void 0 : _classPrivateFieldGet7.signal,
|
|
1332
1321
|
onUploadProgress: function onUploadProgress(e) {
|
|
1333
1322
|
_classPrivateFieldGet(_this, _uploadProgress)[partNumber] = {
|
|
1334
1323
|
uploaded: e.loaded,
|
|
@@ -1341,23 +1330,25 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1341
1330
|
}
|
|
1342
1331
|
}
|
|
1343
1332
|
}
|
|
1344
|
-
})
|
|
1333
|
+
})
|
|
1334
|
+
// eslint-disable-next-line promise/prefer-await-to-then
|
|
1335
|
+
["catch"](function (error) {
|
|
1345
1336
|
_classPrivateFieldGet(_this, _handleChunkUploadError).call(_this, error, partNumber);
|
|
1346
1337
|
});
|
|
1347
1338
|
_classPrivateFieldGet(_this, _s3PartUploadPromises).push(s3PartUploadPromise);
|
|
1348
|
-
|
|
1339
|
+
_context3.next = 17;
|
|
1349
1340
|
break;
|
|
1350
1341
|
case 14:
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
_classPrivateFieldGet(_this, _handleChunkUploadError).call(_this,
|
|
1342
|
+
_context3.prev = 14;
|
|
1343
|
+
_context3.t0 = _context3["catch"](4);
|
|
1344
|
+
_classPrivateFieldGet(_this, _handleChunkUploadError).call(_this, _context3.t0, partNumber);
|
|
1354
1345
|
case 17:
|
|
1355
1346
|
case "end":
|
|
1356
|
-
return
|
|
1347
|
+
return _context3.stop();
|
|
1357
1348
|
}
|
|
1358
|
-
},
|
|
1349
|
+
}, _callee3, null, [[4, 14]]);
|
|
1359
1350
|
}));
|
|
1360
|
-
function value(
|
|
1351
|
+
function value(_x2) {
|
|
1361
1352
|
return _value.apply(this, arguments);
|
|
1362
1353
|
}
|
|
1363
1354
|
return value;
|
|
@@ -1388,6 +1379,8 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1388
1379
|
get: function get() {
|
|
1389
1380
|
return isNotEmpty(_classPrivateFieldGet(this, _unUploadedChunks)) || isNotEmpty(_classPrivateFieldGet(this, _pendingS3ChunkUploads)) || isNotEmpty(_classPrivateFieldGet(this, _s3PartUploadPromises));
|
|
1390
1381
|
}
|
|
1382
|
+
|
|
1383
|
+
// eslint-disable-next-line default-param-last
|
|
1391
1384
|
}]);
|
|
1392
1385
|
return MultipartS3Uploader;
|
|
1393
1386
|
}();
|
|
@@ -1400,9 +1393,9 @@ function _get_isRecordingNotSet() {
|
|
|
1400
1393
|
}
|
|
1401
1394
|
var multipartS3Uploader = new MultipartS3Uploader();
|
|
1402
1395
|
var getMultipartS3Uploader = function getMultipartS3Uploader() {
|
|
1403
|
-
var
|
|
1404
|
-
|
|
1405
|
-
initialize =
|
|
1396
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1397
|
+
_ref3$initialize = _ref3.initialize,
|
|
1398
|
+
initialize = _ref3$initialize === void 0 ? false : _ref3$initialize;
|
|
1406
1399
|
if (!multipartS3Uploader || initialize) {
|
|
1407
1400
|
multipartS3Uploader = new MultipartS3Uploader();
|
|
1408
1401
|
useMultipartS3UploadStatus$1.triggerStatusChange();
|
|
@@ -1498,6 +1491,7 @@ var _micAudioStream = /*#__PURE__*/new WeakMap();
|
|
|
1498
1491
|
var _timeLimit = /*#__PURE__*/new WeakMap();
|
|
1499
1492
|
var _startRecordingTimeoutID = /*#__PURE__*/new WeakMap();
|
|
1500
1493
|
var _enableNoiseCancellation = /*#__PURE__*/new WeakMap();
|
|
1494
|
+
var _showCountdown = /*#__PURE__*/new WeakMap();
|
|
1501
1495
|
var _mimeType = /*#__PURE__*/new WeakMap();
|
|
1502
1496
|
var _stopAllStreams = /*#__PURE__*/new WeakMap();
|
|
1503
1497
|
var _checkCompatibility = /*#__PURE__*/new WeakMap();
|
|
@@ -1506,7 +1500,8 @@ var _fireCallbacks = /*#__PURE__*/new WeakMap();
|
|
|
1506
1500
|
var _onRecordingStart = /*#__PURE__*/new WeakMap();
|
|
1507
1501
|
var _onRecordingActive = /*#__PURE__*/new WeakMap();
|
|
1508
1502
|
var _onRecordingStop = /*#__PURE__*/new WeakMap();
|
|
1509
|
-
var
|
|
1503
|
+
var _startMediaRecorder = /*#__PURE__*/new WeakMap();
|
|
1504
|
+
var _startCountdown = /*#__PURE__*/new WeakMap();
|
|
1510
1505
|
var _startTimer = /*#__PURE__*/new WeakMap();
|
|
1511
1506
|
var _stopTimer = /*#__PURE__*/new WeakMap();
|
|
1512
1507
|
var _checkIfTimeLimitReached = /*#__PURE__*/new WeakMap();
|
|
@@ -1572,7 +1567,7 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1572
1567
|
});
|
|
1573
1568
|
_classPrivateFieldInitSpec(this, _stopRecordingDueToLimitReachedAudio, {
|
|
1574
1569
|
writable: true,
|
|
1575
|
-
value:
|
|
1570
|
+
value: new Audio(STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND)
|
|
1576
1571
|
});
|
|
1577
1572
|
_classPrivateFieldInitSpec(this, _stream, {
|
|
1578
1573
|
writable: true,
|
|
@@ -1598,6 +1593,10 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1598
1593
|
writable: true,
|
|
1599
1594
|
value: false
|
|
1600
1595
|
});
|
|
1596
|
+
_classPrivateFieldInitSpec(this, _showCountdown, {
|
|
1597
|
+
writable: true,
|
|
1598
|
+
value: true
|
|
1599
|
+
});
|
|
1601
1600
|
_classPrivateFieldInitSpec(this, _mimeType, {
|
|
1602
1601
|
writable: true,
|
|
1603
1602
|
value: getSupportedMimeType()
|
|
@@ -1611,6 +1610,9 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1611
1610
|
_defineProperty(this, "setAudioConfiguration", function (audio) {
|
|
1612
1611
|
return _classPrivateFieldSet(_this, _audio, audio);
|
|
1613
1612
|
});
|
|
1613
|
+
_defineProperty(this, "setShowCountdown", function (showCountdown) {
|
|
1614
|
+
return _classPrivateFieldSet(_this, _showCountdown, showCountdown);
|
|
1615
|
+
});
|
|
1614
1616
|
_defineProperty(this, "setTimeLimit", function () {
|
|
1615
1617
|
var timeLimit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : RECORDING_TIME_LIMIT_FREE_PLAN;
|
|
1616
1618
|
return _classPrivateFieldSet(_this, _timeLimit, timeLimit);
|
|
@@ -1674,7 +1676,11 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1674
1676
|
error: SCREEN_RECORDER_ERROR.NoRecorder
|
|
1675
1677
|
});
|
|
1676
1678
|
};
|
|
1677
|
-
_classPrivateFieldGet(_this,
|
|
1679
|
+
if (_classPrivateFieldGet(_this, _showCountdown)) {
|
|
1680
|
+
_classPrivateFieldGet(_this, _startCountdown).call(_this);
|
|
1681
|
+
} else {
|
|
1682
|
+
_classPrivateFieldGet(_this, _startMediaRecorder).call(_this);
|
|
1683
|
+
}
|
|
1678
1684
|
case 19:
|
|
1679
1685
|
case "end":
|
|
1680
1686
|
return _context.stop();
|
|
@@ -1832,7 +1838,9 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1832
1838
|
break;
|
|
1833
1839
|
}
|
|
1834
1840
|
_context2.prev = 13;
|
|
1835
|
-
workletUrl = IS_EXTENSION ?
|
|
1841
|
+
workletUrl = IS_EXTENSION ?
|
|
1842
|
+
// eslint-disable-next-line no-undef
|
|
1843
|
+
chrome.runtime.getURL("public/NoiseSuppressorWorklet.js") : "NoiseSuppressorWorklet.js";
|
|
1836
1844
|
audioContext = new AudioContext();
|
|
1837
1845
|
_context2.next = 18;
|
|
1838
1846
|
return audioContext.audioWorklet.addModule(workletUrl);
|
|
@@ -1848,6 +1856,7 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1848
1856
|
case 26:
|
|
1849
1857
|
_context2.prev = 26;
|
|
1850
1858
|
_context2.t4 = _context2["catch"](13);
|
|
1859
|
+
// eslint-disable-next-line no-console
|
|
1851
1860
|
console.error("Failed to load audio worklet:", _context2.t4);
|
|
1852
1861
|
case 29:
|
|
1853
1862
|
if (!_classPrivateFieldGet(_this, _videoStream)) {
|
|
@@ -1968,7 +1977,59 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1968
1977
|
}
|
|
1969
1978
|
}
|
|
1970
1979
|
});
|
|
1971
|
-
_classPrivateFieldInitSpec(this,
|
|
1980
|
+
_classPrivateFieldInitSpec(this, _startMediaRecorder, {
|
|
1981
|
+
writable: true,
|
|
1982
|
+
value: function value() {
|
|
1983
|
+
_classPrivateFieldSet(_this, _startRecordingTimeoutID, setTimeout(function () {
|
|
1984
|
+
try {
|
|
1985
|
+
_classPrivateFieldGet(_this, _logger).info("starting mediaRecorder");
|
|
1986
|
+
if (!_classPrivateFieldGet(_this, _mediaRecorder)) {
|
|
1987
|
+
_classPrivateFieldGet(_this, _logger).info("mediaRecorder is not defined");
|
|
1988
|
+
_classPrivateFieldGet(_this, _store).setState({
|
|
1989
|
+
status: SCREEN_RECORDER_STATUS.idle,
|
|
1990
|
+
error: SCREEN_RECORDER_ERROR.FailedToStart
|
|
1991
|
+
});
|
|
1992
|
+
return;
|
|
1993
|
+
}
|
|
1994
|
+
if (!_classPrivateFieldGet(_this, _mediaStream) || isStreamEnded(_classPrivateFieldGet(_this, _mediaStream))) {
|
|
1995
|
+
_classPrivateFieldGet(_this, _logger).info("media stream ended, not starting mediaRecorder");
|
|
1996
|
+
_classPrivateFieldGet(_this, _store).setState({
|
|
1997
|
+
status: SCREEN_RECORDER_STATUS.idle,
|
|
1998
|
+
error: SCREEN_RECORDER_ERROR.FailedToStart
|
|
1999
|
+
});
|
|
2000
|
+
return;
|
|
2001
|
+
}
|
|
2002
|
+
_classPrivateFieldGet(_this, _store).setState({
|
|
2003
|
+
status: SCREEN_RECORDER_STATUS.recording
|
|
2004
|
+
});
|
|
2005
|
+
_classPrivateFieldGet(_this, _mediaRecorder).start(5000);
|
|
2006
|
+
_classPrivateFieldGet(_this, _logger).info("started mediaRecorder");
|
|
2007
|
+
_classPrivateFieldGet(_this, _startTimer).call(_this);
|
|
2008
|
+
} catch (error) {
|
|
2009
|
+
_classPrivateFieldGet(_this, _logger).info("Failed to start mediaRecorder", error);
|
|
2010
|
+
_classPrivateFieldGet(_this, _store).setState({
|
|
2011
|
+
status: SCREEN_RECORDER_STATUS.idle,
|
|
2012
|
+
error: SCREEN_RECORDER_ERROR.FailedToStart
|
|
2013
|
+
});
|
|
2014
|
+
|
|
2015
|
+
// To prevent triggering #onRecordingStop when the mediaRecorder is failed to start.
|
|
2016
|
+
if (_classPrivateFieldGet(_this, _mediaRecorder)) {
|
|
2017
|
+
_classPrivateFieldGet(_this, _mediaRecorder).onstop = noop;
|
|
2018
|
+
}
|
|
2019
|
+
if (_classPrivateFieldGet(_this, _mediaStream)) {
|
|
2020
|
+
_classPrivateFieldGet(_this, _stopAllStreams).call(_this);
|
|
2021
|
+
_classPrivateFieldSet(_this, _mediaStream, null);
|
|
2022
|
+
}
|
|
2023
|
+
_classPrivateFieldSet(_this, _stream, null);
|
|
2024
|
+
_classPrivateFieldSet(_this, _audioStream, null);
|
|
2025
|
+
_classPrivateFieldSet(_this, _micAudioStream, null);
|
|
2026
|
+
_classPrivateFieldSet(_this, _mediaRecorder, null);
|
|
2027
|
+
throw error;
|
|
2028
|
+
}
|
|
2029
|
+
}, HALF_A_SECOND_IN_MILLISECONDS));
|
|
2030
|
+
}
|
|
2031
|
+
});
|
|
2032
|
+
_classPrivateFieldInitSpec(this, _startCountdown, {
|
|
1972
2033
|
writable: true,
|
|
1973
2034
|
value: function value() {
|
|
1974
2035
|
if (_classPrivateFieldGet(_this, _countdownTimerId)) return;
|
|
@@ -1987,55 +2048,9 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1987
2048
|
}
|
|
1988
2049
|
_classPrivateFieldGet(_this, _fireCallbacks).call(_this, SCREEN_RECORDER_EVENT.onCountdown, [0]);
|
|
1989
2050
|
_classPrivateFieldGet(_this, _fireCallbacks).call(_this, SCREEN_RECORDER_EVENT.onCountdownEnd);
|
|
1990
|
-
_classPrivateFieldGet(_this, _store).setState({
|
|
1991
|
-
status: SCREEN_RECORDER_STATUS.recording
|
|
1992
|
-
});
|
|
1993
2051
|
clearInterval(_classPrivateFieldGet(_this, _countdownTimerId));
|
|
1994
2052
|
_classPrivateFieldSet(_this, _countdownTimerId, null);
|
|
1995
|
-
|
|
1996
|
-
try {
|
|
1997
|
-
_classPrivateFieldGet(_this, _logger).info("starting mediaRecorder");
|
|
1998
|
-
if (!_classPrivateFieldGet(_this, _mediaRecorder)) {
|
|
1999
|
-
_classPrivateFieldGet(_this, _logger).info("mediaRecorder is not defined");
|
|
2000
|
-
_classPrivateFieldGet(_this, _store).setState({
|
|
2001
|
-
status: SCREEN_RECORDER_STATUS.idle,
|
|
2002
|
-
error: SCREEN_RECORDER_ERROR.FailedToStart
|
|
2003
|
-
});
|
|
2004
|
-
return;
|
|
2005
|
-
}
|
|
2006
|
-
if (!_classPrivateFieldGet(_this, _mediaStream) || isStreamEnded(_classPrivateFieldGet(_this, _mediaStream))) {
|
|
2007
|
-
_classPrivateFieldGet(_this, _logger).info("media stream ended, not starting mediaRecorder");
|
|
2008
|
-
_classPrivateFieldGet(_this, _store).setState({
|
|
2009
|
-
status: SCREEN_RECORDER_STATUS.idle,
|
|
2010
|
-
error: SCREEN_RECORDER_ERROR.FailedToStart
|
|
2011
|
-
});
|
|
2012
|
-
return;
|
|
2013
|
-
}
|
|
2014
|
-
_classPrivateFieldGet(_this, _mediaRecorder).start(5000);
|
|
2015
|
-
_classPrivateFieldGet(_this, _logger).info("started mediaRecorder");
|
|
2016
|
-
_classPrivateFieldGet(_this, _startTimer).call(_this);
|
|
2017
|
-
} catch (error) {
|
|
2018
|
-
_classPrivateFieldGet(_this, _logger).info("Failed to start mediaRecorder", error);
|
|
2019
|
-
_classPrivateFieldGet(_this, _store).setState({
|
|
2020
|
-
status: SCREEN_RECORDER_STATUS.idle,
|
|
2021
|
-
error: SCREEN_RECORDER_ERROR.FailedToStart
|
|
2022
|
-
});
|
|
2023
|
-
|
|
2024
|
-
// To prevent triggering #onRecordingStop when the mediaRecorder is failed to start.
|
|
2025
|
-
if (_classPrivateFieldGet(_this, _mediaRecorder)) {
|
|
2026
|
-
_classPrivateFieldGet(_this, _mediaRecorder).onstop = noop;
|
|
2027
|
-
}
|
|
2028
|
-
if (_classPrivateFieldGet(_this, _mediaStream)) {
|
|
2029
|
-
_classPrivateFieldGet(_this, _stopAllStreams).call(_this);
|
|
2030
|
-
_classPrivateFieldSet(_this, _mediaStream, null);
|
|
2031
|
-
}
|
|
2032
|
-
_classPrivateFieldSet(_this, _stream, null);
|
|
2033
|
-
_classPrivateFieldSet(_this, _audioStream, null);
|
|
2034
|
-
_classPrivateFieldSet(_this, _micAudioStream, null);
|
|
2035
|
-
_classPrivateFieldSet(_this, _mediaRecorder, null);
|
|
2036
|
-
throw error;
|
|
2037
|
-
}
|
|
2038
|
-
}, HALF_A_SECOND_IN_MILLISECONDS));
|
|
2053
|
+
_classPrivateFieldGet(_this, _startMediaRecorder).call(_this);
|
|
2039
2054
|
return {
|
|
2040
2055
|
countdownTimeLeft: 0
|
|
2041
2056
|
};
|
|
@@ -2081,7 +2096,6 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
2081
2096
|
_classPrivateFieldGet(_this, _store).setState({
|
|
2082
2097
|
showTimeLimitWarning: true
|
|
2083
2098
|
});
|
|
2084
|
-
_classPrivateFieldSet(_this, _stopRecordingDueToLimitReachedAudio, new Audio(STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND));
|
|
2085
2099
|
return;
|
|
2086
2100
|
}
|
|
2087
2101
|
_classPrivateFieldGet(_this, _stopRecordingDueToLimitReachedAudio).play();
|
|
@@ -2111,11 +2125,11 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
2111
2125
|
}, {
|
|
2112
2126
|
key: "displaySurface",
|
|
2113
2127
|
get: function get() {
|
|
2114
|
-
var
|
|
2115
|
-
var _classPrivateFieldGet15 = (
|
|
2116
|
-
|
|
2117
|
-
videoTrack =
|
|
2118
|
-
return videoTrack.getSettings().displaySurface;
|
|
2128
|
+
var _classPrivateFieldGet15, _classPrivateFieldGet16;
|
|
2129
|
+
var _ref5 = (_classPrivateFieldGet15 = (_classPrivateFieldGet16 = _classPrivateFieldGet(this, _mediaStream)) === null || _classPrivateFieldGet16 === void 0 ? void 0 : _classPrivateFieldGet16.getVideoTracks()) !== null && _classPrivateFieldGet15 !== void 0 ? _classPrivateFieldGet15 : [],
|
|
2130
|
+
_ref6 = _slicedToArray(_ref5, 1),
|
|
2131
|
+
videoTrack = _ref6[0];
|
|
2132
|
+
return videoTrack === null || videoTrack === void 0 ? void 0 : videoTrack.getSettings().displaySurface;
|
|
2119
2133
|
}
|
|
2120
2134
|
}, {
|
|
2121
2135
|
key: "audioConfiguration",
|