comparison src/portaudio_20140130/bindings/cpp/source/portaudiocpp/CFunCallbackStream.cxx @ 124:e3d5853d5918

Current stable PortAudio source
author Chris Cannam <cannam@all-day-breakfast.com>
date Tue, 18 Oct 2016 13:11:05 +0100
parents
children
comparison
equal deleted inserted replaced
123:0cef3a1bd1ae 124:e3d5853d5918
1 #include "portaudiocpp/CFunCallbackStream.hxx"
2
3 #include "portaudiocpp/StreamParameters.hxx"
4 #include "portaudiocpp/Exception.hxx"
5
6 namespace portaudio
7 {
8 CFunCallbackStream::CFunCallbackStream()
9 {
10 }
11
12 CFunCallbackStream::CFunCallbackStream(const StreamParameters &parameters, PaStreamCallback *funPtr, void *userData)
13 {
14 open(parameters, funPtr, userData);
15 }
16
17 CFunCallbackStream::~CFunCallbackStream()
18 {
19 try
20 {
21 close();
22 }
23 catch (...)
24 {
25 // ignore all errors
26 }
27 }
28
29 // ---------------------------------------------------------------------------------==
30
31 void CFunCallbackStream::open(const StreamParameters &parameters, PaStreamCallback *funPtr, void *userData)
32 {
33 PaError err = Pa_OpenStream(&stream_, parameters.inputParameters().paStreamParameters(), parameters.outputParameters().paStreamParameters(),
34 parameters.sampleRate(), parameters.framesPerBuffer(), parameters.flags(), funPtr, userData);
35
36 if (err != paNoError)
37 {
38 throw PaException(err);
39 }
40 }
41 }