41 lines
668 B
C
41 lines
668 B
C
|
class Shaper;
|
||
|
|
||
|
class Decoder
|
||
|
{
|
||
|
private:
|
||
|
void process_rg();
|
||
|
void setup_mc();
|
||
|
float* bptr;
|
||
|
float** pcmbuf;
|
||
|
Shaper * shaper;
|
||
|
UINT data,pos;
|
||
|
float scale;
|
||
|
int cur_link;
|
||
|
int cur_preamp;
|
||
|
int clipmin,clipmax;
|
||
|
public:
|
||
|
VorbisFile * file;
|
||
|
|
||
|
UINT nch,sr,kbps,bps,src_nch;
|
||
|
|
||
|
Decoder()
|
||
|
{
|
||
|
memset(this,0,sizeof(*this));
|
||
|
}
|
||
|
|
||
|
~Decoder();
|
||
|
|
||
|
int Seek(double p);
|
||
|
int Read(UINT bytes,void * buf);
|
||
|
void Flush();
|
||
|
void Init(VorbisFile * f, UINT _bits=0, UINT _nch=0, bool _useFloat=false, bool allowRG=true);
|
||
|
void wa2_setinfo(UINT cur_bitrate);
|
||
|
|
||
|
UINT DataAvailable();
|
||
|
int DoFrame();
|
||
|
bool need_reopen;
|
||
|
int play_init();
|
||
|
bool play_inited;
|
||
|
bool dither;
|
||
|
bool useFloat;
|
||
|
};
|