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