xref: /aosp_15_r20/external/webrtc/audio/mock_voe_channel_proxy.h (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1*d9f75844SAndroid Build Coastguard Worker /*
2*d9f75844SAndroid Build Coastguard Worker  *  Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3*d9f75844SAndroid Build Coastguard Worker  *
4*d9f75844SAndroid Build Coastguard Worker  *  Use of this source code is governed by a BSD-style license
5*d9f75844SAndroid Build Coastguard Worker  *  that can be found in the LICENSE file in the root of the source
6*d9f75844SAndroid Build Coastguard Worker  *  tree. An additional intellectual property rights grant can be found
7*d9f75844SAndroid Build Coastguard Worker  *  in the file PATENTS.  All contributing project authors may
8*d9f75844SAndroid Build Coastguard Worker  *  be found in the AUTHORS file in the root of the source tree.
9*d9f75844SAndroid Build Coastguard Worker  */
10*d9f75844SAndroid Build Coastguard Worker 
11*d9f75844SAndroid Build Coastguard Worker #ifndef AUDIO_MOCK_VOE_CHANNEL_PROXY_H_
12*d9f75844SAndroid Build Coastguard Worker #define AUDIO_MOCK_VOE_CHANNEL_PROXY_H_
13*d9f75844SAndroid Build Coastguard Worker 
14*d9f75844SAndroid Build Coastguard Worker #include <map>
15*d9f75844SAndroid Build Coastguard Worker #include <memory>
16*d9f75844SAndroid Build Coastguard Worker #include <string>
17*d9f75844SAndroid Build Coastguard Worker #include <utility>
18*d9f75844SAndroid Build Coastguard Worker #include <vector>
19*d9f75844SAndroid Build Coastguard Worker 
20*d9f75844SAndroid Build Coastguard Worker #include "api/crypto/frame_decryptor_interface.h"
21*d9f75844SAndroid Build Coastguard Worker #include "api/test/mock_frame_encryptor.h"
22*d9f75844SAndroid Build Coastguard Worker #include "audio/channel_receive.h"
23*d9f75844SAndroid Build Coastguard Worker #include "audio/channel_send.h"
24*d9f75844SAndroid Build Coastguard Worker #include "modules/rtp_rtcp/source/rtp_packet_received.h"
25*d9f75844SAndroid Build Coastguard Worker #include "test/gmock.h"
26*d9f75844SAndroid Build Coastguard Worker 
27*d9f75844SAndroid Build Coastguard Worker namespace webrtc {
28*d9f75844SAndroid Build Coastguard Worker namespace test {
29*d9f75844SAndroid Build Coastguard Worker 
30*d9f75844SAndroid Build Coastguard Worker class MockChannelReceive : public voe::ChannelReceiveInterface {
31*d9f75844SAndroid Build Coastguard Worker  public:
32*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, SetNACKStatus, (bool enable, int max_packets), (override));
33*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, SetNonSenderRttMeasurement, (bool enabled), (override));
34*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
35*d9f75844SAndroid Build Coastguard Worker               RegisterReceiverCongestionControlObjects,
36*d9f75844SAndroid Build Coastguard Worker               (PacketRouter*),
37*d9f75844SAndroid Build Coastguard Worker               (override));
38*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, ResetReceiverCongestionControlObjects, (), (override));
39*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(CallReceiveStatistics, GetRTCPStatistics, (), (const, override));
40*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(NetworkStatistics,
41*d9f75844SAndroid Build Coastguard Worker               GetNetworkStatistics,
42*d9f75844SAndroid Build Coastguard Worker               (bool),
43*d9f75844SAndroid Build Coastguard Worker               (const, override));
44*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(AudioDecodingCallStats,
45*d9f75844SAndroid Build Coastguard Worker               GetDecodingCallStatistics,
46*d9f75844SAndroid Build Coastguard Worker               (),
47*d9f75844SAndroid Build Coastguard Worker               (const, override));
48*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(int, GetSpeechOutputLevelFullRange, (), (const, override));
49*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(double, GetTotalOutputEnergy, (), (const, override));
50*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(double, GetTotalOutputDuration, (), (const, override));
51*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(uint32_t, GetDelayEstimate, (), (const, override));
52*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, SetSink, (AudioSinkInterface*), (override));
53*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, OnRtpPacket, (const RtpPacketReceived& packet), (override));
54*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
55*d9f75844SAndroid Build Coastguard Worker               ReceivedRTCPPacket,
56*d9f75844SAndroid Build Coastguard Worker               (const uint8_t*, size_t length),
57*d9f75844SAndroid Build Coastguard Worker               (override));
58*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, SetChannelOutputVolumeScaling, (float scaling), (override));
59*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(AudioMixer::Source::AudioFrameInfo,
60*d9f75844SAndroid Build Coastguard Worker               GetAudioFrameWithInfo,
61*d9f75844SAndroid Build Coastguard Worker               (int sample_rate_hz, AudioFrame*),
62*d9f75844SAndroid Build Coastguard Worker               (override));
63*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(int, PreferredSampleRate, (), (const, override));
64*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, SetSourceTracker, (SourceTracker*), (override));
65*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
66*d9f75844SAndroid Build Coastguard Worker               SetAssociatedSendChannel,
67*d9f75844SAndroid Build Coastguard Worker               (const voe::ChannelSendInterface*),
68*d9f75844SAndroid Build Coastguard Worker               (override));
69*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(bool,
70*d9f75844SAndroid Build Coastguard Worker               GetPlayoutRtpTimestamp,
71*d9f75844SAndroid Build Coastguard Worker               (uint32_t*, int64_t*),
72*d9f75844SAndroid Build Coastguard Worker               (const, override));
73*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
74*d9f75844SAndroid Build Coastguard Worker               SetEstimatedPlayoutNtpTimestampMs,
75*d9f75844SAndroid Build Coastguard Worker               (int64_t ntp_timestamp_ms, int64_t time_ms),
76*d9f75844SAndroid Build Coastguard Worker               (override));
77*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(absl::optional<int64_t>,
78*d9f75844SAndroid Build Coastguard Worker               GetCurrentEstimatedPlayoutNtpTimestampMs,
79*d9f75844SAndroid Build Coastguard Worker               (int64_t now_ms),
80*d9f75844SAndroid Build Coastguard Worker               (const, override));
81*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(absl::optional<Syncable::Info>,
82*d9f75844SAndroid Build Coastguard Worker               GetSyncInfo,
83*d9f75844SAndroid Build Coastguard Worker               (),
84*d9f75844SAndroid Build Coastguard Worker               (const, override));
85*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(bool, SetMinimumPlayoutDelay, (int delay_ms), (override));
86*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(bool, SetBaseMinimumPlayoutDelayMs, (int delay_ms), (override));
87*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(int, GetBaseMinimumPlayoutDelayMs, (), (const, override));
88*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD((absl::optional<std::pair<int, SdpAudioFormat>>),
89*d9f75844SAndroid Build Coastguard Worker               GetReceiveCodec,
90*d9f75844SAndroid Build Coastguard Worker               (),
91*d9f75844SAndroid Build Coastguard Worker               (const, override));
92*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
93*d9f75844SAndroid Build Coastguard Worker               SetReceiveCodecs,
94*d9f75844SAndroid Build Coastguard Worker               ((const std::map<int, SdpAudioFormat>& codecs)),
95*d9f75844SAndroid Build Coastguard Worker               (override));
96*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, StartPlayout, (), (override));
97*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, StopPlayout, (), (override));
98*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(
99*d9f75844SAndroid Build Coastguard Worker       void,
100*d9f75844SAndroid Build Coastguard Worker       SetDepacketizerToDecoderFrameTransformer,
101*d9f75844SAndroid Build Coastguard Worker       (rtc::scoped_refptr<webrtc::FrameTransformerInterface> frame_transformer),
102*d9f75844SAndroid Build Coastguard Worker       (override));
103*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(
104*d9f75844SAndroid Build Coastguard Worker       void,
105*d9f75844SAndroid Build Coastguard Worker       SetFrameDecryptor,
106*d9f75844SAndroid Build Coastguard Worker       (rtc::scoped_refptr<webrtc::FrameDecryptorInterface> frame_decryptor),
107*d9f75844SAndroid Build Coastguard Worker       (override));
108*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, OnLocalSsrcChange, (uint32_t local_ssrc), (override));
109*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(uint32_t, GetLocalSsrc, (), (const, override));
110*d9f75844SAndroid Build Coastguard Worker };
111*d9f75844SAndroid Build Coastguard Worker 
112*d9f75844SAndroid Build Coastguard Worker class MockChannelSend : public voe::ChannelSendInterface {
113*d9f75844SAndroid Build Coastguard Worker  public:
114*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
115*d9f75844SAndroid Build Coastguard Worker               SetEncoder,
116*d9f75844SAndroid Build Coastguard Worker               (int payload_type, std::unique_ptr<AudioEncoder> encoder),
117*d9f75844SAndroid Build Coastguard Worker               (override));
118*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(
119*d9f75844SAndroid Build Coastguard Worker       void,
120*d9f75844SAndroid Build Coastguard Worker       ModifyEncoder,
121*d9f75844SAndroid Build Coastguard Worker       (rtc::FunctionView<void(std::unique_ptr<AudioEncoder>*)> modifier),
122*d9f75844SAndroid Build Coastguard Worker       (override));
123*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
124*d9f75844SAndroid Build Coastguard Worker               CallEncoder,
125*d9f75844SAndroid Build Coastguard Worker               (rtc::FunctionView<void(AudioEncoder*)> modifier),
126*d9f75844SAndroid Build Coastguard Worker               (override));
127*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, SetRTCP_CNAME, (absl::string_view c_name), (override));
128*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
129*d9f75844SAndroid Build Coastguard Worker               SetSendAudioLevelIndicationStatus,
130*d9f75844SAndroid Build Coastguard Worker               (bool enable, int id),
131*d9f75844SAndroid Build Coastguard Worker               (override));
132*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
133*d9f75844SAndroid Build Coastguard Worker               RegisterSenderCongestionControlObjects,
134*d9f75844SAndroid Build Coastguard Worker               (RtpTransportControllerSendInterface*, RtcpBandwidthObserver*),
135*d9f75844SAndroid Build Coastguard Worker               (override));
136*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, ResetSenderCongestionControlObjects, (), (override));
137*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(CallSendStatistics, GetRTCPStatistics, (), (const, override));
138*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(std::vector<ReportBlock>,
139*d9f75844SAndroid Build Coastguard Worker               GetRemoteRTCPReportBlocks,
140*d9f75844SAndroid Build Coastguard Worker               (),
141*d9f75844SAndroid Build Coastguard Worker               (const, override));
142*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(ANAStats, GetANAStatistics, (), (const, override));
143*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
144*d9f75844SAndroid Build Coastguard Worker               RegisterCngPayloadType,
145*d9f75844SAndroid Build Coastguard Worker               (int payload_type, int payload_frequency),
146*d9f75844SAndroid Build Coastguard Worker               (override));
147*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
148*d9f75844SAndroid Build Coastguard Worker               SetSendTelephoneEventPayloadType,
149*d9f75844SAndroid Build Coastguard Worker               (int payload_type, int payload_frequency),
150*d9f75844SAndroid Build Coastguard Worker               (override));
151*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(bool,
152*d9f75844SAndroid Build Coastguard Worker               SendTelephoneEventOutband,
153*d9f75844SAndroid Build Coastguard Worker               (int event, int duration_ms),
154*d9f75844SAndroid Build Coastguard Worker               (override));
155*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
156*d9f75844SAndroid Build Coastguard Worker               OnBitrateAllocation,
157*d9f75844SAndroid Build Coastguard Worker               (BitrateAllocationUpdate update),
158*d9f75844SAndroid Build Coastguard Worker               (override));
159*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, SetInputMute, (bool muted), (override));
160*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
161*d9f75844SAndroid Build Coastguard Worker               ReceivedRTCPPacket,
162*d9f75844SAndroid Build Coastguard Worker               (const uint8_t*, size_t length),
163*d9f75844SAndroid Build Coastguard Worker               (override));
164*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
165*d9f75844SAndroid Build Coastguard Worker               ProcessAndEncodeAudio,
166*d9f75844SAndroid Build Coastguard Worker               (std::unique_ptr<AudioFrame>),
167*d9f75844SAndroid Build Coastguard Worker               (override));
168*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(RtpRtcpInterface*, GetRtpRtcp, (), (const, override));
169*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(int, GetTargetBitrate, (), (const, override));
170*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(int64_t, GetRTT, (), (const, override));
171*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, StartSend, (), (override));
172*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void, StopSend, (), (override));
173*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(void,
174*d9f75844SAndroid Build Coastguard Worker               SetFrameEncryptor,
175*d9f75844SAndroid Build Coastguard Worker               (rtc::scoped_refptr<FrameEncryptorInterface> frame_encryptor),
176*d9f75844SAndroid Build Coastguard Worker               (override));
177*d9f75844SAndroid Build Coastguard Worker   MOCK_METHOD(
178*d9f75844SAndroid Build Coastguard Worker       void,
179*d9f75844SAndroid Build Coastguard Worker       SetEncoderToPacketizerFrameTransformer,
180*d9f75844SAndroid Build Coastguard Worker       (rtc::scoped_refptr<webrtc::FrameTransformerInterface> frame_transformer),
181*d9f75844SAndroid Build Coastguard Worker       (override));
182*d9f75844SAndroid Build Coastguard Worker };
183*d9f75844SAndroid Build Coastguard Worker }  // namespace test
184*d9f75844SAndroid Build Coastguard Worker }  // namespace webrtc
185*d9f75844SAndroid Build Coastguard Worker 
186*d9f75844SAndroid Build Coastguard Worker #endif  // AUDIO_MOCK_VOE_CHANNEL_PROXY_H_
187