00001
00024 #ifndef STREAM_H_INCLUDED_C41983DF
00025 #define STREAM_H_INCLUDED_C41983DF
00026
00027 #include "openalpp/export.h"
00028 #include "openalpp/sounddata.h"
00029 #include "openalpp/ref_ptr.h"
00030 #include "openalpp/streamupdater.h"
00031
00032 #ifdef WIN32
00033
00034 #pragma warning(disable : 4251)
00035 #endif
00036
00037
00038 namespace openalpp {
00039
00040
00041
00046 class OPENALPP_API Stream : public SoundData {
00047 protected:
00051 openalpp::ref_ptr<SoundData> buffer2_;
00052
00053 openalpp::ref_ptr<StreamUpdater> updater_;
00054 public:
00058 Stream() throw (NameError);
00059
00063 Stream(const Stream &stream);
00064
00068 Stream &operator=(const Stream &stream);
00069
00070
00071 void prepareForDeletion() {updater_->cancel();}
00072
00078 void record(ALuint sourcename);
00079
00083 void seek(float time_s);
00084
00089 void stop(ALuint sourcename);
00090
00091 protected:
00095 virtual ~Stream();
00096
00097 };
00098
00099 }
00100
00101 #endif