mock_voe_channel_proxy.h (8323B)
1 /* 2 * Copyright (c) 2015 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 AUDIO_MOCK_VOE_CHANNEL_PROXY_H_ 12 #define AUDIO_MOCK_VOE_CHANNEL_PROXY_H_ 13 14 #include <cstddef> 15 #include <cstdint> 16 #include <map> 17 #include <memory> 18 #include <optional> 19 #include <utility> 20 #include <vector> 21 22 #include "absl/strings/string_view.h" 23 #include "api/array_view.h" 24 #include "api/audio/audio_frame.h" 25 #include "api/audio/audio_mixer.h" 26 #include "api/audio_codecs/audio_encoder.h" 27 #include "api/audio_codecs/audio_format.h" 28 #include "api/call/audio_sink.h" 29 #include "api/call/bitrate_allocation.h" 30 #include "api/crypto/frame_decryptor_interface.h" 31 #include "api/crypto/frame_encryptor_interface.h" 32 #include "api/frame_transformer_interface.h" 33 #include "api/function_view.h" 34 #include "api/rtp_headers.h" 35 #include "api/scoped_refptr.h" 36 #include "api/transport/rtp/rtp_source.h" 37 #include "api/units/data_rate.h" 38 #include "api/units/time_delta.h" 39 #include "api/units/timestamp.h" 40 #include "audio/channel_receive.h" 41 #include "audio/channel_send.h" 42 #include "call/syncable.h" 43 #include "modules/audio_coding/include/audio_coding_module_typedefs.h" 44 #include "modules/rtp_rtcp/include/report_block_data.h" 45 #include "modules/rtp_rtcp/source/rtp_packet_received.h" 46 #include "modules/rtp_rtcp/source/rtp_rtcp_interface.h" 47 #include "system_wrappers/include/ntp_time.h" 48 #include "test/gmock.h" 49 50 namespace webrtc { 51 namespace test { 52 53 class MockChannelReceive : public voe::ChannelReceiveInterface { 54 public: 55 MOCK_METHOD(void, SetNACKStatus, (bool enable, int max_packets), (override)); 56 MOCK_METHOD(void, SetRtcpMode, (RtcpMode mode), (override)); 57 MOCK_METHOD(void, SetNonSenderRttMeasurement, (bool enabled), (override)); 58 MOCK_METHOD(void, 59 RegisterReceiverCongestionControlObjects, 60 (PacketRouter*), 61 (override)); 62 MOCK_METHOD(void, ResetReceiverCongestionControlObjects, (), (override)); 63 MOCK_METHOD(ChannelReceiveStatistics, 64 GetRTCPStatistics, 65 (), 66 (const, override)); 67 MOCK_METHOD(NetworkStatistics, 68 GetNetworkStatistics, 69 (bool), 70 (const, override)); 71 MOCK_METHOD(AudioDecodingCallStats, 72 GetDecodingCallStatistics, 73 (), 74 (const, override)); 75 MOCK_METHOD(int, GetSpeechOutputLevelFullRange, (), (const, override)); 76 MOCK_METHOD(double, GetTotalOutputEnergy, (), (const, override)); 77 MOCK_METHOD(double, GetTotalOutputDuration, (), (const, override)); 78 MOCK_METHOD(uint32_t, GetDelayEstimate, (), (const, override)); 79 MOCK_METHOD(void, SetSink, (AudioSinkInterface*), (override)); 80 MOCK_METHOD(void, OnRtpPacket, (const RtpPacketReceived& packet), (override)); 81 MOCK_METHOD(void, 82 ReceivedRTCPPacket, 83 (const uint8_t*, size_t length), 84 (override)); 85 MOCK_METHOD(void, SetChannelOutputVolumeScaling, (float scaling), (override)); 86 MOCK_METHOD(AudioMixer::Source::AudioFrameInfo, 87 GetAudioFrameWithInfo, 88 (int sample_rate_hz, AudioFrame*), 89 (override)); 90 MOCK_METHOD(int, PreferredSampleRate, (), (const, override)); 91 MOCK_METHOD(std::vector<RtpSource>, GetSources, (), (const, override)); 92 MOCK_METHOD(std::optional<Syncable::PlayoutInfo>, 93 GetPlayoutRtpTimestamp, 94 (), 95 (const, override)); 96 MOCK_METHOD(void, 97 SetEstimatedPlayoutNtpTimestamp, 98 (NtpTime ntp_time, Timestamp time), 99 (override)); 100 MOCK_METHOD(std::optional<int64_t>, 101 GetCurrentEstimatedPlayoutNtpTimestampMs, 102 (int64_t now_ms), 103 (const, override)); 104 MOCK_METHOD(std::optional<Syncable::Info>, 105 GetSyncInfo, 106 (), 107 (const, override)); 108 MOCK_METHOD(bool, SetMinimumPlayoutDelay, (TimeDelta delay), (override)); 109 MOCK_METHOD(bool, SetBaseMinimumPlayoutDelayMs, (int delay_ms), (override)); 110 MOCK_METHOD(int, GetBaseMinimumPlayoutDelayMs, (), (const, override)); 111 MOCK_METHOD((std::optional<std::pair<int, SdpAudioFormat>>), 112 GetReceiveCodec, 113 (), 114 (const, override)); 115 MOCK_METHOD(void, 116 SetReceiveCodecs, 117 ((const std::map<int, SdpAudioFormat>& codecs)), 118 (override)); 119 MOCK_METHOD(void, StartPlayout, (), (override)); 120 MOCK_METHOD(void, StopPlayout, (), (override)); 121 MOCK_METHOD(void, 122 SetDepacketizerToDecoderFrameTransformer, 123 (webrtc::scoped_refptr<webrtc::FrameTransformerInterface> 124 frame_transformer), 125 (override)); 126 MOCK_METHOD( 127 void, 128 SetFrameDecryptor, 129 (webrtc::scoped_refptr<webrtc::FrameDecryptorInterface> frame_decryptor), 130 (override)); 131 MOCK_METHOD(void, OnLocalSsrcChange, (uint32_t local_ssrc), (override)); 132 }; 133 134 class MockChannelSend : public voe::ChannelSendInterface { 135 public: 136 MOCK_METHOD(void, 137 SetEncoder, 138 (int payload_type, 139 const SdpAudioFormat& encoder_format, 140 std::unique_ptr<AudioEncoder> encoder), 141 (override)); 142 MOCK_METHOD( 143 void, 144 ModifyEncoder, 145 (webrtc::FunctionView<void(std::unique_ptr<AudioEncoder>*)> modifier), 146 (override)); 147 MOCK_METHOD(void, 148 CallEncoder, 149 (webrtc::FunctionView<void(AudioEncoder*)> modifier), 150 (override)); 151 MOCK_METHOD(void, SetRTCP_CNAME, (absl::string_view c_name), (override)); 152 MOCK_METHOD(void, 153 SetSendAudioLevelIndicationStatus, 154 (bool enable, int id), 155 (override)); 156 MOCK_METHOD(void, 157 RegisterSenderCongestionControlObjects, 158 (RtpTransportControllerSendInterface*), 159 (override)); 160 MOCK_METHOD(void, ResetSenderCongestionControlObjects, (), (override)); 161 MOCK_METHOD(ChannelSendStatistics, GetRTCPStatistics, (), (const, override)); 162 MOCK_METHOD(std::vector<ReportBlockData>, 163 GetRemoteRTCPReportBlocks, 164 (), 165 (const, override)); 166 MOCK_METHOD(ANAStats, GetANAStatistics, (), (const, override)); 167 MOCK_METHOD(void, 168 RegisterCngPayloadType, 169 (int payload_type, int payload_frequency), 170 (override)); 171 MOCK_METHOD(void, 172 SetSendTelephoneEventPayloadType, 173 (int payload_type, int payload_frequency), 174 (override)); 175 MOCK_METHOD(bool, 176 SendTelephoneEventOutband, 177 (int event, int duration_ms), 178 (override)); 179 MOCK_METHOD(void, 180 OnBitrateAllocation, 181 (BitrateAllocationUpdate update), 182 (override)); 183 MOCK_METHOD(void, SetInputMute, (bool muted), (override)); 184 MOCK_METHOD(void, 185 ReceivedRTCPPacket, 186 (const uint8_t*, size_t length), 187 (override)); 188 MOCK_METHOD(void, 189 ProcessAndEncodeAudio, 190 (std::unique_ptr<AudioFrame>), 191 (override)); 192 MOCK_METHOD(RtpRtcpInterface*, GetRtpRtcp, (), (const, override)); 193 MOCK_METHOD(int, GetTargetBitrate, (), (const, override)); 194 MOCK_METHOD(void, StartSend, (), (override)); 195 MOCK_METHOD(void, StopSend, (), (override)); 196 MOCK_METHOD(void, 197 SetFrameEncryptor, 198 (webrtc::scoped_refptr<FrameEncryptorInterface> frame_encryptor), 199 (override)); 200 MOCK_METHOD(void, 201 SetEncoderToPacketizerFrameTransformer, 202 (webrtc::scoped_refptr<webrtc::FrameTransformerInterface> 203 frame_transformer), 204 (override)); 205 MOCK_METHOD(std::optional<DataRate>, GetUsedRate, (), (const, override)); 206 MOCK_METHOD(void, 207 RegisterPacketOverhead, 208 (int packet_byte_overhead), 209 (override)); 210 MOCK_METHOD(void, SetCsrcs, (ArrayView<const uint32_t> csrcs), (override)); 211 }; 212 } // namespace test 213 } // namespace webrtc 214 215 #endif // AUDIO_MOCK_VOE_CHANNEL_PROXY_H_