mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-12-04 10:03:11 -05:00
42 lines
1.0 KiB
C++
42 lines
1.0 KiB
C++
|
#include "portaudiocpp/CFunCallbackStream.hxx"
|
||
|
|
||
|
#include "portaudiocpp/StreamParameters.hxx"
|
||
|
#include "portaudiocpp/Exception.hxx"
|
||
|
|
||
|
namespace portaudio
|
||
|
{
|
||
|
CFunCallbackStream::CFunCallbackStream()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
CFunCallbackStream::CFunCallbackStream(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData)
|
||
|
{
|
||
|
open(parameters, funPtr, userData);
|
||
|
}
|
||
|
|
||
|
CFunCallbackStream::~CFunCallbackStream()
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
close();
|
||
|
}
|
||
|
catch (...)
|
||
|
{
|
||
|
// ignore all errors
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// ---------------------------------------------------------------------------------==
|
||
|
|
||
|
void CFunCallbackStream::open(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData)
|
||
|
{
|
||
|
PaError err = Pa_OpenStream(&stream_, parameters.inputParameters().paStreamParameters(), parameters.outputParameters().paStreamParameters(),
|
||
|
parameters.sampleRate(), parameters.framesPerBuffer(), parameters.flags(), funPtr, userData);
|
||
|
|
||
|
if (err != paNoError)
|
||
|
{
|
||
|
throw PaException(err);
|
||
|
}
|
||
|
}
|
||
|
}
|