blob: 2732bad7214de63f466261338a4d5a5dedb934cf [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));
112 MOCK_METHOD1(SetTransmissionSmoothingStatus,
113 void(const bool enable));
114 MOCK_CONST_METHOD0(TransmissionSmoothingStatus,
115 bool());
116 MOCK_CONST_METHOD0(StartTimestamp,
117 WebRtc_UWord32());
118 MOCK_METHOD1(SetStartTimestamp,
119 WebRtc_Word32(const WebRtc_UWord32 timestamp));
120 MOCK_CONST_METHOD0(SequenceNumber,
121 WebRtc_UWord16());
122 MOCK_METHOD1(SetSequenceNumber,
123 WebRtc_Word32(const WebRtc_UWord16 seq));
124 MOCK_CONST_METHOD0(SSRC,
125 WebRtc_UWord32());
126 MOCK_METHOD1(SetSSRC,
127 WebRtc_Word32(const WebRtc_UWord32 ssrc));
128 MOCK_CONST_METHOD1(CSRCs,
129 WebRtc_Word32(WebRtc_UWord32 arrOfCSRC[kRtpCsrcSize]));
130 MOCK_METHOD2(SetCSRCs,
131 WebRtc_Word32(const WebRtc_UWord32 arrOfCSRC[kRtpCsrcSize], const WebRtc_UWord8 arrLength));
132 MOCK_METHOD1(SetCSRCStatus,
133 WebRtc_Word32(const bool include));
134 MOCK_METHOD3(SetRTXSendStatus,
135 WebRtc_Word32(const bool enable, const bool setSSRC, const WebRtc_UWord32 SSRC));
136 MOCK_CONST_METHOD2(RTXSendStatus,
137 WebRtc_Word32(bool* enable, WebRtc_UWord32* SSRC));
138 MOCK_METHOD1(SetSendingStatus,
139 WebRtc_Word32(const bool sending));
140 MOCK_CONST_METHOD0(Sending,
141 bool());
142 MOCK_METHOD1(SetSendingMediaStatus,
143 WebRtc_Word32(const bool sending));
144 MOCK_CONST_METHOD0(SendingMedia,
145 bool());
146 MOCK_CONST_METHOD4(BitrateSent,
147 void(WebRtc_UWord32* totalRate, WebRtc_UWord32* videoRate, WebRtc_UWord32* fecRate, WebRtc_UWord32* nackRate));
148 MOCK_CONST_METHOD1(EstimatedReceiveBandwidth,
149 int(WebRtc_UWord32* available_bandwidth));
150 MOCK_METHOD8(SendOutgoingData,
151 WebRtc_Word32(const FrameType frameType,
152 const WebRtc_Word8 payloadType,
153 const WebRtc_UWord32 timeStamp,
154 int64_t capture_time_ms,
155 const WebRtc_UWord8* payloadData,
156 const WebRtc_UWord32 payloadSize,
157 const RTPFragmentationHeader* fragmentation,
158 const RTPVideoHeader* rtpVideoHdr));
159 MOCK_METHOD3(RegisterRtcpObservers,
160 void(RtcpIntraFrameObserver* intraFrameCallback,
161 RtcpBandwidthObserver* bandwidthCallback,
162 RtcpFeedback* callback));
163 MOCK_CONST_METHOD0(RTCP,
164 RTCPMethod());
165 MOCK_METHOD1(SetRTCPStatus,
166 WebRtc_Word32(const RTCPMethod method));
167 MOCK_METHOD1(SetCNAME,
168 WebRtc_Word32(const char cName[RTCP_CNAME_SIZE]));
169 MOCK_METHOD1(CNAME,
170 WebRtc_Word32(char cName[RTCP_CNAME_SIZE]));
171 MOCK_CONST_METHOD2(RemoteCNAME,
172 WebRtc_Word32(const WebRtc_UWord32 remoteSSRC,
173 char cName[RTCP_CNAME_SIZE]));
174 MOCK_CONST_METHOD5(RemoteNTP,
175 WebRtc_Word32(WebRtc_UWord32 *ReceivedNTPsecs,
176 WebRtc_UWord32 *ReceivedNTPfrac,
177 WebRtc_UWord32 *RTCPArrivalTimeSecs,
178 WebRtc_UWord32 *RTCPArrivalTimeFrac,
179 WebRtc_UWord32 *rtcp_timestamp));
180 MOCK_METHOD2(AddMixedCNAME,
181 WebRtc_Word32(const WebRtc_UWord32 SSRC,
182 const char cName[RTCP_CNAME_SIZE]));
183 MOCK_METHOD1(RemoveMixedCNAME,
184 WebRtc_Word32(const WebRtc_UWord32 SSRC));
185 MOCK_CONST_METHOD5(RTT,
186 WebRtc_Word32(const WebRtc_UWord32 remoteSSRC, WebRtc_UWord16* RTT, WebRtc_UWord16* avgRTT, WebRtc_UWord16* minRTT, WebRtc_UWord16* maxRTT));
187 MOCK_METHOD1(ResetRTT,
188 WebRtc_Word32(const WebRtc_UWord32 remoteSSRC));
189 MOCK_METHOD1(SendRTCP,
190 WebRtc_Word32(WebRtc_UWord32 rtcpPacketType));
191 MOCK_METHOD1(SendRTCPReferencePictureSelection,
192 WebRtc_Word32(const WebRtc_UWord64 pictureID));
193 MOCK_METHOD1(SendRTCPSliceLossIndication,
194 WebRtc_Word32(const WebRtc_UWord8 pictureID));
195 MOCK_METHOD0(ResetStatisticsRTP,
196 WebRtc_Word32());
197 MOCK_CONST_METHOD5(StatisticsRTP,
198 WebRtc_Word32(WebRtc_UWord8 *fraction_lost, WebRtc_UWord32 *cum_lost, WebRtc_UWord32 *ext_max, WebRtc_UWord32 *jitter, WebRtc_UWord32 *max_jitter));
199 MOCK_METHOD0(ResetReceiveDataCountersRTP,
200 WebRtc_Word32());
201 MOCK_METHOD0(ResetSendDataCountersRTP,
202 WebRtc_Word32());
203 MOCK_CONST_METHOD4(DataCountersRTP,
204 WebRtc_Word32(WebRtc_UWord32 *bytesSent, WebRtc_UWord32 *packetsSent, WebRtc_UWord32 *bytesReceived, WebRtc_UWord32 *packetsReceived));
205 MOCK_METHOD1(RemoteRTCPStat,
206 WebRtc_Word32(RTCPSenderInfo* senderInfo));
207 MOCK_CONST_METHOD1(RemoteRTCPStat,
208 WebRtc_Word32(std::vector<RTCPReportBlock>* receiveBlocks));
209 MOCK_METHOD2(AddRTCPReportBlock,
210 WebRtc_Word32(const WebRtc_UWord32 SSRC, const RTCPReportBlock* receiveBlock));
211 MOCK_METHOD1(RemoveRTCPReportBlock,
212 WebRtc_Word32(const WebRtc_UWord32 SSRC));
213 MOCK_METHOD4(SetRTCPApplicationSpecificData,
214 WebRtc_Word32(const WebRtc_UWord8 subType, const WebRtc_UWord32 name, const WebRtc_UWord8* data, const WebRtc_UWord16 length));
215 MOCK_METHOD1(SetRTCPVoIPMetrics,
216 WebRtc_Word32(const RTCPVoIPMetric* VoIPMetric));
217 MOCK_CONST_METHOD0(REMB,
218 bool());
219 MOCK_METHOD1(SetREMBStatus,
220 WebRtc_Word32(const bool enable));
221 MOCK_METHOD3(SetREMBData,
222 WebRtc_Word32(const WebRtc_UWord32 bitrate, const WebRtc_UWord8 numberOfSSRC, const WebRtc_UWord32* SSRC));
223 MOCK_METHOD1(SetRemoteBitrateObserver,
224 bool(RemoteBitrateObserver*));
225 MOCK_CONST_METHOD0(IJ,
226 bool());
227 MOCK_METHOD1(SetIJStatus,
228 WebRtc_Word32(const bool));
229 MOCK_CONST_METHOD0(TMMBR,
230 bool());
231 MOCK_METHOD1(SetTMMBRStatus,
232 WebRtc_Word32(const bool enable));
233 MOCK_METHOD1(OnBandwidthEstimateUpdate,
234 void(WebRtc_UWord16 bandWidthKbit));
235 MOCK_CONST_METHOD0(NACK,
236 NACKMethod());
237 MOCK_METHOD1(SetNACKStatus,
238 WebRtc_Word32(const NACKMethod method));
239 MOCK_CONST_METHOD0(SelectiveRetransmissions,
240 int());
241 MOCK_METHOD1(SetSelectiveRetransmissions,
242 int(uint8_t settings));
243 MOCK_METHOD2(SendNACK,
244 WebRtc_Word32(const WebRtc_UWord16* nackList, const WebRtc_UWord16 size));
245 MOCK_METHOD2(SetStorePacketsStatus,
246 WebRtc_Word32(const bool enable, const WebRtc_UWord16 numberToStore));
247 MOCK_METHOD1(RegisterAudioCallback,
248 WebRtc_Word32(RtpAudioFeedback* messagesCallback));
249 MOCK_METHOD1(SetAudioPacketSize,
250 WebRtc_Word32(const WebRtc_UWord16 packetSizeSamples));
251 MOCK_METHOD3(SetTelephoneEventStatus,
252 WebRtc_Word32(const bool enable, const bool forwardToDecoder, const bool detectEndOfTone));
253 MOCK_CONST_METHOD0(TelephoneEvent,
254 bool());
255 MOCK_CONST_METHOD0(TelephoneEventForwardToDecoder,
256 bool());
257 MOCK_CONST_METHOD1(SendTelephoneEventActive,
258 bool(WebRtc_Word8& telephoneEvent));
259 MOCK_METHOD3(SendTelephoneEventOutband,
260 WebRtc_Word32(const WebRtc_UWord8 key, const WebRtc_UWord16 time_ms, const WebRtc_UWord8 level));
261 MOCK_METHOD1(SetSendREDPayloadType,
262 WebRtc_Word32(const WebRtc_Word8 payloadType));
263 MOCK_CONST_METHOD1(SendREDPayloadType,
264 WebRtc_Word32(WebRtc_Word8& payloadType));
265 MOCK_METHOD2(SetRTPAudioLevelIndicationStatus,
266 WebRtc_Word32(const bool enable, const WebRtc_UWord8 ID));
267 MOCK_CONST_METHOD2(GetRTPAudioLevelIndicationStatus,
268 WebRtc_Word32(bool& enable, WebRtc_UWord8& ID));
269 MOCK_METHOD1(SetAudioLevel,
270 WebRtc_Word32(const WebRtc_UWord8 level_dBov));
271 MOCK_METHOD1(SetCameraDelay,
272 WebRtc_Word32(const WebRtc_Word32 delayMS));
273 MOCK_METHOD1(SetTargetSendBitrate,
274 void(const WebRtc_UWord32 bitrate));
275 MOCK_METHOD3(SetGenericFECStatus,
276 WebRtc_Word32(const bool enable, const WebRtc_UWord8 payloadTypeRED, const WebRtc_UWord8 payloadTypeFEC));
277 MOCK_METHOD3(GenericFECStatus,
278 WebRtc_Word32(bool& enable, WebRtc_UWord8& payloadTypeRED, WebRtc_UWord8& payloadTypeFEC));
279 MOCK_METHOD2(SetFecParameters,
280 WebRtc_Word32(const FecProtectionParams* delta_params,
281 const FecProtectionParams* key_params));
282 MOCK_METHOD1(SetKeyFrameRequestMethod,
283 WebRtc_Word32(const KeyFrameRequestMethod method));
284 MOCK_METHOD0(RequestKeyFrame,
285 WebRtc_Word32());
286 MOCK_CONST_METHOD3(Version,
287 int32_t(char* version, uint32_t& remaining_buffer_in_bytes, uint32_t& position));
288 MOCK_METHOD0(TimeUntilNextProcess,
289 int32_t());
290 MOCK_METHOD0(Process,
291 int32_t());
292
293 // Members.
294 unsigned int remote_ssrc_;
295};
296
297} // namespace webrtc
298
299#endif // WEBRTC_MODULES_RTP_RTCP_MOCKS_MOCK_RTP_RTCP_H_