// 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;
    // aspectRatio is not implemented.
    // double aspectRatio;
    double frameRate;
    DOMString facingMode;
    // volume, sampleRate and sampleSize are not implemented.
    // double volume;
    // long sampleRate;
    // long sampleSize;
    // echoCancellation is not implemented: crbug.com/682245
    // boolean echoCancellation;
    // latency and channelCount are not implemented.
    // double latency;
    // long channelCount;
    DOMString deviceId;
    // groupId is not implemented.
    // DOMString groupId;
    // 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=MediaCaptureDepth] 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.
    [RuntimeEnabled=ImageCapture] DOMString         whiteBalanceMode;
    [RuntimeEnabled=ImageCapture] DOMString         exposureMode;
    [RuntimeEnabled=ImageCapture] DOMString         focusMode;
    [RuntimeEnabled=ImageCapture] sequence<Point2D> pointsOfInterest;
    [RuntimeEnabled=ImageCapture] double            exposureCompensation;
    [RuntimeEnabled=ImageCapture] double            colorTemperature;
    [RuntimeEnabled=ImageCapture] double            iso;
    [RuntimeEnabled=ImageCapture] double            brightness;
    [RuntimeEnabled=ImageCapture] double            contrast;
    [RuntimeEnabled=ImageCapture] double            saturation;
    [RuntimeEnabled=ImageCapture] double            sharpness;
    [RuntimeEnabled=ImageCapture] double            zoom;
    [RuntimeEnabled=ImageCapture] boolean           torch;
};
