blob: f2030b36727587740cc43dcac5a79dac7f08cd78 [file] [log] [blame]
Vojin Ilic504fc192021-05-31 14:02:28 +02001/*
2 * Copyright (c) 2021 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 CALL_RTP_TRANSPORT_CONFIG_H_
12#define CALL_RTP_TRANSPORT_CONFIG_H_
13
14#include <memory>
15
Jonas Orelande62c2f22022-03-29 11:04:48 +020016#include "api/field_trials_view.h"
Vojin Ilic504fc192021-05-31 14:02:28 +020017#include "api/network_state_predictor.h"
18#include "api/rtc_event_log/rtc_event_log.h"
19#include "api/transport/bitrate_settings.h"
20#include "api/transport/network_control.h"
Vojin Ilic504fc192021-05-31 14:02:28 +020021#include "rtc_base/task_queue.h"
22
23namespace webrtc {
24
25struct RtpTransportConfig {
26 // Bitrate config used until valid bitrate estimates are calculated. Also
27 // used to cap total bitrate used. This comes from the remote connection.
28 BitrateConstraints bitrate_config;
29
30 // RtcEventLog to use for this call. Required.
31 // Use webrtc::RtcEventLog::CreateNull() for a null implementation.
32 RtcEventLog* event_log = nullptr;
33
34 // Task Queue Factory to be used in this call. Required.
35 TaskQueueFactory* task_queue_factory = nullptr;
36
37 // NetworkStatePredictor to use for this call.
38 NetworkStatePredictorFactoryInterface* network_state_predictor_factory =
39 nullptr;
40
41 // Network controller factory to use for this call.
42 NetworkControllerFactoryInterface* network_controller_factory = nullptr;
43
44 // Key-value mapping of internal configurations to apply,
45 // e.g. field trials.
Jonas Orelande62c2f22022-03-29 11:04:48 +020046 const FieldTrialsView* trials = nullptr;
Vojin Ilic504fc192021-05-31 14:02:28 +020047};
48} // namespace webrtc
49
50#endif // CALL_RTP_TRANSPORT_CONFIG_H_