kodi
AELimiter.h
1 /*
2  * Copyright (C) 2010-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "AEAudioFormat.h"
12 
13 #include <algorithm>
14 
16 {
17  private:
18  float m_amplify;
19  float m_attenuation;
20  float m_samplerate;
21  int m_holdcounter;
22  float m_increase;
23 
24  public:
25  CAELimiter();
26 
27  void SetAmplification(float amplify)
28  {
29  m_amplify = std::max(std::min(amplify, 1000.0f), 0.0f);
30  }
31 
32  float GetAmplification() const
33  {
34  return m_amplify;
35  }
36 
37  void SetSamplerate(int samplerate)
38  {
39  m_samplerate = (float)samplerate;
40  }
41 
42  float Run(float* frame[AE_CH_MAX], int channels, int offset = 0, bool planar = false);
43 };
Definition: AELimiter.h:15