mock_rtp_rtcp.h (8173B)
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 11 #ifndef MODULES_RTP_RTCP_MOCKS_MOCK_RTP_RTCP_H_ 12 #define MODULES_RTP_RTCP_MOCKS_MOCK_RTP_RTCP_H_ 13 14 #include <cstddef> 15 #include <cstdint> 16 #include <memory> 17 #include <optional> 18 #include <vector> 19 20 #include "absl/strings/string_view.h" 21 #include "api/array_view.h" 22 #include "api/rtp_headers.h" 23 #include "api/transport/network_types.h" 24 #include "api/units/time_delta.h" 25 #include "api/video/video_bitrate_allocation.h" 26 #include "modules/include/module_fec_types.h" 27 #include "modules/rtp_rtcp/include/report_block_data.h" 28 #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" 29 #include "modules/rtp_rtcp/source/rtcp_packet.h" 30 #include "modules/rtp_rtcp/source/rtp_packet_to_send.h" 31 #include "modules/rtp_rtcp/source/rtp_rtcp_interface.h" 32 #include "modules/rtp_rtcp/source/rtp_sequence_number_map.h" 33 #include "test/gmock.h" 34 35 namespace webrtc { 36 37 class MockRtpRtcpInterface : public RtpRtcpInterface { 38 public: 39 MOCK_METHOD(void, 40 IncomingRtcpPacket, 41 (ArrayView<const uint8_t> packet), 42 (override)); 43 MOCK_METHOD(void, SetRemoteSSRC, (uint32_t ssrc), (override)); 44 MOCK_METHOD(void, SetLocalSsrc, (uint32_t ssrc), (override)); 45 MOCK_METHOD(void, SetMaxRtpPacketSize, (size_t size), (override)); 46 MOCK_METHOD(size_t, MaxRtpPacketSize, (), (const, override)); 47 MOCK_METHOD(void, 48 RegisterSendPayloadFrequency, 49 (int payload_type, int frequency), 50 (override)); 51 MOCK_METHOD(int32_t, 52 DeRegisterSendPayload, 53 (int8_t payload_type), 54 (override)); 55 MOCK_METHOD(void, SetExtmapAllowMixed, (bool extmap_allow_mixed), (override)); 56 MOCK_METHOD(void, 57 RegisterRtpHeaderExtension, 58 (absl::string_view uri, int id), 59 (override)); 60 MOCK_METHOD(void, 61 DeregisterSendRtpHeaderExtension, 62 (absl::string_view uri), 63 (override)); 64 MOCK_METHOD(bool, SupportsPadding, (), (const, override)); 65 MOCK_METHOD(bool, SupportsRtxPayloadPadding, (), (const, override)); 66 MOCK_METHOD(uint32_t, StartTimestamp, (), (const, override)); 67 MOCK_METHOD(void, SetStartTimestamp, (uint32_t timestamp), (override)); 68 MOCK_METHOD(uint16_t, SequenceNumber, (), (const, override)); 69 MOCK_METHOD(void, SetSequenceNumber, (uint16_t seq), (override)); 70 MOCK_METHOD(void, SetRtpState, (const RtpState& rtp_state), (override)); 71 MOCK_METHOD(void, SetRtxState, (const RtpState& rtp_state), (override)); 72 MOCK_METHOD(void, SetNonSenderRttMeasurement, (bool enabled), (override)); 73 MOCK_METHOD(RtpState, GetRtpState, (), (const, override)); 74 MOCK_METHOD(RtpState, GetRtxState, (), (const, override)); 75 MOCK_METHOD(uint32_t, SSRC, (), (const, override)); 76 MOCK_METHOD(void, SetMid, (absl::string_view mid), (override)); 77 MOCK_METHOD(void, SetRtxSendStatus, (int modes), (override)); 78 MOCK_METHOD(int, RtxSendStatus, (), (const, override)); 79 MOCK_METHOD(std::optional<uint32_t>, RtxSsrc, (), (const, override)); 80 MOCK_METHOD(void, SetRtxSendPayloadType, (int, int), (override)); 81 MOCK_METHOD(std::optional<uint32_t>, FlexfecSsrc, (), (const, override)); 82 MOCK_METHOD(int32_t, SetSendingStatus, (bool sending), (override)); 83 MOCK_METHOD(bool, Sending, (), (const, override)); 84 MOCK_METHOD(void, SetSendingMediaStatus, (bool sending), (override)); 85 MOCK_METHOD(bool, SendingMedia, (), (const, override)); 86 MOCK_METHOD(bool, IsAudioConfigured, (), (const, override)); 87 MOCK_METHOD(void, SetAsPartOfAllocation, (bool), (override)); 88 MOCK_METHOD(RtpSendRates, GetSendRates, (), (const, override)); 89 MOCK_METHOD(bool, 90 OnSendingRtpFrame, 91 (uint32_t, int64_t, int, bool), 92 (override)); 93 MOCK_METHOD(bool, 94 CanSendPacket, 95 (const RtpPacketToSend& packet), 96 (const, override)); 97 MOCK_METHOD(void, 98 AssignSequenceNumber, 99 (RtpPacketToSend & packet), 100 (override)); 101 MOCK_METHOD(void, 102 SendPacket, 103 (std::unique_ptr<RtpPacketToSend> packet, 104 const PacedPacketInfo& pacing_info), 105 (override)); 106 MOCK_METHOD(bool, 107 TrySendPacket, 108 (std::unique_ptr<RtpPacketToSend> packet, 109 const PacedPacketInfo& pacing_info), 110 (override)); 111 MOCK_METHOD(void, OnBatchComplete, (), (override)); 112 MOCK_METHOD(void, 113 SetFecProtectionParams, 114 (const FecProtectionParams& delta_params, 115 const FecProtectionParams& key_params), 116 (override)); 117 MOCK_METHOD(std::vector<std::unique_ptr<RtpPacketToSend>>, 118 FetchFecPackets, 119 (), 120 (override)); 121 MOCK_METHOD(void, 122 OnAbortedRetransmissions, 123 (ArrayView<const uint16_t>), 124 (override)); 125 MOCK_METHOD(void, 126 OnPacketsAcknowledged, 127 (ArrayView<const uint16_t>), 128 (override)); 129 MOCK_METHOD(std::vector<std::unique_ptr<RtpPacketToSend>>, 130 GeneratePadding, 131 (size_t target_size_bytes), 132 (override)); 133 MOCK_METHOD(std::vector<RtpSequenceNumberMap::Info>, 134 GetSentRtpPacketInfos, 135 (ArrayView<const uint16_t> sequence_numbers), 136 (const, override)); 137 MOCK_METHOD(size_t, ExpectedPerPacketOverhead, (), (const, override)); 138 MOCK_METHOD(void, OnPacketSendingThreadSwitched, (), (override)); 139 MOCK_METHOD(RtcpMode, RTCP, (), (const, override)); 140 MOCK_METHOD(void, SetRTCPStatus, (RtcpMode method), (override)); 141 MOCK_METHOD(int32_t, SetCNAME, (absl::string_view cname), (override)); 142 MOCK_METHOD(std::optional<TimeDelta>, LastRtt, (), (const, override)); 143 MOCK_METHOD(TimeDelta, ExpectedRetransmissionTime, (), (const, override)); 144 MOCK_METHOD(int32_t, SendRTCP, (RTCPPacketType packet_type), (override)); 145 MOCK_METHOD(void, 146 GetSendStreamDataCounters, 147 (StreamDataCounters*, StreamDataCounters*), 148 (const, override)); 149 MOCK_METHOD(std::vector<ReportBlockData>, 150 GetLatestReportBlockData, 151 (), 152 (const, override)); 153 MOCK_METHOD(std::optional<SenderReportStats>, 154 GetSenderReportStats, 155 (), 156 (const, override)); 157 MOCK_METHOD(std::optional<NonSenderRttStats>, 158 GetNonSenderRttStats, 159 (), 160 (const, override)); 161 MOCK_METHOD(void, 162 SetRemb, 163 (int64_t bitrate, std::vector<uint32_t> ssrcs), 164 (override)); 165 MOCK_METHOD(void, UnsetRemb, (), (override)); 166 MOCK_METHOD(int32_t, 167 SendNACK, 168 (const uint16_t* nack_list, uint16_t size), 169 (override)); 170 MOCK_METHOD(void, 171 SendNack, 172 (const std::vector<uint16_t>& sequence_numbers), 173 (override)); 174 MOCK_METHOD(void, 175 SetStorePacketsStatus, 176 (bool enable, uint16_t number_to_store), 177 (override)); 178 MOCK_METHOD(void, 179 SendCombinedRtcpPacket, 180 (std::vector<std::unique_ptr<rtcp::RtcpPacket>> rtcp_packets), 181 (override)); 182 MOCK_METHOD(int32_t, 183 SendLossNotification, 184 (uint16_t last_decoded_seq_num, 185 uint16_t last_received_seq_num, 186 bool decodability_flag, 187 bool buffering_allowed), 188 (override)); 189 MOCK_METHOD(void, 190 SetVideoBitrateAllocation, 191 (const VideoBitrateAllocation&), 192 (override)); 193 MOCK_METHOD(RTPSender*, RtpSender, (), (override)); 194 MOCK_METHOD(const RTPSender*, RtpSender, (), (const, override)); 195 }; 196 197 } // namespace webrtc 198 199 #endif // MODULES_RTP_RTCP_MOCKS_MOCK_RTP_RTCP_H_