annotate src/portaudio_20140130/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx @ 83:ae30d91d2ffe
Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author |
Chris Cannam |
date |
Fri, 07 Feb 2020 11:51:13 +0000 |
parents |
7ddb4fc30dac |
children |
|
rev |
line source |
Chris@39
|
1 #include "portaudiocpp/InterfaceCallbackStream.hxx"
|
Chris@39
|
2
|
Chris@39
|
3 #include "portaudiocpp/StreamParameters.hxx"
|
Chris@39
|
4 #include "portaudiocpp/Exception.hxx"
|
Chris@39
|
5 #include "portaudiocpp/CallbackInterface.hxx"
|
Chris@39
|
6
|
Chris@39
|
7 namespace portaudio
|
Chris@39
|
8 {
|
Chris@39
|
9
|
Chris@39
|
10 // ---------------------------------------------------------------------------------==
|
Chris@39
|
11
|
Chris@39
|
12 InterfaceCallbackStream::InterfaceCallbackStream()
|
Chris@39
|
13 {
|
Chris@39
|
14 }
|
Chris@39
|
15
|
Chris@39
|
16 InterfaceCallbackStream::InterfaceCallbackStream(const StreamParameters ¶meters, CallbackInterface &instance)
|
Chris@39
|
17 {
|
Chris@39
|
18 open(parameters, instance);
|
Chris@39
|
19 }
|
Chris@39
|
20
|
Chris@39
|
21 InterfaceCallbackStream::~InterfaceCallbackStream()
|
Chris@39
|
22 {
|
Chris@39
|
23 try
|
Chris@39
|
24 {
|
Chris@39
|
25 close();
|
Chris@39
|
26 }
|
Chris@39
|
27 catch (...)
|
Chris@39
|
28 {
|
Chris@39
|
29 // ignore all errors
|
Chris@39
|
30 }
|
Chris@39
|
31 }
|
Chris@39
|
32
|
Chris@39
|
33 // ---------------------------------------------------------------------------------==
|
Chris@39
|
34
|
Chris@39
|
35 void InterfaceCallbackStream::open(const StreamParameters ¶meters, CallbackInterface &instance)
|
Chris@39
|
36 {
|
Chris@39
|
37 PaError err = Pa_OpenStream(&stream_, parameters.inputParameters().paStreamParameters(), parameters.outputParameters().paStreamParameters(),
|
Chris@39
|
38 parameters.sampleRate(), parameters.framesPerBuffer(), parameters.flags(), &impl::callbackInterfaceToPaCallbackAdapter, static_cast<void *>(&instance));
|
Chris@39
|
39
|
Chris@39
|
40 if (err != paNoError)
|
Chris@39
|
41 {
|
Chris@39
|
42 throw PaException(err);
|
Chris@39
|
43 }
|
Chris@39
|
44 }
|
Chris@39
|
45 }
|