Mercurial > hg > sv-dependency-builds
annotate src/portaudio_20140130/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.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 |
rev | line source |
---|---|
cannam@124 | 1 #include "portaudiocpp/InterfaceCallbackStream.hxx" |
cannam@124 | 2 |
cannam@124 | 3 #include "portaudiocpp/StreamParameters.hxx" |
cannam@124 | 4 #include "portaudiocpp/Exception.hxx" |
cannam@124 | 5 #include "portaudiocpp/CallbackInterface.hxx" |
cannam@124 | 6 |
cannam@124 | 7 namespace portaudio |
cannam@124 | 8 { |
cannam@124 | 9 |
cannam@124 | 10 // ---------------------------------------------------------------------------------== |
cannam@124 | 11 |
cannam@124 | 12 InterfaceCallbackStream::InterfaceCallbackStream() |
cannam@124 | 13 { |
cannam@124 | 14 } |
cannam@124 | 15 |
cannam@124 | 16 InterfaceCallbackStream::InterfaceCallbackStream(const StreamParameters ¶meters, CallbackInterface &instance) |
cannam@124 | 17 { |
cannam@124 | 18 open(parameters, instance); |
cannam@124 | 19 } |
cannam@124 | 20 |
cannam@124 | 21 InterfaceCallbackStream::~InterfaceCallbackStream() |
cannam@124 | 22 { |
cannam@124 | 23 try |
cannam@124 | 24 { |
cannam@124 | 25 close(); |
cannam@124 | 26 } |
cannam@124 | 27 catch (...) |
cannam@124 | 28 { |
cannam@124 | 29 // ignore all errors |
cannam@124 | 30 } |
cannam@124 | 31 } |
cannam@124 | 32 |
cannam@124 | 33 // ---------------------------------------------------------------------------------== |
cannam@124 | 34 |
cannam@124 | 35 void InterfaceCallbackStream::open(const StreamParameters ¶meters, CallbackInterface &instance) |
cannam@124 | 36 { |
cannam@124 | 37 PaError err = Pa_OpenStream(&stream_, parameters.inputParameters().paStreamParameters(), parameters.outputParameters().paStreamParameters(), |
cannam@124 | 38 parameters.sampleRate(), parameters.framesPerBuffer(), parameters.flags(), &impl::callbackInterfaceToPaCallbackAdapter, static_cast<void *>(&instance)); |
cannam@124 | 39 |
cannam@124 | 40 if (err != paNoError) |
cannam@124 | 41 { |
cannam@124 | 42 throw PaException(err); |
cannam@124 | 43 } |
cannam@124 | 44 } |
cannam@124 | 45 } |