Mercurial > hg > sv-dependency-builds
annotate src/portaudio/bindings/cpp/source/portaudiocpp/CFunCallbackStream.cxx @ 109:9d5448da9449
Added tag sv_v2.1 for changeset 619f715526df
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Thu, 16 May 2013 16:47:33 +0100 |
parents | 8a15ff55d9af |
children |
rev | line source |
---|---|
cannam@89 | 1 #include "portaudiocpp/CFunCallbackStream.hxx" |
cannam@89 | 2 |
cannam@89 | 3 #include "portaudiocpp/StreamParameters.hxx" |
cannam@89 | 4 #include "portaudiocpp/Exception.hxx" |
cannam@89 | 5 |
cannam@89 | 6 namespace portaudio |
cannam@89 | 7 { |
cannam@89 | 8 CFunCallbackStream::CFunCallbackStream() |
cannam@89 | 9 { |
cannam@89 | 10 } |
cannam@89 | 11 |
cannam@89 | 12 CFunCallbackStream::CFunCallbackStream(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData) |
cannam@89 | 13 { |
cannam@89 | 14 open(parameters, funPtr, userData); |
cannam@89 | 15 } |
cannam@89 | 16 |
cannam@89 | 17 CFunCallbackStream::~CFunCallbackStream() |
cannam@89 | 18 { |
cannam@89 | 19 try |
cannam@89 | 20 { |
cannam@89 | 21 close(); |
cannam@89 | 22 } |
cannam@89 | 23 catch (...) |
cannam@89 | 24 { |
cannam@89 | 25 // ignore all errors |
cannam@89 | 26 } |
cannam@89 | 27 } |
cannam@89 | 28 |
cannam@89 | 29 // ---------------------------------------------------------------------------------== |
cannam@89 | 30 |
cannam@89 | 31 void CFunCallbackStream::open(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData) |
cannam@89 | 32 { |
cannam@89 | 33 PaError err = Pa_OpenStream(&stream_, parameters.inputParameters().paStreamParameters(), parameters.outputParameters().paStreamParameters(), |
cannam@89 | 34 parameters.sampleRate(), parameters.framesPerBuffer(), parameters.flags(), funPtr, userData); |
cannam@89 | 35 |
cannam@89 | 36 if (err != paNoError) |
cannam@89 | 37 { |
cannam@89 | 38 throw PaException(err); |
cannam@89 | 39 } |
cannam@89 | 40 } |
cannam@89 | 41 } |