annotate src/portaudio_20140130/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx @ 169:223a55898ab9 tip default

Add null config files
author Chris Cannam <cannam@all-day-breakfast.com>
date Mon, 02 Mar 2020 14:03:47 +0000
parents e3d5853d5918
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 &parameters, 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 &parameters, 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 }