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