To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

The primary repository for this project is hosted at https://github.com/sonic-visualiser/sv-dependency-builds .
This repository is a read-only copy which is updated automatically every hour.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / src / portaudio_20161030_catalina_patch / bindings / cpp / include / portaudiocpp / BlockingStream.hxx @ 162:d43aab368df9

History | View | Annotate | Download (1.09 KB)

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 &parameters);
23
		~BlockingStream();
24

    
25
		void open(const StreamParameters &parameters);
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