1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-09-19 19:05:03 +00:00
qb64/internal/c/parts/audio/decode/mp3/download/MP3decoder.h

43 lines
1 KiB
C++

//
// MP3decoder.h: interface for the MP3decoder class.
//
//////////////////////////////////////////////////////////////////////
class MP3decoder
{
public:
MP3decoder();
~MP3decoder();
bool _stdcall OpenStream(char* pcfilename,int *isample,int *ichannel,int *ibyte,void * ptSettings, int *bufsizebyte);
int _stdcall Decode(BYTE* pbout);
bool _stdcall CloseStream();
DWORD _stdcall GetTotalTime(char * pcfilename);
DWORD _stdcall GetPos( void ); // 1/1000 sec
bool _stdcall SetPos( DWORD aiPosMS ); // 1/1000 sec
private:
DWORD m_pos;
struct mpstr mp;
char buf[16384];
char m_pbRestBuf[8192];
char out[8192];
int m_outsize;
FILE * fin;
DWORD m_dwBufSize;
DWORD m_dwRestBufSize;
const static DWORD BUFFER_SIZE = 16384;
VBRTAGDATA vbrtag;
int m_length;
DWORD m_nInFileSize;
int m_nbytes;
int m_hasVbrtag;
bool m_seeked;
bool m_bfeof;
};
#endif // !defined(AFX_MP3DECODER_H__6A643246_395C_487E_BE15_CC621BBA084A__INCLUDED_)