mock_rtp_rtcp.h 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. /*
  2. * Copyright (c) 2012 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 MODULES_RTP_RTCP_MOCKS_MOCK_RTP_RTCP_H_
  11. #define MODULES_RTP_RTCP_MOCKS_MOCK_RTP_RTCP_H_
  12. #include <memory>
  13. #include <set>
  14. #include <string>
  15. #include <utility>
  16. #include <vector>
  17. #include "absl/types/optional.h"
  18. #include "api/video/video_bitrate_allocation.h"
  19. #include "modules/include/module.h"
  20. #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
  21. #include "modules/rtp_rtcp/source/rtp_packet_to_send.h"
  22. #include "modules/rtp_rtcp/source/rtp_rtcp_interface.h"
  23. #include "test/gmock.h"
  24. namespace webrtc {
  25. class MockRtpRtcpInterface : public RtpRtcpInterface {
  26. public:
  27. MOCK_METHOD(void,
  28. IncomingRtcpPacket,
  29. (const uint8_t* incoming_packet, size_t packet_length),
  30. (override));
  31. MOCK_METHOD(void, SetRemoteSSRC, (uint32_t ssrc), (override));
  32. MOCK_METHOD(void, SetMaxRtpPacketSize, (size_t size), (override));
  33. MOCK_METHOD(size_t, MaxRtpPacketSize, (), (const, override));
  34. MOCK_METHOD(void,
  35. RegisterSendPayloadFrequency,
  36. (int payload_type, int frequency),
  37. (override));
  38. MOCK_METHOD(int32_t,
  39. DeRegisterSendPayload,
  40. (int8_t payload_type),
  41. (override));
  42. MOCK_METHOD(void, SetExtmapAllowMixed, (bool extmap_allow_mixed), (override));
  43. MOCK_METHOD(void,
  44. RegisterRtpHeaderExtension,
  45. (absl::string_view uri, int id),
  46. (override));
  47. MOCK_METHOD(int32_t,
  48. DeregisterSendRtpHeaderExtension,
  49. (RTPExtensionType type),
  50. (override));
  51. MOCK_METHOD(void,
  52. DeregisterSendRtpHeaderExtension,
  53. (absl::string_view uri),
  54. (override));
  55. MOCK_METHOD(bool, SupportsPadding, (), (const, override));
  56. MOCK_METHOD(bool, SupportsRtxPayloadPadding, (), (const, override));
  57. MOCK_METHOD(uint32_t, StartTimestamp, (), (const, override));
  58. MOCK_METHOD(void, SetStartTimestamp, (uint32_t timestamp), (override));
  59. MOCK_METHOD(uint16_t, SequenceNumber, (), (const, override));
  60. MOCK_METHOD(void, SetSequenceNumber, (uint16_t seq), (override));
  61. MOCK_METHOD(void, SetRtpState, (const RtpState& rtp_state), (override));
  62. MOCK_METHOD(void, SetRtxState, (const RtpState& rtp_state), (override));
  63. MOCK_METHOD(RtpState, GetRtpState, (), (const, override));
  64. MOCK_METHOD(RtpState, GetRtxState, (), (const, override));
  65. MOCK_METHOD(uint32_t, SSRC, (), (const, override));
  66. MOCK_METHOD(void, SetRid, (const std::string& rid), (override));
  67. MOCK_METHOD(void, SetMid, (const std::string& mid), (override));
  68. MOCK_METHOD(void, SetCsrcs, (const std::vector<uint32_t>& csrcs), (override));
  69. MOCK_METHOD(void, SetRtxSendStatus, (int modes), (override));
  70. MOCK_METHOD(int, RtxSendStatus, (), (const, override));
  71. MOCK_METHOD(absl::optional<uint32_t>, RtxSsrc, (), (const, override));
  72. MOCK_METHOD(void, SetRtxSendPayloadType, (int, int), (override));
  73. MOCK_METHOD(absl::optional<uint32_t>, FlexfecSsrc, (), (const, override));
  74. MOCK_METHOD(int32_t, SetSendingStatus, (bool sending), (override));
  75. MOCK_METHOD(bool, Sending, (), (const, override));
  76. MOCK_METHOD(void, SetSendingMediaStatus, (bool sending), (override));
  77. MOCK_METHOD(bool, SendingMedia, (), (const, override));
  78. MOCK_METHOD(bool, IsAudioConfigured, (), (const, override));
  79. MOCK_METHOD(void, SetAsPartOfAllocation, (bool), (override));
  80. MOCK_METHOD(RtpSendRates, GetSendRates, (), (const, override));
  81. MOCK_METHOD(bool,
  82. OnSendingRtpFrame,
  83. (uint32_t, int64_t, int, bool),
  84. (override));
  85. MOCK_METHOD(bool,
  86. TrySendPacket,
  87. (RtpPacketToSend * packet, const PacedPacketInfo& pacing_info),
  88. (override));
  89. MOCK_METHOD(void,
  90. SetFecProtectionParams,
  91. (const FecProtectionParams& delta_params,
  92. const FecProtectionParams& key_params),
  93. (override));
  94. MOCK_METHOD(std::vector<std::unique_ptr<RtpPacketToSend>>,
  95. FetchFecPackets,
  96. (),
  97. (override));
  98. MOCK_METHOD(void,
  99. OnPacketsAcknowledged,
  100. (rtc::ArrayView<const uint16_t>),
  101. (override));
  102. MOCK_METHOD(std::vector<std::unique_ptr<RtpPacketToSend>>,
  103. GeneratePadding,
  104. (size_t target_size_bytes),
  105. (override));
  106. MOCK_METHOD(std::vector<RtpSequenceNumberMap::Info>,
  107. GetSentRtpPacketInfos,
  108. (rtc::ArrayView<const uint16_t> sequence_numbers),
  109. (const, override));
  110. MOCK_METHOD(size_t, ExpectedPerPacketOverhead, (), (const, override));
  111. MOCK_METHOD(RtcpMode, RTCP, (), (const, override));
  112. MOCK_METHOD(void, SetRTCPStatus, (RtcpMode method), (override));
  113. MOCK_METHOD(int32_t,
  114. SetCNAME,
  115. (const char cname[RTCP_CNAME_SIZE]),
  116. (override));
  117. MOCK_METHOD(int32_t,
  118. RemoteNTP,
  119. (uint32_t * received_ntp_secs,
  120. uint32_t* received_ntp_frac,
  121. uint32_t* rtcp_arrival_time_secs,
  122. uint32_t* rtcp_arrival_time_frac,
  123. uint32_t* rtcp_timestamp),
  124. (const, override));
  125. MOCK_METHOD(int32_t,
  126. RTT,
  127. (uint32_t remote_ssrc,
  128. int64_t* rtt,
  129. int64_t* avg_rtt,
  130. int64_t* min_rtt,
  131. int64_t* max_rtt),
  132. (const, override));
  133. MOCK_METHOD(int64_t, ExpectedRetransmissionTimeMs, (), (const, override));
  134. MOCK_METHOD(int32_t, SendRTCP, (RTCPPacketType packet_type), (override));
  135. MOCK_METHOD(void,
  136. GetSendStreamDataCounters,
  137. (StreamDataCounters*, StreamDataCounters*),
  138. (const, override));
  139. MOCK_METHOD(int32_t,
  140. RemoteRTCPStat,
  141. (std::vector<RTCPReportBlock> * receive_blocks),
  142. (const, override));
  143. MOCK_METHOD(std::vector<ReportBlockData>,
  144. GetLatestReportBlockData,
  145. (),
  146. (const, override));
  147. MOCK_METHOD(void, SetRtcpXrRrtrStatus, (bool enable), (override));
  148. MOCK_METHOD(bool, RtcpXrRrtrStatus, (), (const, override));
  149. MOCK_METHOD(void,
  150. SetRemb,
  151. (int64_t bitrate, std::vector<uint32_t> ssrcs),
  152. (override));
  153. MOCK_METHOD(void, UnsetRemb, (), (override));
  154. MOCK_METHOD(int32_t,
  155. SendNACK,
  156. (const uint16_t* nack_list, uint16_t size),
  157. (override));
  158. MOCK_METHOD(void,
  159. SendNack,
  160. (const std::vector<uint16_t>& sequence_numbers),
  161. (override));
  162. MOCK_METHOD(void,
  163. SetStorePacketsStatus,
  164. (bool enable, uint16_t number_to_store),
  165. (override));
  166. MOCK_METHOD(bool, StorePackets, (), (const, override));
  167. MOCK_METHOD(void,
  168. SendCombinedRtcpPacket,
  169. (std::vector<std::unique_ptr<rtcp::RtcpPacket>> rtcp_packets),
  170. (override));
  171. MOCK_METHOD(int32_t,
  172. SendLossNotification,
  173. (uint16_t last_decoded_seq_num,
  174. uint16_t last_received_seq_num,
  175. bool decodability_flag,
  176. bool buffering_allowed),
  177. (override));
  178. MOCK_METHOD(void,
  179. SetVideoBitrateAllocation,
  180. (const VideoBitrateAllocation&),
  181. (override));
  182. MOCK_METHOD(RTPSender*, RtpSender, (), (override));
  183. MOCK_METHOD(const RTPSender*, RtpSender, (), (const, override));
  184. };
  185. } // namespace webrtc
  186. #endif // MODULES_RTP_RTCP_MOCKS_MOCK_RTP_RTCP_H_