23 lines
626 B
C++
23 lines
626 B
C++
#ifndef NULLSOFT_WINAMP_RESAMPLER_H
|
|
#define NULLSOFT_WINAMP_RESAMPLER_H
|
|
#include <mmreg.h>
|
|
#include <msacm.h>
|
|
class Resampler
|
|
{
|
|
public:
|
|
Resampler(size_t inputBits, size_t inputChannels, size_t inputSampleRate,
|
|
size_t outputBits, size_t outputChannels, size_t outputSampleRate, bool floatingPoint);
|
|
~Resampler();
|
|
size_t Convert(void *input, size_t *inputBytes, void *output, size_t outputBytes);
|
|
bool OK();
|
|
void Flush();
|
|
double sizeFactor;
|
|
private:
|
|
size_t UseInternalBuffer(void *output, size_t outputBytes);
|
|
HACMSTREAM hStream;
|
|
__int8 *buffer;
|
|
size_t bufferAlloc;
|
|
size_t bufferValid;
|
|
bool eof;
|
|
};
|
|
#endif |