Chris@55: #ifndef INCLUDED_PORTAUDIO_BLOCKINGSTREAM_HXX Chris@55: #define INCLUDED_PORTAUDIO_BLOCKINGSTREAM_HXX Chris@55: Chris@55: // --------------------------------------------------------------------------------------- Chris@55: Chris@55: #include "portaudiocpp/Stream.hxx" Chris@55: Chris@55: // --------------------------------------------------------------------------------------- Chris@55: Chris@55: namespace portaudio Chris@55: { Chris@55: Chris@55: Chris@55: Chris@55: ////// Chris@55: /// @brief Stream class for blocking read/write-style input and output. Chris@55: ////// Chris@55: class BlockingStream : public Stream Chris@55: { Chris@55: public: Chris@55: BlockingStream(); Chris@55: BlockingStream(const StreamParameters ¶meters); Chris@55: ~BlockingStream(); Chris@55: Chris@55: void open(const StreamParameters ¶meters); Chris@55: Chris@55: void read(void *buffer, unsigned long numFrames); Chris@55: void write(const void *buffer, unsigned long numFrames); Chris@55: Chris@55: signed long availableReadSize() const; Chris@55: signed long availableWriteSize() const; Chris@55: Chris@55: private: Chris@55: BlockingStream(const BlockingStream &); // non-copyable Chris@55: BlockingStream &operator=(const BlockingStream &); // non-copyable Chris@55: }; Chris@55: Chris@55: Chris@55: Chris@55: } // portaudio Chris@55: Chris@55: // --------------------------------------------------------------------------------------- Chris@55: Chris@55: #endif // INCLUDED_PORTAUDIO_BLOCKINGSTREAM_HXX Chris@55: