annotate src/portaudio/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx @ 23:619f715526df sv_v2.1

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