00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00030 #ifndef _AFLIBMPGFILE_H
00031 #define _AFLIBMPGFILE_H
00032
00033 #include "aflibFile.h"
00034 #include "stdio.h"
00035 #include "stdlib.h"
00036
00037 class Mpegtoraw;
00038
00039 class aflibMpgFile : public aflibFile {
00040
00041 public:
00042
00043 aflibMpgFile();
00044
00045 ~aflibMpgFile();
00046
00047 aflibStatus
00048 afopen(
00049 const char * file,
00050 aflibConfig* cfg);
00051
00052 aflibStatus
00053 afcreate(
00054 const char * file,
00055 const aflibConfig& cfg);
00056
00057 aflibStatus
00058 afread(
00059 aflibData& data,
00060 long long position = -1);
00061
00062 aflibStatus
00063 afwrite(
00064 aflibData& data,
00065 long long position = -1);
00066
00067 bool
00068 isDataSizeSupported(aflib_data_size size);
00069
00070 bool
00071 isEndianSupported(aflib_data_endian end);
00072
00073 bool
00074 isSampleRateSupported(int& rate);
00075
00076 private:
00077
00078 short int* _buffer;
00079 int _bufpos;
00080 long _buflen;
00081 long _samples_per_frame;
00082 long _total_frames;
00083 int _channels;
00084 Mpegtoraw* _decoder;
00085 long _current_frame;
00086
00087 };
00088
00089
00090 #endif