blob: f9913d842075d68d0ab9ac24c7b99357ebaf02fe [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// 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;
double volume;
long sampleRate;
long sampleSize;
boolean echoCancellation;
boolean autoGainControl;
boolean noiseSuppression;
double latency;
long channelCount;
DOMString deviceId;
DOMString groupId;
[OriginTrialEnabled=ExperimentalHardwareEchoCancellation] DOMString echoCancellationType;
// Media Capture Depth Stream Extensions
// https://w3c.github.io/mediacapture-depth/#mediatracksettings-dictionary
// TODO(aleksandar.stojiljkovic): videoKind, depthNear, depthFar,
// focalLengthX and focalLengthY attributes should be declared as partial
// dictionary but IDL parser can't support it yet. http://crbug.com/579896.
[RuntimeEnabled=MediaCaptureDepthVideoKind] DOMString videoKind;
[RuntimeEnabled=MediaCaptureDepth] double depthNear;
[RuntimeEnabled=MediaCaptureDepth] double depthFar;
[RuntimeEnabled=MediaCaptureDepth] double focalLengthX;
[RuntimeEnabled=MediaCaptureDepth] double focalLengthY;
// 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 colorTemperature;
double iso;
double brightness;
double contrast;
double saturation;
double sharpness;
double zoom;
boolean torch;
// Screen Capture API
// https://w3c.github.io/mediacapture-screen-share
[RuntimeEnabled=GetDisplayMedia] DOMString displaySurface;
[RuntimeEnabled=GetDisplayMedia] boolean logicalSurface;
[RuntimeEnabled=GetDisplayMedia] DOMString cursor;
};