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;
|
|
}; |