blob: 771ba66c6a448eb98500b686cd1a71d629088e72 [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
Patrik Höglund3e113432017-12-15 14:40:10 +010017#include "api/rtp_headers.h"
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020018#include "api/rtpparameters.h"
Mirko Bonadei71207422017-09-15 13:58:09 +020019#include "common_types.h" // NOLINT(build/include)
eladalon4bb3b9c2017-09-11 07:25:26 -070020
21namespace webrtc {
22namespace rtclog {
23
24struct StreamConfig {
25 StreamConfig();
26 ~StreamConfig();
27
Elad Alon1d87b0e2017-10-03 15:01:03 +020028 bool operator==(const StreamConfig& other) const;
29
eladalon4bb3b9c2017-09-11 07:25:26 -070030 uint32_t local_ssrc = 0;
31 uint32_t remote_ssrc = 0;
32 uint32_t rtx_ssrc = 0;
33 std::string rsid;
34
35 bool remb = false;
36 std::vector<RtpExtension> rtp_extensions;
37
38 RtcpMode rtcp_mode = RtcpMode::kReducedSize;
39
40 struct Codec {
41 Codec(const std::string& payload_name,
42 int payload_type,
43 int rtx_payload_type);
44
Elad Alon1d87b0e2017-10-03 15:01:03 +020045 bool operator==(const Codec& other) const;
46
eladalon4bb3b9c2017-09-11 07:25:26 -070047 std::string payload_name;
48 int payload_type;
49 int rtx_payload_type;
50 };
51
52 std::vector<Codec> codecs;
53};
54
55} // namespace rtclog
56} // namespace webrtc
57
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020058#endif // LOGGING_RTC_EVENT_LOG_RTC_STREAM_CONFIG_H_