chromium/third_party/blink/renderer/modules/mediarecorder/media_recorder_options.idl

// Copyright 2015 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-record/#mediarecorderoptions-section

enum BitrateMode { "constant", "variable" };

dictionary MediaRecorderOptions {
    DOMString mimeType = "";  // Encoding mimeType.

    // TODO(mcasas): Consider changing the following options to signed: https://github.com/w3c/mediacapture-record/issues/48, and/or using [EnforceRange]/[Clamp].
    unsigned long audioBitsPerSecond;
    unsigned long videoBitsPerSecond;
    unsigned long bitsPerSecond;
    BitrateMode audioBitrateMode = "variable";
    DOMHighResTimeStamp videoKeyFrameIntervalDuration;
    unsigned long videoKeyFrameIntervalCount;
};