blob: e43ee7e0deb0f00619e27fc9b6b56c79803e397a [file] [log] [blame]
eladalon4bb3b9c2017-09-11 07:25:26 -07001/*
2 * Copyright (c) 2017 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
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020011#ifndef LOGGING_RTC_EVENT_LOG_RTC_STREAM_CONFIG_H_
12#define LOGGING_RTC_EVENT_LOG_RTC_STREAM_CONFIG_H_
eladalon4bb3b9c2017-09-11 07:25:26 -070013
14#include <string>
15#include <vector>
16
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020017#include "api/rtpparameters.h"
Mirko Bonadei71207422017-09-15 13:58:09 +020018#include "common_types.h" // NOLINT(build/include)
eladalon4bb3b9c2017-09-11 07:25:26 -070019
20namespace webrtc {
21namespace rtclog {
22
23struct StreamConfig {
24 StreamConfig();
25 ~StreamConfig();
26
Elad Alon1d87b0e2017-10-03 15:01:03 +020027 bool operator==(const StreamConfig& other) const;
28
eladalon4bb3b9c2017-09-11 07:25:26 -070029 uint32_t local_ssrc = 0;
30 uint32_t remote_ssrc = 0;
31 uint32_t rtx_ssrc = 0;
32 std::string rsid;
33
34 bool remb = false;
35 std::vector<RtpExtension> rtp_extensions;
36
37 RtcpMode rtcp_mode = RtcpMode::kReducedSize;
38
39 struct Codec {
40 Codec(const std::string& payload_name,
41 int payload_type,
42 int rtx_payload_type);
43
Elad Alon1d87b0e2017-10-03 15:01:03 +020044 bool operator==(const Codec& other) const;
45
eladalon4bb3b9c2017-09-11 07:25:26 -070046 std::string payload_name;
47 int payload_type;
48 int rtx_payload_type;
49 };
50
51 std::vector<Codec> codecs;
52};
53
54} // namespace rtclog
55} // namespace webrtc
56
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020057#endif // LOGGING_RTC_EVENT_LOG_RTC_STREAM_CONFIG_H_