@bigbinary/neeto-media-recorder 2.7.3 → 2.7.5
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 +80 -59
- 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';
|
|
@@ -1498,6 +1498,7 @@ var _micAudioStream = /*#__PURE__*/new WeakMap();
|
|
|
1498
1498
|
var _timeLimit = /*#__PURE__*/new WeakMap();
|
|
1499
1499
|
var _startRecordingTimeoutID = /*#__PURE__*/new WeakMap();
|
|
1500
1500
|
var _enableNoiseCancellation = /*#__PURE__*/new WeakMap();
|
|
1501
|
+
var _showCountdown = /*#__PURE__*/new WeakMap();
|
|
1501
1502
|
var _mimeType = /*#__PURE__*/new WeakMap();
|
|
1502
1503
|
var _stopAllStreams = /*#__PURE__*/new WeakMap();
|
|
1503
1504
|
var _checkCompatibility = /*#__PURE__*/new WeakMap();
|
|
@@ -1506,7 +1507,8 @@ var _fireCallbacks = /*#__PURE__*/new WeakMap();
|
|
|
1506
1507
|
var _onRecordingStart = /*#__PURE__*/new WeakMap();
|
|
1507
1508
|
var _onRecordingActive = /*#__PURE__*/new WeakMap();
|
|
1508
1509
|
var _onRecordingStop = /*#__PURE__*/new WeakMap();
|
|
1509
|
-
var
|
|
1510
|
+
var _startMediaRecorder = /*#__PURE__*/new WeakMap();
|
|
1511
|
+
var _startCountdown = /*#__PURE__*/new WeakMap();
|
|
1510
1512
|
var _startTimer = /*#__PURE__*/new WeakMap();
|
|
1511
1513
|
var _stopTimer = /*#__PURE__*/new WeakMap();
|
|
1512
1514
|
var _checkIfTimeLimitReached = /*#__PURE__*/new WeakMap();
|
|
@@ -1572,7 +1574,7 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1572
1574
|
});
|
|
1573
1575
|
_classPrivateFieldInitSpec(this, _stopRecordingDueToLimitReachedAudio, {
|
|
1574
1576
|
writable: true,
|
|
1575
|
-
value:
|
|
1577
|
+
value: new Audio(STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND)
|
|
1576
1578
|
});
|
|
1577
1579
|
_classPrivateFieldInitSpec(this, _stream, {
|
|
1578
1580
|
writable: true,
|
|
@@ -1598,6 +1600,10 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1598
1600
|
writable: true,
|
|
1599
1601
|
value: false
|
|
1600
1602
|
});
|
|
1603
|
+
_classPrivateFieldInitSpec(this, _showCountdown, {
|
|
1604
|
+
writable: true,
|
|
1605
|
+
value: true
|
|
1606
|
+
});
|
|
1601
1607
|
_classPrivateFieldInitSpec(this, _mimeType, {
|
|
1602
1608
|
writable: true,
|
|
1603
1609
|
value: getSupportedMimeType()
|
|
@@ -1611,6 +1617,9 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1611
1617
|
_defineProperty(this, "setAudioConfiguration", function (audio) {
|
|
1612
1618
|
return _classPrivateFieldSet(_this, _audio, audio);
|
|
1613
1619
|
});
|
|
1620
|
+
_defineProperty(this, "setShowCountdown", function (showCountdown) {
|
|
1621
|
+
return _classPrivateFieldSet(_this, _showCountdown, showCountdown);
|
|
1622
|
+
});
|
|
1614
1623
|
_defineProperty(this, "setTimeLimit", function () {
|
|
1615
1624
|
var timeLimit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : RECORDING_TIME_LIMIT_FREE_PLAN;
|
|
1616
1625
|
return _classPrivateFieldSet(_this, _timeLimit, timeLimit);
|
|
@@ -1674,7 +1683,11 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1674
1683
|
error: SCREEN_RECORDER_ERROR.NoRecorder
|
|
1675
1684
|
});
|
|
1676
1685
|
};
|
|
1677
|
-
_classPrivateFieldGet(_this,
|
|
1686
|
+
if (_classPrivateFieldGet(_this, _showCountdown)) {
|
|
1687
|
+
_classPrivateFieldGet(_this, _startCountdown).call(_this);
|
|
1688
|
+
} else {
|
|
1689
|
+
_classPrivateFieldGet(_this, _startMediaRecorder).call(_this);
|
|
1690
|
+
}
|
|
1678
1691
|
case 19:
|
|
1679
1692
|
case "end":
|
|
1680
1693
|
return _context.stop();
|
|
@@ -1832,7 +1845,9 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1832
1845
|
break;
|
|
1833
1846
|
}
|
|
1834
1847
|
_context2.prev = 13;
|
|
1835
|
-
workletUrl = IS_EXTENSION ?
|
|
1848
|
+
workletUrl = IS_EXTENSION ?
|
|
1849
|
+
// eslint-disable-next-line no-undef
|
|
1850
|
+
chrome.runtime.getURL("public/NoiseSuppressorWorklet.js") : "NoiseSuppressorWorklet.js";
|
|
1836
1851
|
audioContext = new AudioContext();
|
|
1837
1852
|
_context2.next = 18;
|
|
1838
1853
|
return audioContext.audioWorklet.addModule(workletUrl);
|
|
@@ -1848,6 +1863,7 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1848
1863
|
case 26:
|
|
1849
1864
|
_context2.prev = 26;
|
|
1850
1865
|
_context2.t4 = _context2["catch"](13);
|
|
1866
|
+
// eslint-disable-next-line no-console
|
|
1851
1867
|
console.error("Failed to load audio worklet:", _context2.t4);
|
|
1852
1868
|
case 29:
|
|
1853
1869
|
if (!_classPrivateFieldGet(_this, _videoStream)) {
|
|
@@ -1968,7 +1984,59 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1968
1984
|
}
|
|
1969
1985
|
}
|
|
1970
1986
|
});
|
|
1971
|
-
_classPrivateFieldInitSpec(this,
|
|
1987
|
+
_classPrivateFieldInitSpec(this, _startMediaRecorder, {
|
|
1988
|
+
writable: true,
|
|
1989
|
+
value: function value() {
|
|
1990
|
+
_classPrivateFieldSet(_this, _startRecordingTimeoutID, setTimeout(function () {
|
|
1991
|
+
try {
|
|
1992
|
+
_classPrivateFieldGet(_this, _logger).info("starting mediaRecorder");
|
|
1993
|
+
if (!_classPrivateFieldGet(_this, _mediaRecorder)) {
|
|
1994
|
+
_classPrivateFieldGet(_this, _logger).info("mediaRecorder is not defined");
|
|
1995
|
+
_classPrivateFieldGet(_this, _store).setState({
|
|
1996
|
+
status: SCREEN_RECORDER_STATUS.idle,
|
|
1997
|
+
error: SCREEN_RECORDER_ERROR.FailedToStart
|
|
1998
|
+
});
|
|
1999
|
+
return;
|
|
2000
|
+
}
|
|
2001
|
+
if (!_classPrivateFieldGet(_this, _mediaStream) || isStreamEnded(_classPrivateFieldGet(_this, _mediaStream))) {
|
|
2002
|
+
_classPrivateFieldGet(_this, _logger).info("media stream ended, not starting mediaRecorder");
|
|
2003
|
+
_classPrivateFieldGet(_this, _store).setState({
|
|
2004
|
+
status: SCREEN_RECORDER_STATUS.idle,
|
|
2005
|
+
error: SCREEN_RECORDER_ERROR.FailedToStart
|
|
2006
|
+
});
|
|
2007
|
+
return;
|
|
2008
|
+
}
|
|
2009
|
+
_classPrivateFieldGet(_this, _store).setState({
|
|
2010
|
+
status: SCREEN_RECORDER_STATUS.recording
|
|
2011
|
+
});
|
|
2012
|
+
_classPrivateFieldGet(_this, _mediaRecorder).start(5000);
|
|
2013
|
+
_classPrivateFieldGet(_this, _logger).info("started mediaRecorder");
|
|
2014
|
+
_classPrivateFieldGet(_this, _startTimer).call(_this);
|
|
2015
|
+
} catch (error) {
|
|
2016
|
+
_classPrivateFieldGet(_this, _logger).info("Failed to start mediaRecorder", error);
|
|
2017
|
+
_classPrivateFieldGet(_this, _store).setState({
|
|
2018
|
+
status: SCREEN_RECORDER_STATUS.idle,
|
|
2019
|
+
error: SCREEN_RECORDER_ERROR.FailedToStart
|
|
2020
|
+
});
|
|
2021
|
+
|
|
2022
|
+
// To prevent triggering #onRecordingStop when the mediaRecorder is failed to start.
|
|
2023
|
+
if (_classPrivateFieldGet(_this, _mediaRecorder)) {
|
|
2024
|
+
_classPrivateFieldGet(_this, _mediaRecorder).onstop = noop;
|
|
2025
|
+
}
|
|
2026
|
+
if (_classPrivateFieldGet(_this, _mediaStream)) {
|
|
2027
|
+
_classPrivateFieldGet(_this, _stopAllStreams).call(_this);
|
|
2028
|
+
_classPrivateFieldSet(_this, _mediaStream, null);
|
|
2029
|
+
}
|
|
2030
|
+
_classPrivateFieldSet(_this, _stream, null);
|
|
2031
|
+
_classPrivateFieldSet(_this, _audioStream, null);
|
|
2032
|
+
_classPrivateFieldSet(_this, _micAudioStream, null);
|
|
2033
|
+
_classPrivateFieldSet(_this, _mediaRecorder, null);
|
|
2034
|
+
throw error;
|
|
2035
|
+
}
|
|
2036
|
+
}, HALF_A_SECOND_IN_MILLISECONDS));
|
|
2037
|
+
}
|
|
2038
|
+
});
|
|
2039
|
+
_classPrivateFieldInitSpec(this, _startCountdown, {
|
|
1972
2040
|
writable: true,
|
|
1973
2041
|
value: function value() {
|
|
1974
2042
|
if (_classPrivateFieldGet(_this, _countdownTimerId)) return;
|
|
@@ -1987,55 +2055,9 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1987
2055
|
}
|
|
1988
2056
|
_classPrivateFieldGet(_this, _fireCallbacks).call(_this, SCREEN_RECORDER_EVENT.onCountdown, [0]);
|
|
1989
2057
|
_classPrivateFieldGet(_this, _fireCallbacks).call(_this, SCREEN_RECORDER_EVENT.onCountdownEnd);
|
|
1990
|
-
_classPrivateFieldGet(_this, _store).setState({
|
|
1991
|
-
status: SCREEN_RECORDER_STATUS.recording
|
|
1992
|
-
});
|
|
1993
2058
|
clearInterval(_classPrivateFieldGet(_this, _countdownTimerId));
|
|
1994
2059
|
_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));
|
|
2060
|
+
_classPrivateFieldGet(_this, _startMediaRecorder).call(_this);
|
|
2039
2061
|
return {
|
|
2040
2062
|
countdownTimeLeft: 0
|
|
2041
2063
|
};
|
|
@@ -2081,7 +2103,6 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
2081
2103
|
_classPrivateFieldGet(_this, _store).setState({
|
|
2082
2104
|
showTimeLimitWarning: true
|
|
2083
2105
|
});
|
|
2084
|
-
_classPrivateFieldSet(_this, _stopRecordingDueToLimitReachedAudio, new Audio(STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND));
|
|
2085
2106
|
return;
|
|
2086
2107
|
}
|
|
2087
2108
|
_classPrivateFieldGet(_this, _stopRecordingDueToLimitReachedAudio).play();
|
|
@@ -2111,11 +2132,11 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
2111
2132
|
}, {
|
|
2112
2133
|
key: "displaySurface",
|
|
2113
2134
|
get: function get() {
|
|
2114
|
-
var
|
|
2115
|
-
var _classPrivateFieldGet15 = (
|
|
2116
|
-
|
|
2117
|
-
videoTrack =
|
|
2118
|
-
return videoTrack.getSettings().displaySurface;
|
|
2135
|
+
var _classPrivateFieldGet15, _classPrivateFieldGet16;
|
|
2136
|
+
var _ref5 = (_classPrivateFieldGet15 = (_classPrivateFieldGet16 = _classPrivateFieldGet(this, _mediaStream)) === null || _classPrivateFieldGet16 === void 0 ? void 0 : _classPrivateFieldGet16.getVideoTracks()) !== null && _classPrivateFieldGet15 !== void 0 ? _classPrivateFieldGet15 : [],
|
|
2137
|
+
_ref6 = _slicedToArray(_ref5, 1),
|
|
2138
|
+
videoTrack = _ref6[0];
|
|
2139
|
+
return videoTrack === null || videoTrack === void 0 ? void 0 : videoTrack.getSettings().displaySurface;
|
|
2119
2140
|
}
|
|
2120
2141
|
}, {
|
|
2121
2142
|
key: "audioConfiguration",
|