Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
38
Src/Winamp/ResamplingReader.h
Normal file
38
Src/Winamp/ResamplingReader.h
Normal file
|
@ -0,0 +1,38 @@
|
|||
#ifndef NULLSOFT_WINAMP_RESAMPLINGREADER_H
|
||||
#define NULLSOFT_WINAMP_RESAMPLINGREADER_H
|
||||
|
||||
#include "../Agave/DecodeFile/ifc_audiostream.h"
|
||||
#include "Resampler.h"
|
||||
#include "CommonReader.h"
|
||||
// TODO: should probably pass in a sample frame size (nch*bps/8) so that we can have an integral number of samples in the buffer
|
||||
#define RESAMPLE_BUFFERSIZE 1024
|
||||
class ResamplingReader :public CommonReader
|
||||
{
|
||||
public:
|
||||
ResamplingReader(Resampler *_resampler, CommonReader *_reader, size_t inputFrameSize);
|
||||
~ResamplingReader();
|
||||
size_t ReadAudio(void *outputBuffer, size_t sizeBytes);
|
||||
|
||||
|
||||
protected:
|
||||
RECVS_DISPATCH;
|
||||
|
||||
private:
|
||||
Resampler *resampler;
|
||||
CommonReader *reader;
|
||||
|
||||
__int8 *buffer;
|
||||
size_t bufferAlloc;
|
||||
size_t bufferValid;
|
||||
|
||||
enum ReadState
|
||||
{
|
||||
READING=0,
|
||||
ENDOFFILE=1,
|
||||
FLUSHING=2,
|
||||
DONE=3,
|
||||
};
|
||||
ReadState readState;
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue