@bigbinary/neeto-media-recorder 2.4.0 → 2.4.2
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 +31 -9
- package/core.js.map +1 -1
- package/index.js +27 -2
- package/index.js.map +1 -1
- package/package.json +1 -1
package/core.js
CHANGED
|
@@ -773,6 +773,14 @@ var partPresignedUrlApi = {
|
|
|
773
773
|
create: retryableCreate
|
|
774
774
|
};
|
|
775
775
|
|
|
776
|
+
// https://www.w3.org/TR/screen-capture/#displaycapturesurfacetype
|
|
777
|
+
var DISPLAY_SURFACE = {
|
|
778
|
+
monitor: "monitor",
|
|
779
|
+
window: "window",
|
|
780
|
+
browser: "browser"
|
|
781
|
+
};
|
|
782
|
+
var MINIMUM_CHROMIUM_VERSION_FOR_MP4 = "128.0.6613.85";
|
|
783
|
+
|
|
776
784
|
var getUnSupportedConstraints = function getUnSupportedConstraints(mediaType) {
|
|
777
785
|
var supportedMediaConstraints = navigator.mediaDevices.getSupportedConstraints();
|
|
778
786
|
return Object.keys(mediaType).filter(function (constraint) {
|
|
@@ -799,9 +807,31 @@ var isStreamEnded = function isStreamEnded(mediaStream) {
|
|
|
799
807
|
readyState: "ended"
|
|
800
808
|
}, mediaStream.getTracks());
|
|
801
809
|
};
|
|
810
|
+
function getChromiumVersion() {
|
|
811
|
+
var userAgent = navigator.userAgent;
|
|
812
|
+
var match = userAgent.match(/Chrom(e|ium)\/(([0-9][.]?)+)/);
|
|
813
|
+
if (match) {
|
|
814
|
+
return match[2];
|
|
815
|
+
}
|
|
816
|
+
return null;
|
|
817
|
+
}
|
|
818
|
+
var versionToInteger = function versionToInteger(version) {
|
|
819
|
+
return parseInt(version.replaceAll(".", ""));
|
|
820
|
+
};
|
|
802
821
|
var getSupportedMimeType = function getSupportedMimeType(fallback) {
|
|
803
822
|
if (MediaRecorder.isTypeSupported(MIME_TYPE.mp4)) {
|
|
804
|
-
|
|
823
|
+
if (platform.name === "Safari") {
|
|
824
|
+
return MIME_TYPE.mp4;
|
|
825
|
+
}
|
|
826
|
+
var chromiumVersion = getChromiumVersion();
|
|
827
|
+
if (isNil(chromiumVersion)) {
|
|
828
|
+
return MIME_TYPE.webmH264;
|
|
829
|
+
}
|
|
830
|
+
var isChromiumVersionSupported = versionToInteger(chromiumVersion) >= versionToInteger(MINIMUM_CHROMIUM_VERSION_FOR_MP4);
|
|
831
|
+
if (isChromiumVersionSupported) {
|
|
832
|
+
return MIME_TYPE.mp4;
|
|
833
|
+
}
|
|
834
|
+
return MIME_TYPE.webmH264;
|
|
805
835
|
} else if (MediaRecorder.isTypeSupported(MIME_TYPE.webmH264)) {
|
|
806
836
|
return MIME_TYPE.webmH264;
|
|
807
837
|
}
|
|
@@ -1314,14 +1344,6 @@ function _slicedToArray(arr, i) {
|
|
|
1314
1344
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
1315
1345
|
}
|
|
1316
1346
|
|
|
1317
|
-
// https://www.w3.org/TR/screen-capture/#displaycapturesurfacetype
|
|
1318
|
-
var DISPLAY_SURFACE = {
|
|
1319
|
-
monitor: "monitor",
|
|
1320
|
-
window: "window",
|
|
1321
|
-
browser: "browser"
|
|
1322
|
-
};
|
|
1323
|
-
// 14 minutes
|
|
1324
|
-
|
|
1325
1347
|
function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1326
1348
|
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1327
1349
|
var initialState = {
|