BlockingStream.hxx (1120B)
1 #ifndef INCLUDED_PORTAUDIO_BLOCKINGSTREAM_HXX 2 #define INCLUDED_PORTAUDIO_BLOCKINGSTREAM_HXX 3 4 // --------------------------------------------------------------------------------------- 5 6 #include "portaudiocpp/Stream.hxx" 7 8 // --------------------------------------------------------------------------------------- 9 10 namespace portaudio 11 { 12 13 14 15 ////// 16 /// @brief Stream class for blocking read/write-style input and output. 17 ////// 18 class BlockingStream : public Stream 19 { 20 public: 21 BlockingStream(); 22 BlockingStream(const StreamParameters ¶meters); 23 ~BlockingStream(); 24 25 void open(const StreamParameters ¶meters); 26 27 void read(void *buffer, unsigned long numFrames); 28 void write(const void *buffer, unsigned long numFrames); 29 30 signed long availableReadSize() const; 31 signed long availableWriteSize() const; 32 33 private: 34 BlockingStream(const BlockingStream &); // non-copyable 35 BlockingStream &operator=(const BlockingStream &); // non-copyable 36 }; 37 38 39 40 } // portaudio 41 42 // --------------------------------------------------------------------------------------- 43 44 #endif // INCLUDED_PORTAUDIO_BLOCKINGSTREAM_HXX 45