{
  "api": {
    "MediaDevices": {
      "__compat": {
        "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices",
        "support": {
          "chrome": {
            "version_added": "47"
          },
          "chrome_android": {
            "version_added": "47"
          },
          "edge": {
            "version_added": "≤18"
          },
          "firefox": {
            "version_added": "33"
          },
          "firefox_android": {
            "version_added": "36"
          },
          "ie": {
            "version_added": false
          },
          "opera": {
            "version_added": "30"
          },
          "opera_android": {
            "version_added": "30"
          },
          "safari": {
            "version_added": "11"
          },
          "safari_ios": {
            "version_added": "11"
          },
          "samsunginternet_android": {
            "version_added": "5.0"
          },
          "webview_android": {
            "version_added": "47"
          }
        },
        "status": {
          "experimental": false,
          "standard_track": true,
          "deprecated": false
        }
      },
      "devicechange_event": {
        "__compat": {
          "description": "<code>devicechange</code> event",
          "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/devicechange_event",
          "support": {
            "chrome": {
              "version_added": "57"
            },
            "chrome_android": {
              "version_added": false
            },
            "edge": {
              "version_added": "12"
            },
            "firefox": {
              "version_added": "52"
            },
            "firefox_android": {
              "version_added": null
            },
            "ie": {
              "version_added": false
            },
            "opera": {
              "version_added": "34"
            },
            "opera_android": {
              "version_added": "43"
            },
            "safari": {
              "version_added": false
            },
            "safari_ios": {
              "version_added": false
            },
            "samsunginternet_android": {
              "version_added": false
            },
            "webview_android": {
              "version_added": false
            }
          },
          "status": {
            "experimental": false,
            "standard_track": true,
            "deprecated": false
          }
        }
      },
      "enumerateDevices": {
        "__compat": {
          "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/enumerateDevices",
          "support": {
            "chrome": {
              "version_added": "47"
            },
            "chrome_android": {
              "version_added": "47"
            },
            "edge": {
              "version_added": "12"
            },
            "firefox": [
              {
                "version_added": "63",
                "flags": [
                  {
                    "type": "preference",
                    "name": "media.setsinkid.enabled",
                    "value_to_set": "true"
                  }
                ],
                "notes": "Prior to Firefox 63, <code>enumerateDevices()</code> only returned input devices. Starting with Firefox 63, output devices are also included if the <code>media.setsinkid.enabled</code> preference is enabled."
              },
              {
                "version_added": "39"
              }
            ],
            "firefox_android": [
              {
                "version_added": "63",
                "flags": [
                  {
                    "type": "preference",
                    "name": "media.setsinkid.enabled",
                    "value_to_set": "true"
                  }
                ],
                "notes": "Prior to Firefox 63, <code>enumerateDevices()</code> only returned input devices. Starting with Firefox 63, output devices are also included if the <code>media.setsinkid.enabled</code> preference is enabled."
              },
              {
                "version_added": "39"
              }
            ],
            "ie": {
              "version_added": false
            },
            "opera": {
              "version_added": "34"
            },
            "opera_android": {
              "version_added": "34"
            },
            "safari": {
              "version_added": "11"
            },
            "safari_ios": {
              "version_added": "11"
            },
            "samsunginternet_android": {
              "version_added": "5.0"
            },
            "webview_android": {
              "version_added": "47"
            }
          },
          "status": {
            "experimental": false,
            "standard_track": true,
            "deprecated": false
          }
        }
      },
      "getDisplayMedia": {
        "__compat": {
          "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/getDisplayMedia",
          "description": "<code>getDisplayMedia()</code>",
          "support": {
            "chrome": [
              {
                "version_added": "72"
              },
              {
                "version_added": "70",
                "version_removed": "72",
                "flags": [
                  {
                    "type": "preference",
                    "name": "Experimental Web Platform features",
                    "value_to_set": "Enabled"
                  }
                ],
                "notes": "Available as a member of <code>Navigator</code> instead of <code>MediaDevices</code> in Chrome 70 and 71."
              }
            ],
            "chrome_android": {
              "version_added": false
            },
            "edge": [
              {
                "version_added": "79"
              },
              {
                "version_added": "17",
                "notes": "Available as a member of <code>Navigator</code> instead of <code>MediaDevices</code>."
              }
            ],
            "firefox": [
              {
                "version_added": "66"
              },
              {
                "version_added": "33",
                "version_removed": "66",
                "notes": "Since Firefox 33 you can capture screen data using <code><a href='https://developer.mozilla.org/docs/Web/API/MediaDevices/getUserMedia'>getUserMedia()</a></code>, with a <code>video</code> constraint called <code>mediaSource</code>. Prior to 52 it relied on a client-configurable list of allowed sites."
              }
            ],
            "firefox_android": {
              "version_added": false,
              "notes": "API is available, but will always fail with <code>NotAllowedError</code>."
            },
            "ie": {
              "version_added": false
            },
            "opera": [
              {
                "version_added": "60"
              },
              {
                "version_added": "57",
                "version_removed": "60",
                "flags": [
                  {
                    "type": "preference",
                    "name": "Experimental Web Platform features",
                    "value_to_set": "Enabled"
                  }
                ],
                "notes": "Available as a member of <code>Navigator</code> instead of <code>MediaDevices</code> in Opera 57 and 58."
              }
            ],
            "opera_android": {
              "version_added": false
            },
            "safari": {
              "version_added": "13"
            },
            "safari_ios": {
              "version_added": false
            },
            "samsunginternet_android": {
              "version_added": false
            },
            "webview_android": {
              "version_added": false,
              "notes": "API is available, but will always fail with <code>NotAllowedError</code>."
            }
          },
          "status": {
            "experimental": false,
            "standard_track": true,
            "deprecated": false
          }
        },
        "audio-capture-support": {
          "__compat": {
            "mdn_url": "https://developer.mozilla.org/docs/Web/API/Screen_Capture_API/Using_Screen_Capture#Capturing_shared_audio",
            "description": "Audio capture support",
            "support": {
              "chrome": {
                "version_added": "74",
                "notes": "On Windows and Chrome OS the entire system audio can be captured, but on Linux and Mac only the audio of a tab can be captured."
              },
              "chrome_android": {
                "version_added": false
              },
              "edge": {
                "version_added": "≤79",
                "notes": "On Windows and Edge OS the entire system audio can be captured, but on Linux and Mac only the audio of a tab can be captured."
              },
              "firefox": {
                "version_added": false
              },
              "firefox_android": {
                "version_added": false
              },
              "ie": {
                "version_added": false
              },
              "opera": {
                "version_added": null
              },
              "opera_android": {
                "version_added": false
              },
              "safari": {
                "version_added": false
              },
              "safari_ios": {
                "version_added": false
              },
              "samsunginternet_android": {
                "version_added": false
              },
              "webview_android": {
                "version_added": false
              }
            },
            "status": {
              "experimental": false,
              "standard_track": true,
              "deprecated": false
            }
          }
        }
      },
      "getSupportedConstraints": {
        "__compat": {
          "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/getSupportedConstraints",
          "support": {
            "chrome": {
              "version_added": "53"
            },
            "chrome_android": {
              "version_added": "52"
            },
            "edge": {
              "version_added": "12"
            },
            "firefox": {
              "version_added": "44"
            },
            "firefox_android": {
              "version_added": "50"
            },
            "ie": {
              "version_added": false
            },
            "opera": {
              "version_added": "40"
            },
            "opera_android": {
              "version_added": "41"
            },
            "safari": {
              "version_added": "11"
            },
            "safari_ios": {
              "version_added": "11"
            },
            "samsunginternet_android": {
              "version_added": "6.0"
            },
            "webview_android": {
              "version_added": "53"
            }
          },
          "status": {
            "experimental": false,
            "standard_track": true,
            "deprecated": false
          }
        }
      },
      "getUserMedia": {
        "__compat": {
          "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/getUserMedia",
          "support": {
            "chrome": [
              {
                "version_added": "52"
              },
              {
                "version_added": "47",
                "version_removed": "52",
                "flags": [
                  {
                    "type": "preference",
                    "name": "Experimental Web Platform features",
                    "value_to_set": "Enabled"
                  }
                ],
                "notes": "Older versions of Chrome implement <code>navigator.webkitGetUserMedia</code>, a prefixed form of the legacy <a href='https://developer.mozilla.org/docs/Web/API/Navigator/getUserMedia'><code>navigator.getUserMedia</code></a> API."
              }
            ],
            "chrome_android": [
              {
                "version_added": "52"
              },
              {
                "version_added": "47",
                "version_removed": "52",
                "flags": [
                  {
                    "type": "preference",
                    "name": "Experimental Web Platform features",
                    "value_to_set": "Enabled"
                  }
                ],
                "notes": "Older versions of Chrome implement <code>navigator.webkitGetUserMedia</code>, a prefixed form of the legacy <a href='https://developer.mozilla.org/docs/Web/API/Navigator/getUserMedia'><code>navigator.getUserMedia</code></a> API."
              }
            ],
            "edge": {
              "version_added": "12"
            },
            "firefox": {
              "version_added": "36",
              "notes": [
                "Older versions of Firefox implement <code>navigator.mozGetUserMedia</code>, a prefixed form of the legacy <a href='https://developer.mozilla.org/docs/Web/API/Navigator/getUserMedia'><code>navigator.getUserMedia</code></a> API.",
                "Before Firefox 55, <code>getUserMedia()</code> incorrectly returns <code>NotSupportedError</code> when the list of constraints specified is empty, or has all constraints set to <code>false</code>. Starting in Firefox 55, this situation now correctly calls the failure handler with a <code>TypeError</code>.",
                "When using the Firefox-specific <code>video</code> constraint called <code>mediaSource</code> to request display capture, Firefox 66 and later consider values of <code>screen</code> and <code>window</code> to both cause a list of screens <em>and</em> windows to be shown.",
                "Starting in Firefox 66, <code>getUserMedia()</code> can no longer be used in sandboxed <code>&lt;iframe&gt;</code>s or <code>data</code> URLs entered in the address bar by the user."
              ]
            },
            "firefox_android": {
              "version_added": "36",
              "notes": [
                "Older versions of Firefox implement <code>navigator.mozGetUserMedia</code>, a prefixed form of the legacy <a href='https://developer.mozilla.org/docs/Web/API/Navigator/getUserMedia'><code>navigator.getUserMedia</code></a> API.",
                "Before Firefox 55, <code>getUserMedia()</code> incorrectly returns <code>NotSupportedError</code> when the list of constraints specified is empty, or has all constraints set to <code>false</code>. Starting in Firefox 55, this situation now correctly calls the failure handler with a <code>TypeError</code>.",
                "When using the Firefox-specific <code>video</code> constraint called <code>mediaSource</code> to request display capture, Firefox 66 and later consider values of <code>screen</code> and <code>window</code> to both cause a list of screens <em>and</em> windows to be shown.",
                "Starting in Firefox 66, <code>getUserMedia()</code> can no longer be used in sandboxed <code>&lt;iframe&gt;</code>s or <code>data</code> URLs entered in the address bar by the user."
              ]
            },
            "ie": {
              "version_added": false
            },
            "opera": [
              {
                "version_added": "40"
              },
              {
                "version_added": "34",
                "version_removed": "40",
                "flags": [
                  {
                    "type": "preference",
                    "name": "Experimental Web Platform features",
                    "value_to_set": "Enabled"
                  }
                ],
                "notes": "Older versions of Opera implement <code>navigator.webkitGetUserMedia</code>, a prefixed form of the legacy <a href='https://developer.mozilla.org/docs/Web/API/Navigator/getUserMedia'><code>navigator.getUserMedia</code></a> API."
              }
            ],
            "opera_android": [
              {
                "version_added": "41"
              },
              {
                "version_added": "34",
                "version_removed": "41",
                "flags": [
                  {
                    "type": "preference",
                    "name": "Experimental Web Platform features",
                    "value_to_set": "Enabled"
                  }
                ],
                "notes": "Older versions of Opera implement <code>navigator.webkitGetUserMedia</code>, a prefixed form of the legacy <a href='https://developer.mozilla.org/docs/Web/API/Navigator/getUserMedia'><code>navigator.getUserMedia</code></a> API."
              }
            ],
            "safari": {
              "version_added": "11"
            },
            "safari_ios": {
              "version_added": "11"
            },
            "samsunginternet_android": {
              "version_added": "6.0"
            },
            "webview_android": {
              "version_added": "53"
            }
          },
          "status": {
            "experimental": false,
            "standard_track": true,
            "deprecated": false
          }
        },
        "secure_context_required": {
          "__compat": {
            "description": "Secure context required",
            "support": {
              "chrome": {
                "version_added": true
              },
              "chrome_android": {
                "version_added": true
              },
              "edge": {
                "version_added": "79"
              },
              "firefox": {
                "version_added": "68"
              },
              "firefox_android": {
                "version_added": "68"
              },
              "ie": {
                "version_added": false
              },
              "opera": {
                "version_added": null
              },
              "opera_android": {
                "version_added": null
              },
              "safari": {
                "version_added": null
              },
              "safari_ios": {
                "version_added": null
              },
              "samsunginternet_android": {
                "version_added": true
              },
              "webview_android": {
                "version_added": true
              }
            },
            "status": {
              "experimental": false,
              "standard_track": true,
              "deprecated": false
            }
          }
        }
      },
      "ondevicechange": {
        "__compat": {
          "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaDevices/ondevicechange",
          "support": {
            "chrome": {
              "version_added": "57"
            },
            "chrome_android": {
              "version_added": false
            },
            "edge": {
              "version_added": "12"
            },
            "firefox": [
              {
                "version_added": "52"
              },
              {
                "version_added": "51",
                "version_removed": "52",
                "flags": [
                  {
                    "type": "preference",
                    "name": "media.ondevicechange.enabled",
                    "value_to_set": "true"
                  }
                ],
                "notes": "<code>MediaDevices.ondevicechange</code> is supported only on macOS."
              }
            ],
            "firefox_android": {
              "version_added": true
            },
            "ie": {
              "version_added": false
            },
            "opera": {
              "version_added": "34"
            },
            "opera_android": {
              "version_added": "34"
            },
            "safari": {
              "version_added": false
            },
            "safari_ios": {
              "version_added": false
            },
            "samsunginternet_android": {
              "version_added": false
            },
            "webview_android": {
              "version_added": false
            }
          },
          "status": {
            "experimental": false,
            "standard_track": true,
            "deprecated": false
          }
        }
      },
      "stereo_audio_capture": {
        "__compat": {
          "description": "Stereo audio capture",
          "support": {
            "chrome": {
              "version_added": null
            },
            "chrome_android": {
              "version_added": null
            },
            "edge": {
              "version_added": null
            },
            "firefox": {
              "version_added": "55"
            },
            "firefox_android": {
              "version_added": false
            },
            "ie": {
              "version_added": false
            },
            "opera": {
              "version_added": null
            },
            "opera_android": {
              "version_added": null
            },
            "safari": {
              "version_added": false
            },
            "safari_ios": {
              "version_added": false
            },
            "samsunginternet_android": {
              "version_added": null
            },
            "webview_android": {
              "version_added": null
            }
          },
          "status": {
            "experimental": false,
            "standard_track": true,
            "deprecated": false
          }
        }
      }
    }
  }
}
