blob: 1a24d9057fb2969361e8d75a1887cf35f3b2893d [file] [log] [blame]
Niels Möller0c4f7be2018-05-07 14:01:37 +02001/*
2 * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#ifndef API_TRANSPORT_BITRATE_SETTINGS_H_
12#define API_TRANSPORT_BITRATE_SETTINGS_H_
13
14#include "api/optional.h"
15
16namespace webrtc {
17
18// Configuration of send bitrate. The |start_bitrate_bps| value is
19// used for multiple purposes, both as a prior in the bandwidth
20// estimator, and for initial configuration of the encoder. We may
21// want to create separate apis for those, and use a smaller struct
22// with only the min and max constraints.
23struct BitrateSettings {
24 BitrateSettings();
25 ~BitrateSettings();
26 BitrateSettings(const BitrateSettings&);
27 // 0 <= min <= start <= max should hold for set parameters.
28 rtc::Optional<int> min_bitrate_bps;
29 rtc::Optional<int> start_bitrate_bps;
30 rtc::Optional<int> max_bitrate_bps;
31};
32
33} // namespace webrtc
34
35#endif // API_TRANSPORT_BITRATE_SETTINGS_H_