19a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org/*
29a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
39a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org *
49a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org *  Use of this source code is governed by a BSD-style license
59a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org *  that can be found in the LICENSE file in the root of the source
69a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org *  tree. An additional intellectual property rights grant can be found
79a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org *  in the file PATENTS.  All contributing project authors may
89a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org *  be found in the AUTHORS file in the root of the source tree.
99a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org */
109a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org
11e5abc854f3dc47de16067c2a41476c39b7626722henrik.lundin@webrtc.org#ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ_MOCK_MOCK_DELAY_MANAGER_H_
12e5abc854f3dc47de16067c2a41476c39b7626722henrik.lundin@webrtc.org#define WEBRTC_MODULES_AUDIO_CODING_NETEQ_MOCK_MOCK_DELAY_MANAGER_H_
139a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org
14e5abc854f3dc47de16067c2a41476c39b7626722henrik.lundin@webrtc.org#include "webrtc/modules/audio_coding/neteq/delay_manager.h"
159a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org
169a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org#include "gmock/gmock.h"
179a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org
189a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.orgnamespace webrtc {
199a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org
209a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.orgclass MockDelayManager : public DelayManager {
219a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org public:
229a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MockDelayManager(int max_packets_in_buffer, DelayPeakDetector* peak_detector)
239a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      : DelayManager(max_packets_in_buffer, peak_detector) {}
249a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  virtual ~MockDelayManager() { Die(); }
259a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_METHOD0(Die, void());
269a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_CONST_METHOD0(iat_vector,
279a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      const IATVector&());
289a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_METHOD3(Update,
299a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      int(uint16_t sequence_number, uint32_t timestamp, int sample_rate_hz));
309a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_METHOD1(CalculateTargetLevel,
319a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      int(int iat_packets));
329a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_METHOD1(SetPacketAudioLength,
339a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      int(int length_ms));
349a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_METHOD0(Reset,
359a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      void());
369a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_CONST_METHOD0(AverageIAT,
379a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      int());
389a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_CONST_METHOD0(PeakFound,
399a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      bool());
409a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_METHOD1(UpdateCounters,
419a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      void(int elapsed_time_ms));
429a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_METHOD0(ResetPacketIatCount,
439a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      void());
449a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_CONST_METHOD2(BufferLimits,
459a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      void(int* lower_limit, int* higher_limit));
469a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_CONST_METHOD0(TargetLevel,
479a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      int());
489a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_METHOD1(LastDecoderType,
499a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      void(NetEqDecoder decoder_type));
509a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_METHOD1(set_extra_delay_ms,
519a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      void(int16_t delay));
529a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_CONST_METHOD0(base_target_level,
539a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      int());
549a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_METHOD1(set_streaming_mode,
559a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      void(bool value));
569a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_CONST_METHOD0(last_pack_cng_or_dtmf,
579a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      int());
589a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org  MOCK_METHOD1(set_last_pack_cng_or_dtmf,
599a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org      void(int value));
609a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org};
619a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org
629a400812ca0006d12e538d465ab6728a8ecd07aahenrik.lundin@webrtc.org}  // namespace webrtc
63e5abc854f3dc47de16067c2a41476c39b7626722henrik.lundin@webrtc.org#endif  // WEBRTC_MODULES_AUDIO_CODING_NETEQ_MOCK_MOCK_DELAY_MANAGER_H_
64