annotate src/portaudio_20161030/bindings/cpp/source/portaudiocpp/CFunCallbackStream.cxx @ 55:284acf908dcd

Add source for PortAudio stable v190600_20161030
author Chris Cannam
date Tue, 03 Jan 2017 13:44:07 +0000
parents src/portaudio/bindings/cpp/source/portaudiocpp/CFunCallbackStream.cxx@e13257ea84a4
children
rev   line source
Chris@55 1 #include "portaudiocpp/CFunCallbackStream.hxx"
Chris@55 2
Chris@55 3 #include "portaudiocpp/StreamParameters.hxx"
Chris@55 4 #include "portaudiocpp/Exception.hxx"
Chris@55 5
Chris@55 6 namespace portaudio
Chris@55 7 {
Chris@55 8 CFunCallbackStream::CFunCallbackStream()
Chris@55 9 {
Chris@55 10 }
Chris@55 11
Chris@55 12 CFunCallbackStream::CFunCallbackStream(const StreamParameters &parameters, PaStreamCallback *funPtr, void *userData)
Chris@55 13 {
Chris@55 14 open(parameters, funPtr, userData);
Chris@55 15 }
Chris@55 16
Chris@55 17 CFunCallbackStream::~CFunCallbackStream()
Chris@55 18 {
Chris@55 19 try
Chris@55 20 {
Chris@55 21 close();
Chris@55 22 }
Chris@55 23 catch (...)
Chris@55 24 {
Chris@55 25 // ignore all errors
Chris@55 26 }
Chris@55 27 }
Chris@55 28
Chris@55 29 // ---------------------------------------------------------------------------------==
Chris@55 30
Chris@55 31 void CFunCallbackStream::open(const StreamParameters &parameters, PaStreamCallback *funPtr, void *userData)
Chris@55 32 {
Chris@55 33 PaError err = Pa_OpenStream(&stream_, parameters.inputParameters().paStreamParameters(), parameters.outputParameters().paStreamParameters(),
Chris@55 34 parameters.sampleRate(), parameters.framesPerBuffer(), parameters.flags(), funPtr, userData);
Chris@55 35
Chris@55 36 if (err != paNoError)
Chris@55 37 {
Chris@55 38 throw PaException(err);
Chris@55 39 }
Chris@55 40 }
Chris@55 41 }