1 /* 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 11 #ifndef LOGGING_RTC_EVENT_LOG_RTC_STREAM_CONFIG_H_ 12 #define LOGGING_RTC_EVENT_LOG_RTC_STREAM_CONFIG_H_ 13 14 #include <stdint.h> 15 16 #include <string> 17 #include <vector> 18 19 #include "absl/strings/string_view.h" 20 #include "api/rtp_headers.h" 21 #include "api/rtp_parameters.h" 22 23 namespace webrtc { 24 namespace rtclog { 25 26 struct StreamConfig { 27 StreamConfig(); 28 StreamConfig(const StreamConfig& other); 29 ~StreamConfig(); 30 31 bool operator==(const StreamConfig& other) const; 32 bool operator!=(const StreamConfig& other) const; 33 34 uint32_t local_ssrc = 0; 35 uint32_t remote_ssrc = 0; 36 uint32_t rtx_ssrc = 0; 37 std::string rsid; 38 39 bool remb = false; 40 std::vector<RtpExtension> rtp_extensions; 41 42 RtcpMode rtcp_mode = RtcpMode::kReducedSize; 43 44 struct Codec { 45 Codec(absl::string_view payload_name, 46 int payload_type, 47 int rtx_payload_type); 48 49 bool operator==(const Codec& other) const; 50 51 std::string payload_name; 52 int payload_type; 53 int rtx_payload_type; 54 }; 55 56 std::vector<Codec> codecs; 57 }; 58 59 } // namespace rtclog 60 } // namespace webrtc 61 62 #endif // LOGGING_RTC_EVENT_LOG_RTC_STREAM_CONFIG_H_ 63