annotate src/portaudio/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx @ 107:71c914cf6201

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