// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// https://w3c.github.io/mediacapture-main/#idl-def-mediatracksettings
dictionary MediaTrackSettings {
long width;
long height;
double aspectRatio;
double frameRate;
DOMString facingMode;
DOMString resizeMode;
long sampleRate;
long sampleSize;
boolean echoCancellation;
boolean autoGainControl;
boolean noiseSuppression;
boolean voiceIsolation;
double latency;
long channelCount;
DOMString deviceId;
DOMString groupId;
// W3C Image Capture API
// https://w3c.github.io/mediacapture-image/#mediatracksettings-section
// TODO(mcasas) move out when partial dictionaries are supported
// http://crbug.com/579896.
DOMString whiteBalanceMode;
DOMString exposureMode;
DOMString focusMode;
sequence<Point2D> pointsOfInterest;
double exposureCompensation;
double exposureTime;
double colorTemperature;
double iso;
double brightness;
double contrast;
double saturation;
double sharpness;
double focusDistance;
double pan;
double tilt;
double zoom;
boolean torch;
// W3C Media Capture Extensions
[RuntimeEnabled=MediaCaptureBackgroundBlur] boolean backgroundBlur;
[RuntimeEnabled=MediaCaptureCameraControls] boolean backgroundSegmentationMask;
[RuntimeEnabled=MediaCaptureCameraControls] boolean eyeGazeCorrection;
[RuntimeEnabled=MediaCaptureCameraControls] boolean faceFraming;
// Screen Capture API
// https://w3c.github.io/mediacapture-screen-share/#extensions-to-mediatracksettings
[RuntimeEnabled=GetDisplayMedia] DOMString displaySurface;
[RuntimeEnabled=GetDisplayMedia] boolean logicalSurface;
[RuntimeEnabled=GetDisplayMedia] DOMString cursor;
[RuntimeEnabled=GetDisplayMedia] boolean suppressLocalAudioPlayback;
};