annotate src/portaudio/bindings/cpp/source/portaudiocpp/CFunCallbackStream.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/CFunCallbackStream.hxx"
Chris@4 2
Chris@4 3 #include "portaudiocpp/StreamParameters.hxx"
Chris@4 4 #include "portaudiocpp/Exception.hxx"
Chris@4 5
Chris@4 6 namespace portaudio
Chris@4 7 {
Chris@4 8 CFunCallbackStream::CFunCallbackStream()
Chris@4 9 {
Chris@4 10 }
Chris@4 11
Chris@4 12 CFunCallbackStream::CFunCallbackStream(const StreamParameters &parameters, PaStreamCallback *funPtr, void *userData)
Chris@4 13 {
Chris@4 14 open(parameters, funPtr, userData);
Chris@4 15 }
Chris@4 16
Chris@4 17 CFunCallbackStream::~CFunCallbackStream()
Chris@4 18 {
Chris@4 19 try
Chris@4 20 {
Chris@4 21 close();
Chris@4 22 }
Chris@4 23 catch (...)
Chris@4 24 {
Chris@4 25 // ignore all errors
Chris@4 26 }
Chris@4 27 }
Chris@4 28
Chris@4 29 // ---------------------------------------------------------------------------------==
Chris@4 30
Chris@4 31 void CFunCallbackStream::open(const StreamParameters &parameters, PaStreamCallback *funPtr, void *userData)
Chris@4 32 {
Chris@4 33 PaError err = Pa_OpenStream(&stream_, parameters.inputParameters().paStreamParameters(), parameters.outputParameters().paStreamParameters(),
Chris@4 34 parameters.sampleRate(), parameters.framesPerBuffer(), parameters.flags(), funPtr, userData);
Chris@4 35
Chris@4 36 if (err != paNoError)
Chris@4 37 {
Chris@4 38 throw PaException(err);
Chris@4 39 }
Chris@4 40 }
Chris@4 41 }