annotate src/portaudio_20161030/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx @ 81:7029a4916348

Merge build update
author Chris Cannam
date Thu, 31 Oct 2019 13:36:58 +0000
parents 284acf908dcd
children
rev   line source
Chris@55 1 #include "portaudiocpp/InterfaceCallbackStream.hxx"
Chris@55 2
Chris@55 3 #include "portaudiocpp/StreamParameters.hxx"
Chris@55 4 #include "portaudiocpp/Exception.hxx"
Chris@55 5 #include "portaudiocpp/CallbackInterface.hxx"
Chris@55 6
Chris@55 7 namespace portaudio
Chris@55 8 {
Chris@55 9
Chris@55 10 // ---------------------------------------------------------------------------------==
Chris@55 11
Chris@55 12 InterfaceCallbackStream::InterfaceCallbackStream()
Chris@55 13 {
Chris@55 14 }
Chris@55 15
Chris@55 16 InterfaceCallbackStream::InterfaceCallbackStream(const StreamParameters &parameters, CallbackInterface &instance)
Chris@55 17 {
Chris@55 18 open(parameters, instance);
Chris@55 19 }
Chris@55 20
Chris@55 21 InterfaceCallbackStream::~InterfaceCallbackStream()
Chris@55 22 {
Chris@55 23 try
Chris@55 24 {
Chris@55 25 close();
Chris@55 26 }
Chris@55 27 catch (...)
Chris@55 28 {
Chris@55 29 // ignore all errors
Chris@55 30 }
Chris@55 31 }
Chris@55 32
Chris@55 33 // ---------------------------------------------------------------------------------==
Chris@55 34
Chris@55 35 void InterfaceCallbackStream::open(const StreamParameters &parameters, CallbackInterface &instance)
Chris@55 36 {
Chris@55 37 PaError err = Pa_OpenStream(&stream_, parameters.inputParameters().paStreamParameters(), parameters.outputParameters().paStreamParameters(),
Chris@55 38 parameters.sampleRate(), parameters.framesPerBuffer(), parameters.flags(), &impl::callbackInterfaceToPaCallbackAdapter, static_cast<void *>(&instance));
Chris@55 39
Chris@55 40 if (err != paNoError)
Chris@55 41 {
Chris@55 42 throw PaException(err);
Chris@55 43 }
Chris@55 44 }
Chris@55 45 }