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