blob: 04a3f33f9382e540c57d15343b5873d39051a8bf [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/getusermedia.html#idl-def-MediaTrackConstraintSet
typedef ConstrainLongRange ConstrainLong;
typedef ConstrainDoubleRange ConstrainDouble;
typedef ConstrainBooleanParameters ConstrainBoolean;
typedef ConstrainDOMStringParameters ConstrainDOMString;
// The spec says that the typedefs should be:
// typedef (long or ConstrainLongRange) ConstrainLong;
// typedef (double or ConstrainDoubleRange) ConstrainDouble;
// typedef (boolean or ConstrainBooleanParameters) ConstrainBoolean;
// typedef (DOMString or sequence<DOMString> or ConstrainDomStringParameters) ConstrainDomString;
// This is blocked on https://crbug.com/524424
dictionary MediaTrackConstraintSet {
[RuntimeEnabled=MediaConstraints] ConstrainLong width;
[RuntimeEnabled=MediaConstraints] ConstrainLong height;
[RuntimeEnabled=MediaConstraints] ConstrainDouble aspectRatio;
[RuntimeEnabled=MediaConstraints] ConstrainDouble frameRate;
[RuntimeEnabled=MediaConstraints] ConstrainDOMString facingMode;
[RuntimeEnabled=MediaConstraints] ConstrainDouble volume;
[RuntimeEnabled=MediaConstraints] ConstrainLong sampleRate;
[RuntimeEnabled=MediaConstraints] ConstrainLong sampleSize;
[RuntimeEnabled=MediaConstraints] ConstrainBoolean echoCancellation;
[RuntimeEnabled=MediaConstraints] ConstrainDouble latency;
[RuntimeEnabled=MediaConstraints] ConstrainLong channelCount;
[RuntimeEnabled=MediaConstraints] ConstrainDOMString deviceId;
[RuntimeEnabled=MediaConstraints] ConstrainDOMString groupId;
// 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;
};