Alejandro Acuña
2024-08-12 1876e65234c20209001178705cfa50d8f9ded67a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// VolumeLimiter.h: interface for the VolumeLimiter class.
//
//////////////////////////////////////////////////////////////////////
 
#ifndef AFX_VOLUMELIMITER_H__AE04AB3F_5913_436C_8FEB_E78F7E31D0C3__INCLUDED_
#define AFX_VOLUMELIMITER_H__AE04AB3F_5913_436C_8FEB_E78F7E31D0C3__INCLUDED_
 
class VolumeLimiter  
{
public:
    VolumeLimiter(double threshold, double lossIncrement, double lossDecrement);
    virtual ~VolumeLimiter();
    int LimitVolume(short *packet, int numSamples);
private:
    double threshold;
    double loss;
    double lossTarget;
    double lossStep;
    double lossIncrement;
    double lossDecrement;
    const double smallNumber;
};
 
#endif // !defined(AFX_VOLUMELIMITER_H__AE04AB3F_5913_436C_8FEB_E78F7E31D0C3__INCLUDED_)