Преглед изворни кода

Fix#2071 Check the availability isTypeSupported api before call… (#2072)

* Check the availability isTypeSupported api before calling.

This will fix #2071

* Run `eslint --fix`

Co-authored-by: Renée Kooi <renee@kooi.me>
Naveed Ahmad пре 5 година
родитељ
комит
dd3f72aef3
1 измењених фајлова са 9 додато и 5 уклоњено
  1. 9 5
      packages/@uppy/webcam/src/index.js

+ 9 - 5
packages/@uppy/webcam/src/index.js

@@ -156,12 +156,16 @@ module.exports = class Webcam extends Plugin {
 
   startRecording () {
     const options = {}
-    const preferredVideoMimeType = this.opts.preferredVideoMimeType
 
-    // Attempt to use the passed preferredVideoMimeType (if any) during recording.
-    // If the browser doesn't support it, we'll fall back to the browser default instead
-    if (preferredVideoMimeType && MediaRecorder.isTypeSupported(preferredVideoMimeType) && getFileTypeExtension(preferredVideoMimeType)) {
-      options.mimeType = preferredVideoMimeType
+    // Safari don't have support for isTypeSupported api.
+    if (MediaRecorder.isTypeSupported) {
+      const preferredVideoMimeType = this.opts.preferredVideoMimeType
+
+      // Attempt to use the passed preferredVideoMimeType (if any) during recording.
+      // If the browser doesn't support it, we'll fall back to the browser default instead
+      if (preferredVideoMimeType && MediaRecorder.isTypeSupported(preferredVideoMimeType) && getFileTypeExtension(preferredVideoMimeType)) {
+        options.mimeType = preferredVideoMimeType
+      }
     }
 
     this.recorder = new MediaRecorder(this.stream, options)