1/*
2 *  Copyright (c) 2012 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_NETEQ_MOCK_MOCK_DELAY_MANAGER_H_
12#define WEBRTC_MODULES_AUDIO_CODING_NETEQ_MOCK_MOCK_DELAY_MANAGER_H_
13
14#include "webrtc/modules/audio_coding/neteq/delay_manager.h"
15
16#include "testing/gmock/include/gmock/gmock.h"
17
18namespace webrtc {
19
20class MockDelayManager : public DelayManager {
21 public:
22  MockDelayManager(int max_packets_in_buffer, DelayPeakDetector* peak_detector)
23      : DelayManager(max_packets_in_buffer, peak_detector) {}
24  virtual ~MockDelayManager() { Die(); }
25  MOCK_METHOD0(Die, void());
26  MOCK_CONST_METHOD0(iat_vector,
27      const IATVector&());
28  MOCK_METHOD3(Update,
29      int(uint16_t sequence_number, uint32_t timestamp, int sample_rate_hz));
30  MOCK_METHOD1(CalculateTargetLevel,
31      int(int iat_packets));
32  MOCK_METHOD1(SetPacketAudioLength,
33      int(int length_ms));
34  MOCK_METHOD0(Reset,
35      void());
36  MOCK_CONST_METHOD0(AverageIAT,
37      int());
38  MOCK_CONST_METHOD0(PeakFound,
39      bool());
40  MOCK_METHOD1(UpdateCounters,
41      void(int elapsed_time_ms));
42  MOCK_METHOD0(ResetPacketIatCount,
43      void());
44  MOCK_CONST_METHOD2(BufferLimits,
45      void(int* lower_limit, int* higher_limit));
46  MOCK_CONST_METHOD0(TargetLevel,
47      int());
48  MOCK_METHOD1(LastDecoderType,
49      void(NetEqDecoder decoder_type));
50  MOCK_METHOD1(set_extra_delay_ms,
51      void(int16_t delay));
52  MOCK_CONST_METHOD0(base_target_level,
53      int());
54  MOCK_METHOD1(set_streaming_mode,
55      void(bool value));
56  MOCK_CONST_METHOD0(last_pack_cng_or_dtmf,
57      int());
58  MOCK_METHOD1(set_last_pack_cng_or_dtmf,
59      void(int value));
60};
61
62}  // namespace webrtc
63#endif  // WEBRTC_MODULES_AUDIO_CODING_NETEQ_MOCK_MOCK_DELAY_MANAGER_H_
64