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