00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef VORBISAUDIOREADER_H
00023 #define VORBISAUDIOREADER_H
00024
00025 #include "AbstractAudioReader.h"
00026 #include "vorbis/codec.h"
00027 #include "vorbis/vorbisfile.h"
00028 #include "stdio.h"
00029
00030
00031 class VorbisAudioReader : public AbstractAudioReader
00032 {
00033 public:
00034 VorbisAudioReader(QString filename);
00035 ~VorbisAudioReader();
00036
00037 QString decoder_type() const {return "vorbis";}
00038
00039 static bool can_decode(QString filename);
00040
00041 protected:
00042 bool seek_private(nframes_t start);
00043 nframes_t read_private(DecodeBuffer* buffer, nframes_t frameCount);
00044
00045 FILE* m_file;
00046 OggVorbis_File m_vf;
00047 vorbis_info* m_vi;
00048 };
00049
00050 #endif