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 "api/rtp_headers.h" 20 #include "api/rtp_parameters.h" 21 22 namespace webrtc { 23 namespace rtclog { 24 25 struct StreamConfig { 26 StreamConfig(); 27 StreamConfig(const StreamConfig& other); 28 ~StreamConfig(); 29 30 bool operator==(const StreamConfig& other) const; 31 bool operator!=(const StreamConfig& other) const; 32 33 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 48 bool operator==(const Codec& other) const; 49 50 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 61 #endif // LOGGING_RTC_EVENT_LOG_RTC_STREAM_CONFIG_H_ 62