00001
00024 #ifndef FILESTREAMUPDATER_H_INCLUDED
00025 #define FILESTREAMUPDATER_H_INCLUDED
00026 #include "openalpp/streamupdater.h"
00027 #include "stdlib.h"
00028 #include <vorbis/codec.h>
00029 #include <vorbis/vorbisfile.h>
00030 #include "openalpp/export.h"
00031
00032
00033
00034 namespace openalpp {
00035
00039 class OPENALPP_API FileStreamUpdater : public StreamUpdater {
00040 OggVorbis_File *oggfile_;
00041 unsigned int buffersize_;
00042 bool looping_;
00043 public:
00053 FileStreamUpdater(const OggVorbis_File &oggfile,
00054 const ALuint buffer1,ALuint buffer2,
00055 ALenum format,unsigned int frequency,
00056 unsigned int buffersize);
00057
00058
00063 void run();
00064
00069 void setLooping(bool loop = true);
00070
00071 protected:
00075 virtual ~FileStreamUpdater();
00076 };
00077
00078 }
00079
00080 #endif