chromium/third_party/blink/renderer/modules/mediastream/media_track_capabilities.idl

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

dictionary MediaTrackCapabilities {
    LongRange width;
    LongRange height;
    DoubleRange aspectRatio;
    DoubleRange frameRate;
    sequence<DOMString> facingMode;
    sequence<DOMString> resizeMode;
    sequence<boolean> echoCancellation;
    sequence<boolean> autoGainControl;
    sequence<boolean> noiseSuppression;
    sequence<boolean> voiceIsolation;
    LongRange sampleSize;
    LongRange channelCount;
    LongRange sampleRate;
    DoubleRange latency;
    DOMString deviceId;
    DOMString groupId;
    // W3C Image Capture API
    // https://w3c.github.io/mediacapture-image/#mediatrackcapabilities-section
    // TODO(mcasas) move out when partial dictionaries are supported
    // http://crbug.com/579896.
    sequence<DOMString>  whiteBalanceMode;
    sequence<DOMString>  exposureMode;
    sequence<DOMString>  focusMode;
    MediaSettingsRange   exposureCompensation;
    MediaSettingsRange   exposureTime;
    MediaSettingsRange   colorTemperature;
    MediaSettingsRange   iso;
    MediaSettingsRange   brightness;
    MediaSettingsRange   contrast;
    MediaSettingsRange   saturation;
    MediaSettingsRange   sharpness;
    MediaSettingsRange   focusDistance;
    MediaSettingsRange   pan;
    MediaSettingsRange   tilt;
    MediaSettingsRange   zoom;
    boolean              torch;
    // W3C Media Capture Extensions
    [RuntimeEnabled=MediaCaptureBackgroundBlur] sequence<boolean> backgroundBlur;
    [RuntimeEnabled=MediaCaptureCameraControls] sequence<boolean> backgroundSegmentationMask;
    [RuntimeEnabled=MediaCaptureCameraControls] sequence<boolean> eyeGazeCorrection;
    [RuntimeEnabled=MediaCaptureCameraControls] sequence<boolean> faceFraming;
    // Screen Capture API
    // https://w3c.github.io/mediacapture-screen-share
    [RuntimeEnabled=GetDisplayMedia] DOMString displaySurface;
};