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 #ifdef HAVE_CONFIG_H
00034 #include <config.h>
00035 #endif
00036
00037 #include "aflibFile.h"
00038 #include "stdio.h"
00039 #include "stdlib.h"
00040
00041 class Mpegtoraw;
00042
00043 class aflibMpgFile : public aflibFile {
00044
00045 public:
00046
00047 aflibMpgFile();
00048
00049 ~aflibMpgFile();
00050
00051 aflibStatus
00052 afopen(
00053 const char * file,
00054 aflibConfig* cfg);
00055
00056 aflibStatus
00057 afcreate(
00058 const char * file,
00059 const aflibConfig& cfg);
00060
00061 aflibStatus
00062 afread(
00063 aflibData& data,
00064 long long position = -1);
00065
00066 aflibStatus
00067 afwrite(
00068 aflibData& data,
00069 long long position = -1);
00070
00071 bool
00072 isDataSizeSupported(aflib_data_size size);
00073
00074 bool
00075 isEndianSupported(aflib_data_endian end);
00076
00077 bool
00078 isSampleRateSupported(int& rate);
00079
00080 private:
00081
00082 short int* _buffer;
00083 int _bufpos;
00084 long _buflen;
00085 long _samples_per_frame;
00086 long _total_frames;
00087 int _channels;
00088 Mpegtoraw* _decoder;
00089 long _current_frame;
00090
00091 };
00092
00093
00094 #endif