00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _RESAMPLER_H_
00022 #define _RESAMPLER_H_
00023
00024 #include <sys/types.h>
00025
00026 class Resampler
00027 {
00028 public:
00029 enum Quality { Best, FastestTolerable, Fastest };
00030
00031 Resampler(Quality quality, size_t channels, size_t chunkSize = 0);
00032 ~Resampler();
00033
00034 size_t resample(float **in, float **out,
00035 size_t incount, float ratio,
00036 bool final = false);
00037
00038 size_t resampleInterleaved(float *in, float *out,
00039 size_t incount, float ratio,
00040 bool final = false);
00041
00042 void reset();
00043
00044 protected:
00045 class D;
00046 D *m_d;
00047 };
00048
00049 #endif