1 /*
2  *  Copyright (c) 2014 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_AUDIO_CODING_CODECS_MOCK_MOCK_AUDIO_ENCODER_H_
12 #define WEBRTC_MODULES_AUDIO_CODING_CODECS_MOCK_MOCK_AUDIO_ENCODER_H_
13 
14 #include "webrtc/modules/audio_coding/codecs/audio_encoder.h"
15 
16 #include "testing/gmock/include/gmock/gmock.h"
17 
18 namespace webrtc {
19 
20 class MockAudioEncoder final : public AudioEncoder {
21  public:
~MockAudioEncoder()22   ~MockAudioEncoder() override { Die(); }
23   MOCK_METHOD0(Die, void());
24   MOCK_METHOD1(Mark, void(std::string desc));
25   MOCK_CONST_METHOD0(MaxEncodedBytes, size_t());
26   MOCK_CONST_METHOD0(SampleRateHz, int());
27   MOCK_CONST_METHOD0(NumChannels, size_t());
28   MOCK_CONST_METHOD0(RtpTimestampRateHz, int());
29   MOCK_CONST_METHOD0(Num10MsFramesInNextPacket, size_t());
30   MOCK_CONST_METHOD0(Max10MsFramesInAPacket, size_t());
31   MOCK_CONST_METHOD0(GetTargetBitrate, int());
32   // Note, we explicitly chose not to create a mock for the Encode method.
33   MOCK_METHOD4(EncodeInternal,
34                EncodedInfo(uint32_t timestamp,
35                            rtc::ArrayView<const int16_t> audio,
36                            size_t max_encoded_bytes,
37                            uint8_t* encoded));
38   MOCK_METHOD0(Reset, void());
39   MOCK_METHOD1(SetFec, bool(bool enable));
40   MOCK_METHOD1(SetDtx, bool(bool enable));
41   MOCK_METHOD1(SetApplication, bool(Application application));
42   MOCK_METHOD1(SetMaxPlaybackRate, void(int frequency_hz));
43   MOCK_METHOD1(SetProjectedPacketLossRate, void(double fraction));
44   MOCK_METHOD1(SetTargetBitrate, void(int target_bps));
45   MOCK_METHOD1(SetMaxBitrate, void(int max_bps));
46   MOCK_METHOD1(SetMaxPayloadSize, void(int max_payload_size_bytes));
47 };
48 
49 }  // namespace webrtc
50 
51 #endif  // WEBRTC_MODULES_AUDIO_CODING_CODECS_MOCK_MOCK_AUDIO_ENCODER_H_
52