annotate src/portaudio/bindings/cpp/source/portaudiocpp/CFunCallbackStream.cxx @ 118:a8541380d3e0
Ah, we've already done this. Merge, taking everything from the branch with the older commits.
author |
Chris Cannam <cannam@all-day-breakfast.com> |
date |
Fri, 04 Jul 2014 10:37:37 +0100 |
parents |
8a15ff55d9af |
children |
|
rev |
line source |
cannam@89
|
1 #include "portaudiocpp/CFunCallbackStream.hxx"
|
cannam@89
|
2
|
cannam@89
|
3 #include "portaudiocpp/StreamParameters.hxx"
|
cannam@89
|
4 #include "portaudiocpp/Exception.hxx"
|
cannam@89
|
5
|
cannam@89
|
6 namespace portaudio
|
cannam@89
|
7 {
|
cannam@89
|
8 CFunCallbackStream::CFunCallbackStream()
|
cannam@89
|
9 {
|
cannam@89
|
10 }
|
cannam@89
|
11
|
cannam@89
|
12 CFunCallbackStream::CFunCallbackStream(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData)
|
cannam@89
|
13 {
|
cannam@89
|
14 open(parameters, funPtr, userData);
|
cannam@89
|
15 }
|
cannam@89
|
16
|
cannam@89
|
17 CFunCallbackStream::~CFunCallbackStream()
|
cannam@89
|
18 {
|
cannam@89
|
19 try
|
cannam@89
|
20 {
|
cannam@89
|
21 close();
|
cannam@89
|
22 }
|
cannam@89
|
23 catch (...)
|
cannam@89
|
24 {
|
cannam@89
|
25 // ignore all errors
|
cannam@89
|
26 }
|
cannam@89
|
27 }
|
cannam@89
|
28
|
cannam@89
|
29 // ---------------------------------------------------------------------------------==
|
cannam@89
|
30
|
cannam@89
|
31 void CFunCallbackStream::open(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData)
|
cannam@89
|
32 {
|
cannam@89
|
33 PaError err = Pa_OpenStream(&stream_, parameters.inputParameters().paStreamParameters(), parameters.outputParameters().paStreamParameters(),
|
cannam@89
|
34 parameters.sampleRate(), parameters.framesPerBuffer(), parameters.flags(), funPtr, userData);
|
cannam@89
|
35
|
cannam@89
|
36 if (err != paNoError)
|
cannam@89
|
37 {
|
cannam@89
|
38 throw PaException(err);
|
cannam@89
|
39 }
|
cannam@89
|
40 }
|
cannam@89
|
41 }
|