@bigbinary/neeto-media-recorder 2.7.7 → 2.7.8

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/index.js CHANGED
@@ -1009,7 +1009,6 @@ var useAudioIsCapturing = function useAudioIsCapturing(_ref) {
1009
1009
  };
1010
1010
  }, []);
1011
1011
  useEffect(function () {
1012
- logger.info("useAudioIsCapturing->", timerStarted, hasAudio, isMicOn, disable);
1013
1012
  if (!isMicOn || !timerStarted || disable) return noop;
1014
1013
  var analyserObj = null;
1015
1014
  var rafId;
@@ -1046,24 +1045,19 @@ var useAudioIsCapturing = function useAudioIsCapturing(_ref) {
1046
1045
  var _callbacks;
1047
1046
  if (!isMicOn) return noop;
1048
1047
  var callbacks = (_callbacks = {}, _defineProperty(_callbacks, SCREEN_RECORDER_EVENT.onStart, function () {
1049
- logger.info("useAudioIsCapturing onStart");
1050
1048
  reset();
1051
1049
  setTimerStarted(true);
1052
1050
  armTimer();
1053
1051
  }), _defineProperty(_callbacks, SCREEN_RECORDER_EVENT.onRestart, function () {
1054
- logger.info("useAudioIsCapturing onRestart");
1055
1052
  reset();
1056
1053
  setTimerStarted(true);
1057
1054
  armTimer();
1058
1055
  }), _defineProperty(_callbacks, SCREEN_RECORDER_EVENT.onResume, function () {
1059
- logger.info("useAudioIsCapturing onResume");
1060
1056
  setTimerStarted(true);
1061
1057
  resumeTimer();
1062
1058
  }), _defineProperty(_callbacks, SCREEN_RECORDER_EVENT.onPause, function () {
1063
- logger.info("useAudioIsCapturing onPause");
1064
1059
  pauseTimer();
1065
1060
  }), _defineProperty(_callbacks, SCREEN_RECORDER_EVENT.onStop, function () {
1066
- logger.info("useAudioIsCapturing onStop");
1067
1061
  clearTimer();
1068
1062
  reset();
1069
1063
  }), _defineProperty(_callbacks, "disable-mic-not-working-warning", function disableMicNotWorkingWarning() {
@@ -1466,7 +1460,9 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
1466
1460
  _ref$isMicOn = _ref.isMicOn,
1467
1461
  isMicOn = _ref$isMicOn === void 0 ? false : _ref$isMicOn,
1468
1462
  _ref$onAudioNotCaptur = _ref.onAudioNotCapturing,
1469
- onAudioNotCapturing = _ref$onAudioNotCaptur === void 0 ? function () {} : _ref$onAudioNotCaptur;
1463
+ onAudioNotCapturing = _ref$onAudioNotCaptur === void 0 ? function () {} : _ref$onAudioNotCaptur,
1464
+ _ref$onError = _ref.onError,
1465
+ onError = _ref$onError === void 0 ? function () {} : _ref$onError;
1470
1466
  var _useTranslation = useTranslation(),
1471
1467
  t = _useTranslation.t;
1472
1468
  var _useState = useState(false),
@@ -1551,6 +1547,16 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
1551
1547
  _useCreateRecording$d2 = _useCreateRecording$d === void 0 ? {} : _useCreateRecording$d,
1552
1548
  _useCreateRecording$d3 = _useCreateRecording$d2.recording,
1553
1549
  recording = _useCreateRecording$d3 === void 0 ? {} : _useCreateRecording$d3;
1550
+ useEffect(function () {
1551
+ var elapsedTimeInSec = Math.round(elapsedTime / 1000);
1552
+ var checkDelay = 7; // we get data every 5 sec, 7 for safety
1553
+ // If data is insufficient after n secs, there is some issue with media recorder, discard.
1554
+ if (elapsedTimeInSec < checkDelay) return;
1555
+ if (!screenRecorder.hasData() && recorderStatus === SCREEN_RECORDER_STATUS.recording) {
1556
+ screenRecorder.setError(SCREEN_RECORDER_ERROR.InsufficientData);
1557
+ onError(SCREEN_RECORDER_ERROR.InsufficientData);
1558
+ }
1559
+ }, [elapsedTime]);
1554
1560
  recordingRef.current = recording;
1555
1561
  var handleCreateRecording = /*#__PURE__*/function () {
1556
1562
  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
@@ -1780,7 +1786,12 @@ var MediaRecorder = function MediaRecorder(_ref, ref) {
1780
1786
  className: "flex h-screen w-full flex-col items-center justify-start py-10 xl:py-14 2xl:py-20",
1781
1787
  children: [/*#__PURE__*/jsxs("div", {
1782
1788
  className: classNames("w-full max-w-3xl"),
1783
- children: [/*#__PURE__*/jsx(UseDesktopAppCallout, {}), error === SCREEN_RECORDER_ERROR.NotAllowedError && /*#__PURE__*/jsxs("div", {
1789
+ children: [/*#__PURE__*/jsx(UseDesktopAppCallout, {}), error === SCREEN_RECORDER_ERROR.InsufficientData && /*#__PURE__*/jsx(Callout, {
1790
+ className: "mb-2 p-3",
1791
+ "data-cy": "recorder-insufficient-data-error-callout",
1792
+ style: "danger",
1793
+ children: t("neetoMediaRecorder.insufficientDataError")
1794
+ }), error === SCREEN_RECORDER_ERROR.NotAllowedError && /*#__PURE__*/jsxs("div", {
1784
1795
  className: "flex flex-col items-center",
1785
1796
  children: [/*#__PURE__*/jsx(Typography, {
1786
1797
  className: "mb-2",