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