rtc_stream_config.h 1.5 KB

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