blob: a81249aebf83857791ebfce9bd2c50a4e6110f98 [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
Yves Gerey988cc082018-10-23 12:03:01 +020014#include <stdint.h>
Jonas Olssona4d87372019-07-05 19:08:33 +020015
eladalon4bb3b9c2017-09-11 07:25:26 -070016#include <string>
17#include <vector>
18
Patrik Höglund3e113432017-12-15 14:40:10 +010019#include "api/rtp_headers.h"
Steve Anton10542f22019-01-11 09:11:00 -080020#include "api/rtp_parameters.h"
eladalon4bb3b9c2017-09-11 07:25:26 -070021
22namespace webrtc {
23namespace rtclog {
24
25struct StreamConfig {
26 StreamConfig();
Bjorn Tereliusf4db5422018-06-26 11:41:27 +020027 StreamConfig(const StreamConfig& other);
eladalon4bb3b9c2017-09-11 07:25:26 -070028 ~StreamConfig();
29
Elad Alon1d87b0e2017-10-03 15:01:03 +020030 bool operator==(const StreamConfig& other) const;
Bjorn Tereliusf4db5422018-06-26 11:41:27 +020031 bool operator!=(const StreamConfig& other) const;
Elad Alon1d87b0e2017-10-03 15:01:03 +020032
eladalon4bb3b9c2017-09-11 07:25:26 -070033 uint32_t local_ssrc = 0;
34 uint32_t remote_ssrc = 0;
35 uint32_t rtx_ssrc = 0;
36 std::string rsid;
37
38 bool remb = false;
39 std::vector<RtpExtension> rtp_extensions;
40
41 RtcpMode rtcp_mode = RtcpMode::kReducedSize;
42
43 struct Codec {
44 Codec(const std::string& payload_name,
45 int payload_type,
46 int rtx_payload_type);
47
Elad Alon1d87b0e2017-10-03 15:01:03 +020048 bool operator==(const Codec& other) const;
49
eladalon4bb3b9c2017-09-11 07:25:26 -070050 std::string payload_name;
51 int payload_type;
52 int rtx_payload_type;
53 };
54
55 std::vector<Codec> codecs;
56};
57
58} // namespace rtclog
59} // namespace webrtc
60
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020061#endif // LOGGING_RTC_EVENT_LOG_RTC_STREAM_CONFIG_H_