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 // Ignore the dll interface warning using std::vector members 00034 #pragma warning(disable : 4251) 00035 #endif 00036 00037 00038 namespace openalpp { 00039 00040 //class StreamUpdater; 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 00076 void record(ALuint sourcename); 00077 00082 void stop(ALuint sourcename); 00083 00084 protected: 00088 virtual ~Stream(); 00089 00090 }; 00091 00092 } 00093 00094 #endif /* STREAM_H_INCLUDED_C41983DF */