annotate src/portaudio_20140130/bindings/cpp/source/portaudiocpp/CFunCallbackStream.cxx @ 124:e3d5853d5918

Current stable PortAudio source
author Chris Cannam <cannam@all-day-breakfast.com>
date Tue, 18 Oct 2016 13:11:05 +0100
parents
children
rev   line source
cannam@124 1 #include "portaudiocpp/CFunCallbackStream.hxx"
cannam@124 2
cannam@124 3 #include "portaudiocpp/StreamParameters.hxx"
cannam@124 4 #include "portaudiocpp/Exception.hxx"
cannam@124 5
cannam@124 6 namespace portaudio
cannam@124 7 {
cannam@124 8 CFunCallbackStream::CFunCallbackStream()
cannam@124 9 {
cannam@124 10 }
cannam@124 11
cannam@124 12 CFunCallbackStream::CFunCallbackStream(const StreamParameters &parameters, PaStreamCallback *funPtr, void *userData)
cannam@124 13 {
cannam@124 14 open(parameters, funPtr, userData);
cannam@124 15 }
cannam@124 16
cannam@124 17 CFunCallbackStream::~CFunCallbackStream()
cannam@124 18 {
cannam@124 19 try
cannam@124 20 {
cannam@124 21 close();
cannam@124 22 }
cannam@124 23 catch (...)
cannam@124 24 {
cannam@124 25 // ignore all errors
cannam@124 26 }
cannam@124 27 }
cannam@124 28
cannam@124 29 // ---------------------------------------------------------------------------------==
cannam@124 30
cannam@124 31 void CFunCallbackStream::open(const StreamParameters &parameters, PaStreamCallback *funPtr, void *userData)
cannam@124 32 {
cannam@124 33 PaError err = Pa_OpenStream(&stream_, parameters.inputParameters().paStreamParameters(), parameters.outputParameters().paStreamParameters(),
cannam@124 34 parameters.sampleRate(), parameters.framesPerBuffer(), parameters.flags(), funPtr, userData);
cannam@124 35
cannam@124 36 if (err != paNoError)
cannam@124 37 {
cannam@124 38 throw PaException(err);
cannam@124 39 }
cannam@124 40 }
cannam@124 41 }