blob: 52a9c5fba58f23db91a3e4b3e57fb30ef350a519 [file] [log] [blame]
andrew@webrtc.orga7b57da2012-10-22 18:19:23 +00001/*
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 WEBRTC_MODULES_RTP_RTCP_MOCKS_MOCK_RTP_RTCP_H_
12#define WEBRTC_MODULES_RTP_RTCP_MOCKS_MOCK_RTP_RTCP_H_
13
14#include <gmock/gmock.h>
15
16#include "modules/interface/module.h"
17#include "modules/rtp_rtcp/interface/rtp_rtcp.h"
18#include "modules/rtp_rtcp/interface/rtp_rtcp_defines.h"
19
20namespace webrtc {
21
22class MockRtpRtcp : public RtpRtcp {
23 public:
24 MOCK_METHOD1(ChangeUniqueId,
25 WebRtc_Word32(const WebRtc_Word32 id));
26 MOCK_METHOD1(RegisterDefaultModule,
27 WebRtc_Word32(RtpRtcp* module));
28 MOCK_METHOD0(DeRegisterDefaultModule,
29 WebRtc_Word32());
30 MOCK_METHOD0(DefaultModuleRegistered,
31 bool());
32 MOCK_METHOD0(NumberChildModules,
33 WebRtc_UWord32());
34 MOCK_METHOD1(RegisterSyncModule,
35 WebRtc_Word32(RtpRtcp* module));
36 MOCK_METHOD0(DeRegisterSyncModule,
37 WebRtc_Word32());
38 MOCK_METHOD0(InitReceiver,
39 WebRtc_Word32());
40 MOCK_METHOD1(RegisterIncomingDataCallback,
41 WebRtc_Word32(RtpData* incomingDataCallback));
42 MOCK_METHOD1(RegisterIncomingRTPCallback,
43 WebRtc_Word32(RtpFeedback* incomingMessagesCallback));
44 MOCK_METHOD2(SetPacketTimeout,
45 WebRtc_Word32(const WebRtc_UWord32 RTPtimeoutMS, const WebRtc_UWord32 RTCPtimeoutMS));
46 MOCK_METHOD2(SetPeriodicDeadOrAliveStatus,
47 WebRtc_Word32(const bool enable, const WebRtc_UWord8 sampleTimeSeconds));
48 MOCK_METHOD2(PeriodicDeadOrAliveStatus,
49 WebRtc_Word32(bool &enable, WebRtc_UWord8 &sampleTimeSeconds));
50 MOCK_METHOD1(RegisterReceivePayload,
51 WebRtc_Word32(const CodecInst& voiceCodec));
52 MOCK_METHOD1(RegisterReceivePayload,
53 WebRtc_Word32(const VideoCodec& videoCodec));
54 MOCK_METHOD2(ReceivePayloadType,
55 WebRtc_Word32(const CodecInst& voiceCodec, WebRtc_Word8* plType));
56 MOCK_METHOD2(ReceivePayloadType,
57 WebRtc_Word32(const VideoCodec& videoCodec, WebRtc_Word8* plType));
58 MOCK_METHOD1(DeRegisterReceivePayload,
59 WebRtc_Word32(const WebRtc_Word8 payloadType));
60 MOCK_METHOD2(RegisterReceiveRtpHeaderExtension,
61 WebRtc_Word32(const RTPExtensionType type, const WebRtc_UWord8 id));
62 MOCK_METHOD1(DeregisterReceiveRtpHeaderExtension,
63 WebRtc_Word32(const RTPExtensionType type));
64 MOCK_CONST_METHOD0(RemoteTimestamp,
65 WebRtc_UWord32());
66 MOCK_CONST_METHOD0(LocalTimeOfRemoteTimeStamp,
67 int64_t());
68 MOCK_CONST_METHOD1(EstimatedRemoteTimeStamp,
69 WebRtc_Word32(WebRtc_UWord32& timestamp));
70 MOCK_CONST_METHOD0(RemoteSSRC,
71 WebRtc_UWord32());
72 MOCK_CONST_METHOD1(RemoteCSRCs,
73 WebRtc_Word32(WebRtc_UWord32 arrOfCSRC[kRtpCsrcSize]));
74 MOCK_CONST_METHOD1(SSRCFilter,
75 WebRtc_Word32(WebRtc_UWord32& allowedSSRC));
76 MOCK_METHOD2(SetSSRCFilter,
77 WebRtc_Word32(const bool enable, const WebRtc_UWord32 allowedSSRC));
78 MOCK_METHOD2(SetRTXReceiveStatus,
79 WebRtc_Word32(const bool enable, const WebRtc_UWord32 SSRC));
80 MOCK_CONST_METHOD2(RTXReceiveStatus,
81 WebRtc_Word32(bool* enable, WebRtc_UWord32* SSRC));
82 MOCK_METHOD2(IncomingPacket,
83 WebRtc_Word32(const WebRtc_UWord8* incomingPacket, const WebRtc_UWord16 packetLength));
84 MOCK_METHOD4(IncomingAudioNTP,
85 WebRtc_Word32(const WebRtc_UWord32 audioReceivedNTPsecs,
86 const WebRtc_UWord32 audioReceivedNTPfrac,
87 const WebRtc_UWord32 audioRTCPArrivalTimeSecs,
88 const WebRtc_UWord32 audioRTCPArrivalTimeFrac));
89 MOCK_METHOD0(InitSender,
90 WebRtc_Word32());
91 MOCK_METHOD1(RegisterSendTransport,
92 WebRtc_Word32(Transport* outgoingTransport));
93 MOCK_METHOD1(SetMaxTransferUnit,
94 WebRtc_Word32(const WebRtc_UWord16 size));
95 MOCK_METHOD3(SetTransportOverhead,
96 WebRtc_Word32(const bool TCP, const bool IPV6,
97 const WebRtc_UWord8 authenticationOverhead));
98 MOCK_CONST_METHOD0(MaxPayloadLength,
99 WebRtc_UWord16());
100 MOCK_CONST_METHOD0(MaxDataPayloadLength,
101 WebRtc_UWord16());
102 MOCK_METHOD1(RegisterSendPayload,
103 WebRtc_Word32(const CodecInst& voiceCodec));
104 MOCK_METHOD1(RegisterSendPayload,
105 WebRtc_Word32(const VideoCodec& videoCodec));
106 MOCK_METHOD1(DeRegisterSendPayload,
107 WebRtc_Word32(const WebRtc_Word8 payloadType));
108 MOCK_METHOD2(RegisterSendRtpHeaderExtension,
109 WebRtc_Word32(const RTPExtensionType type, const WebRtc_UWord8 id));
110 MOCK_METHOD1(DeregisterSendRtpHeaderExtension,
111 WebRtc_Word32(const RTPExtensionType type));
andrew@webrtc.orga7b57da2012-10-22 18:19:23 +0000112 MOCK_CONST_METHOD0(StartTimestamp,
113 WebRtc_UWord32());
114 MOCK_METHOD1(SetStartTimestamp,
115 WebRtc_Word32(const WebRtc_UWord32 timestamp));
116 MOCK_CONST_METHOD0(SequenceNumber,
117 WebRtc_UWord16());
118 MOCK_METHOD1(SetSequenceNumber,
119 WebRtc_Word32(const WebRtc_UWord16 seq));
120 MOCK_CONST_METHOD0(SSRC,
121 WebRtc_UWord32());
122 MOCK_METHOD1(SetSSRC,
123 WebRtc_Word32(const WebRtc_UWord32 ssrc));
124 MOCK_CONST_METHOD1(CSRCs,
125 WebRtc_Word32(WebRtc_UWord32 arrOfCSRC[kRtpCsrcSize]));
126 MOCK_METHOD2(SetCSRCs,
127 WebRtc_Word32(const WebRtc_UWord32 arrOfCSRC[kRtpCsrcSize], const WebRtc_UWord8 arrLength));
128 MOCK_METHOD1(SetCSRCStatus,
129 WebRtc_Word32(const bool include));
130 MOCK_METHOD3(SetRTXSendStatus,
131 WebRtc_Word32(const bool enable, const bool setSSRC, const WebRtc_UWord32 SSRC));
132 MOCK_CONST_METHOD2(RTXSendStatus,
133 WebRtc_Word32(bool* enable, WebRtc_UWord32* SSRC));
134 MOCK_METHOD1(SetSendingStatus,
135 WebRtc_Word32(const bool sending));
136 MOCK_CONST_METHOD0(Sending,
137 bool());
138 MOCK_METHOD1(SetSendingMediaStatus,
139 WebRtc_Word32(const bool sending));
140 MOCK_CONST_METHOD0(SendingMedia,
141 bool());
142 MOCK_CONST_METHOD4(BitrateSent,
143 void(WebRtc_UWord32* totalRate, WebRtc_UWord32* videoRate, WebRtc_UWord32* fecRate, WebRtc_UWord32* nackRate));
144 MOCK_CONST_METHOD1(EstimatedReceiveBandwidth,
145 int(WebRtc_UWord32* available_bandwidth));
146 MOCK_METHOD8(SendOutgoingData,
147 WebRtc_Word32(const FrameType frameType,
148 const WebRtc_Word8 payloadType,
149 const WebRtc_UWord32 timeStamp,
150 int64_t capture_time_ms,
151 const WebRtc_UWord8* payloadData,
152 const WebRtc_UWord32 payloadSize,
153 const RTPFragmentationHeader* fragmentation,
154 const RTPVideoHeader* rtpVideoHdr));
pwestin@webrtc.org32f05a72012-11-13 21:12:39 +0000155 MOCK_METHOD3(TimeToSendPacket,
156 void(uint32_t ssrc, uint16_t sequence_number, int64_t capture_time_ms));
andrew@webrtc.orga7b57da2012-10-22 18:19:23 +0000157 MOCK_METHOD3(RegisterRtcpObservers,
158 void(RtcpIntraFrameObserver* intraFrameCallback,
159 RtcpBandwidthObserver* bandwidthCallback,
160 RtcpFeedback* callback));
161 MOCK_CONST_METHOD0(RTCP,
162 RTCPMethod());
163 MOCK_METHOD1(SetRTCPStatus,
164 WebRtc_Word32(const RTCPMethod method));
165 MOCK_METHOD1(SetCNAME,
166 WebRtc_Word32(const char cName[RTCP_CNAME_SIZE]));
167 MOCK_METHOD1(CNAME,
168 WebRtc_Word32(char cName[RTCP_CNAME_SIZE]));
169 MOCK_CONST_METHOD2(RemoteCNAME,
170 WebRtc_Word32(const WebRtc_UWord32 remoteSSRC,
171 char cName[RTCP_CNAME_SIZE]));
172 MOCK_CONST_METHOD5(RemoteNTP,
173 WebRtc_Word32(WebRtc_UWord32 *ReceivedNTPsecs,
174 WebRtc_UWord32 *ReceivedNTPfrac,
175 WebRtc_UWord32 *RTCPArrivalTimeSecs,
176 WebRtc_UWord32 *RTCPArrivalTimeFrac,
177 WebRtc_UWord32 *rtcp_timestamp));
178 MOCK_METHOD2(AddMixedCNAME,
179 WebRtc_Word32(const WebRtc_UWord32 SSRC,
180 const char cName[RTCP_CNAME_SIZE]));
181 MOCK_METHOD1(RemoveMixedCNAME,
182 WebRtc_Word32(const WebRtc_UWord32 SSRC));
183 MOCK_CONST_METHOD5(RTT,
184 WebRtc_Word32(const WebRtc_UWord32 remoteSSRC, WebRtc_UWord16* RTT, WebRtc_UWord16* avgRTT, WebRtc_UWord16* minRTT, WebRtc_UWord16* maxRTT));
185 MOCK_METHOD1(ResetRTT,
186 WebRtc_Word32(const WebRtc_UWord32 remoteSSRC));
mflodman@webrtc.org63187902012-11-26 12:40:15 +0000187 MOCK_METHOD1(SetRtt, void(uint32_t rtt));
andrew@webrtc.orga7b57da2012-10-22 18:19:23 +0000188 MOCK_METHOD1(SendRTCP,
189 WebRtc_Word32(WebRtc_UWord32 rtcpPacketType));
190 MOCK_METHOD1(SendRTCPReferencePictureSelection,
191 WebRtc_Word32(const WebRtc_UWord64 pictureID));
192 MOCK_METHOD1(SendRTCPSliceLossIndication,
193 WebRtc_Word32(const WebRtc_UWord8 pictureID));
194 MOCK_METHOD0(ResetStatisticsRTP,
195 WebRtc_Word32());
196 MOCK_CONST_METHOD5(StatisticsRTP,
197 WebRtc_Word32(WebRtc_UWord8 *fraction_lost, WebRtc_UWord32 *cum_lost, WebRtc_UWord32 *ext_max, WebRtc_UWord32 *jitter, WebRtc_UWord32 *max_jitter));
198 MOCK_METHOD0(ResetReceiveDataCountersRTP,
199 WebRtc_Word32());
200 MOCK_METHOD0(ResetSendDataCountersRTP,
201 WebRtc_Word32());
202 MOCK_CONST_METHOD4(DataCountersRTP,
203 WebRtc_Word32(WebRtc_UWord32 *bytesSent, WebRtc_UWord32 *packetsSent, WebRtc_UWord32 *bytesReceived, WebRtc_UWord32 *packetsReceived));
204 MOCK_METHOD1(RemoteRTCPStat,
205 WebRtc_Word32(RTCPSenderInfo* senderInfo));
206 MOCK_CONST_METHOD1(RemoteRTCPStat,
207 WebRtc_Word32(std::vector<RTCPReportBlock>* receiveBlocks));
208 MOCK_METHOD2(AddRTCPReportBlock,
209 WebRtc_Word32(const WebRtc_UWord32 SSRC, const RTCPReportBlock* receiveBlock));
210 MOCK_METHOD1(RemoveRTCPReportBlock,
211 WebRtc_Word32(const WebRtc_UWord32 SSRC));
212 MOCK_METHOD4(SetRTCPApplicationSpecificData,
213 WebRtc_Word32(const WebRtc_UWord8 subType, const WebRtc_UWord32 name, const WebRtc_UWord8* data, const WebRtc_UWord16 length));
214 MOCK_METHOD1(SetRTCPVoIPMetrics,
215 WebRtc_Word32(const RTCPVoIPMetric* VoIPMetric));
216 MOCK_CONST_METHOD0(REMB,
217 bool());
218 MOCK_METHOD1(SetREMBStatus,
219 WebRtc_Word32(const bool enable));
220 MOCK_METHOD3(SetREMBData,
221 WebRtc_Word32(const WebRtc_UWord32 bitrate, const WebRtc_UWord8 numberOfSSRC, const WebRtc_UWord32* SSRC));
222 MOCK_METHOD1(SetRemoteBitrateObserver,
223 bool(RemoteBitrateObserver*));
224 MOCK_CONST_METHOD0(IJ,
225 bool());
226 MOCK_METHOD1(SetIJStatus,
227 WebRtc_Word32(const bool));
228 MOCK_CONST_METHOD0(TMMBR,
229 bool());
230 MOCK_METHOD1(SetTMMBRStatus,
231 WebRtc_Word32(const bool enable));
232 MOCK_METHOD1(OnBandwidthEstimateUpdate,
233 void(WebRtc_UWord16 bandWidthKbit));
234 MOCK_CONST_METHOD0(NACK,
235 NACKMethod());
236 MOCK_METHOD1(SetNACKStatus,
237 WebRtc_Word32(const NACKMethod method));
238 MOCK_CONST_METHOD0(SelectiveRetransmissions,
239 int());
240 MOCK_METHOD1(SetSelectiveRetransmissions,
241 int(uint8_t settings));
242 MOCK_METHOD2(SendNACK,
243 WebRtc_Word32(const WebRtc_UWord16* nackList, const WebRtc_UWord16 size));
244 MOCK_METHOD2(SetStorePacketsStatus,
245 WebRtc_Word32(const bool enable, const WebRtc_UWord16 numberToStore));
246 MOCK_METHOD1(RegisterAudioCallback,
247 WebRtc_Word32(RtpAudioFeedback* messagesCallback));
248 MOCK_METHOD1(SetAudioPacketSize,
249 WebRtc_Word32(const WebRtc_UWord16 packetSizeSamples));
250 MOCK_METHOD3(SetTelephoneEventStatus,
251 WebRtc_Word32(const bool enable, const bool forwardToDecoder, const bool detectEndOfTone));
252 MOCK_CONST_METHOD0(TelephoneEvent,
253 bool());
254 MOCK_CONST_METHOD0(TelephoneEventForwardToDecoder,
255 bool());
256 MOCK_CONST_METHOD1(SendTelephoneEventActive,
257 bool(WebRtc_Word8& telephoneEvent));
258 MOCK_METHOD3(SendTelephoneEventOutband,
259 WebRtc_Word32(const WebRtc_UWord8 key, const WebRtc_UWord16 time_ms, const WebRtc_UWord8 level));
260 MOCK_METHOD1(SetSendREDPayloadType,
261 WebRtc_Word32(const WebRtc_Word8 payloadType));
262 MOCK_CONST_METHOD1(SendREDPayloadType,
263 WebRtc_Word32(WebRtc_Word8& payloadType));
264 MOCK_METHOD2(SetRTPAudioLevelIndicationStatus,
265 WebRtc_Word32(const bool enable, const WebRtc_UWord8 ID));
266 MOCK_CONST_METHOD2(GetRTPAudioLevelIndicationStatus,
267 WebRtc_Word32(bool& enable, WebRtc_UWord8& ID));
268 MOCK_METHOD1(SetAudioLevel,
269 WebRtc_Word32(const WebRtc_UWord8 level_dBov));
270 MOCK_METHOD1(SetCameraDelay,
271 WebRtc_Word32(const WebRtc_Word32 delayMS));
272 MOCK_METHOD1(SetTargetSendBitrate,
273 void(const WebRtc_UWord32 bitrate));
274 MOCK_METHOD3(SetGenericFECStatus,
275 WebRtc_Word32(const bool enable, const WebRtc_UWord8 payloadTypeRED, const WebRtc_UWord8 payloadTypeFEC));
276 MOCK_METHOD3(GenericFECStatus,
277 WebRtc_Word32(bool& enable, WebRtc_UWord8& payloadTypeRED, WebRtc_UWord8& payloadTypeFEC));
278 MOCK_METHOD2(SetFecParameters,
279 WebRtc_Word32(const FecProtectionParams* delta_params,
280 const FecProtectionParams* key_params));
281 MOCK_METHOD1(SetKeyFrameRequestMethod,
282 WebRtc_Word32(const KeyFrameRequestMethod method));
283 MOCK_METHOD0(RequestKeyFrame,
284 WebRtc_Word32());
285 MOCK_CONST_METHOD3(Version,
286 int32_t(char* version, uint32_t& remaining_buffer_in_bytes, uint32_t& position));
287 MOCK_METHOD0(TimeUntilNextProcess,
288 int32_t());
289 MOCK_METHOD0(Process,
290 int32_t());
291
292 // Members.
293 unsigned int remote_ssrc_;
294};
295
296} // namespace webrtc
297
298#endif // WEBRTC_MODULES_RTP_RTCP_MOCKS_MOCK_RTP_RTCP_H_