@bigbinary/neeto-media-recorder 2.4.0 → 2.4.1
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 +28 -9
- package/core.js.map +1 -1
- package/index.js +24 -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,28 @@ 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
|
+
}
|
|
802
818
|
var getSupportedMimeType = function getSupportedMimeType(fallback) {
|
|
803
819
|
if (MediaRecorder.isTypeSupported(MIME_TYPE.mp4)) {
|
|
804
|
-
|
|
820
|
+
if (platform.name === "Safari") {
|
|
821
|
+
return MIME_TYPE.mp4;
|
|
822
|
+
}
|
|
823
|
+
var chromiumVersion = getChromiumVersion();
|
|
824
|
+
if (isNil(chromiumVersion)) {
|
|
825
|
+
return MIME_TYPE.webmH264;
|
|
826
|
+
}
|
|
827
|
+
var isChromiumVersionSupported = chromiumVersion >= MINIMUM_CHROMIUM_VERSION_FOR_MP4;
|
|
828
|
+
if (isChromiumVersionSupported) {
|
|
829
|
+
return MIME_TYPE.mp4;
|
|
830
|
+
}
|
|
831
|
+
return MIME_TYPE.webmH264;
|
|
805
832
|
} else if (MediaRecorder.isTypeSupported(MIME_TYPE.webmH264)) {
|
|
806
833
|
return MIME_TYPE.webmH264;
|
|
807
834
|
}
|
|
@@ -1314,14 +1341,6 @@ function _slicedToArray(arr, i) {
|
|
|
1314
1341
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
1315
1342
|
}
|
|
1316
1343
|
|
|
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
1344
|
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
1345
|
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
1346
|
var initialState = {
|