annotate src/portaudio_20140130/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx @ 39:7ddb4fc30dac

Current stable PortAudio source
author Chris Cannam
date Tue, 18 Oct 2016 13:11:05 +0100
parents
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 &parameters, 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 &parameters, 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 }