blob: 6be0d99be9da46d4c0e96a04f7dc2cf11a7bc657 [file] [log] [blame]
// Copyright 2015 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-mediatrackconstraintset
typedef (long or ConstrainLongRange) ConstrainLong;
typedef (double or ConstrainDoubleRange) ConstrainDouble;
typedef (boolean or ConstrainBooleanParameters) ConstrainBoolean;
typedef (DOMString or sequence<DOMString> or ConstrainDOMStringParameters) ConstrainDOMString;
typedef (sequence<Point2D> or ConstrainPoint2DParameters) ConstrainPoint2D;
dictionary MediaTrackConstraintSet {
ConstrainLong width;
ConstrainLong height;
ConstrainDouble aspectRatio;
ConstrainDouble frameRate;
ConstrainDOMString facingMode;
ConstrainDouble volume;
ConstrainLong sampleRate;
ConstrainLong sampleSize;
ConstrainBoolean echoCancellation;
ConstrainDouble latency;
ConstrainLong channelCount;
ConstrainDOMString deviceId;
ConstrainDOMString groupId;
// Media Capture Depth Stream Extensions
// https://w3c.github.io/mediacapture-depth/#mediatrackconstraints
// 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=MediaCaptureDepth] ConstrainDOMString videoKind;
[RuntimeEnabled=MediaCaptureDepth] ConstrainDouble depthNear;
[RuntimeEnabled=MediaCaptureDepth] ConstrainDouble depthFar;
[RuntimeEnabled=MediaCaptureDepth] ConstrainDouble focalLengthX;
[RuntimeEnabled=MediaCaptureDepth] ConstrainDouble focalLengthY;
// W3C Image Capture API
// https://w3c.github.io/mediacapture-image/#mediatrackconstraintset-section
// TODO(mcasas) move out when partial dictionaries are supported
// http://crbug.com/579896.
[OriginTrialEnabled=ImageCapture] ConstrainDOMString whiteBalanceMode;
[OriginTrialEnabled=ImageCapture] ConstrainDOMString exposureMode;
[OriginTrialEnabled=ImageCapture] ConstrainDOMString focusMode;
[OriginTrialEnabled=ImageCapture] ConstrainPoint2D pointsOfInterest;
[OriginTrialEnabled=ImageCapture] ConstrainDouble exposureCompensation;
[OriginTrialEnabled=ImageCapture] ConstrainDouble colorTemperature;
[OriginTrialEnabled=ImageCapture] ConstrainDouble iso;
[OriginTrialEnabled=ImageCapture] ConstrainDouble brightness;
[OriginTrialEnabled=ImageCapture] ConstrainDouble contrast;
[OriginTrialEnabled=ImageCapture] ConstrainDouble saturation;
[OriginTrialEnabled=ImageCapture] ConstrainDouble sharpness;
[OriginTrialEnabled=ImageCapture] ConstrainDouble zoom;
[OriginTrialEnabled=ImageCapture] ConstrainBoolean torch;
// The "mandatory" and "_optional" members are retained for conformance
// with https://www.w3.org/TR/2013/WD-mediacapture-streams-20130903/
Dictionary mandatory;
sequence<Dictionary> _optional;
};