/* * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #ifndef AUDIO_MOCK_VOE_CHANNEL_PROXY_H_ #define AUDIO_MOCK_VOE_CHANNEL_PROXY_H_ #include #include #include #include #include #include "api/test/mock_frame_encryptor.h" #include "audio/channel_receive.h" #include "audio/channel_send.h" #include "modules/rtp_rtcp/source/rtp_packet_received.h" #include "test/gmock.h" namespace webrtc { namespace test { class MockChannelReceive : public voe::ChannelReceiveInterface { public: MOCK_METHOD(void, SetNACKStatus, (bool enable, int max_packets), (override)); MOCK_METHOD(void, RegisterReceiverCongestionControlObjects, (PacketRouter*), (override)); MOCK_METHOD(void, ResetReceiverCongestionControlObjects, (), (override)); MOCK_METHOD(CallReceiveStatistics, GetRTCPStatistics, (), (const, override)); MOCK_METHOD(NetworkStatistics, GetNetworkStatistics, (), (const, override)); MOCK_METHOD(AudioDecodingCallStats, GetDecodingCallStatistics, (), (const, override)); MOCK_METHOD(int, GetSpeechOutputLevelFullRange, (), (const, override)); MOCK_METHOD(double, GetTotalOutputEnergy, (), (const, override)); MOCK_METHOD(double, GetTotalOutputDuration, (), (const, override)); MOCK_METHOD(uint32_t, GetDelayEstimate, (), (const, override)); MOCK_METHOD(void, SetSink, (AudioSinkInterface*), (override)); MOCK_METHOD(void, OnRtpPacket, (const RtpPacketReceived& packet), (override)); MOCK_METHOD(void, ReceivedRTCPPacket, (const uint8_t*, size_t length), (override)); MOCK_METHOD(void, SetChannelOutputVolumeScaling, (float scaling), (override)); MOCK_METHOD(AudioMixer::Source::AudioFrameInfo, GetAudioFrameWithInfo, (int sample_rate_hz, AudioFrame*), (override)); MOCK_METHOD(int, PreferredSampleRate, (), (const, override)); MOCK_METHOD(void, SetAssociatedSendChannel, (const voe::ChannelSendInterface*), (override)); MOCK_METHOD(bool, GetPlayoutRtpTimestamp, (uint32_t*, int64_t*), (const, override)); MOCK_METHOD(void, SetEstimatedPlayoutNtpTimestampMs, (int64_t ntp_timestamp_ms, int64_t time_ms), (override)); MOCK_METHOD(absl::optional, GetCurrentEstimatedPlayoutNtpTimestampMs, (int64_t now_ms), (const, override)); MOCK_METHOD(absl::optional, GetSyncInfo, (), (const, override)); MOCK_METHOD(void, SetMinimumPlayoutDelay, (int delay_ms), (override)); MOCK_METHOD(bool, SetBaseMinimumPlayoutDelayMs, (int delay_ms), (override)); MOCK_METHOD(int, GetBaseMinimumPlayoutDelayMs, (), (const, override)); MOCK_METHOD((absl::optional>), GetReceiveCodec, (), (const, override)); MOCK_METHOD(void, SetReceiveCodecs, ((const std::map& codecs)), (override)); MOCK_METHOD(void, StartPlayout, (), (override)); MOCK_METHOD(void, StopPlayout, (), (override)); MOCK_METHOD( void, SetDepacketizerToDecoderFrameTransformer, (rtc::scoped_refptr frame_transformer), (override)); }; class MockChannelSend : public voe::ChannelSendInterface { public: MOCK_METHOD(void, SetEncoder, (int payload_type, std::unique_ptr encoder), (override)); MOCK_METHOD( void, ModifyEncoder, (rtc::FunctionView*)> modifier), (override)); MOCK_METHOD(void, CallEncoder, (rtc::FunctionView modifier), (override)); MOCK_METHOD(void, SetRTCP_CNAME, (absl::string_view c_name), (override)); MOCK_METHOD(void, SetSendAudioLevelIndicationStatus, (bool enable, int id), (override)); MOCK_METHOD(void, RegisterSenderCongestionControlObjects, (RtpTransportControllerSendInterface*, RtcpBandwidthObserver*), (override)); MOCK_METHOD(void, ResetSenderCongestionControlObjects, (), (override)); MOCK_METHOD(CallSendStatistics, GetRTCPStatistics, (), (const, override)); MOCK_METHOD(std::vector, GetRemoteRTCPReportBlocks, (), (const, override)); MOCK_METHOD(ANAStats, GetANAStatistics, (), (const, override)); MOCK_METHOD(void, RegisterCngPayloadType, (int payload_type, int payload_frequency), (override)); MOCK_METHOD(void, SetSendTelephoneEventPayloadType, (int payload_type, int payload_frequency), (override)); MOCK_METHOD(bool, SendTelephoneEventOutband, (int event, int duration_ms), (override)); MOCK_METHOD(void, OnBitrateAllocation, (BitrateAllocationUpdate update), (override)); MOCK_METHOD(void, SetInputMute, (bool muted), (override)); MOCK_METHOD(void, ReceivedRTCPPacket, (const uint8_t*, size_t length), (override)); MOCK_METHOD(void, ProcessAndEncodeAudio, (std::unique_ptr), (override)); MOCK_METHOD(RtpRtcpInterface*, GetRtpRtcp, (), (const, override)); MOCK_METHOD(int, GetBitrate, (), (const, override)); MOCK_METHOD(int64_t, GetRTT, (), (const, override)); MOCK_METHOD(void, StartSend, (), (override)); MOCK_METHOD(void, StopSend, (), (override)); MOCK_METHOD(void, SetFrameEncryptor, (rtc::scoped_refptr frame_encryptor), (override)); MOCK_METHOD( void, SetEncoderToPacketizerFrameTransformer, (rtc::scoped_refptr frame_transformer), (override)); }; } // namespace test } // namespace webrtc #endif // AUDIO_MOCK_VOE_CHANNEL_PROXY_H_