annotate src/portaudio_20161030/bindings/cpp/source/portaudiocpp/CFunCallbackStream.cxx @ 169:223a55898ab9 tip default

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