mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-12 07:06:17 -05:00
e8dbf4c446
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/trunk@249 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
46 lines
1.2 KiB
C++
46 lines
1.2 KiB
C++
#include "portaudiocpp/InterfaceCallbackStream.hxx"
|
|
|
|
#include "portaudiocpp/StreamParameters.hxx"
|
|
#include "portaudiocpp/Exception.hxx"
|
|
#include "portaudiocpp/CallbackInterface.hxx"
|
|
|
|
namespace portaudio
|
|
{
|
|
|
|
// ---------------------------------------------------------------------------------==
|
|
|
|
InterfaceCallbackStream::InterfaceCallbackStream()
|
|
{
|
|
}
|
|
|
|
InterfaceCallbackStream::InterfaceCallbackStream(const StreamParameters ¶meters, CallbackInterface &instance)
|
|
{
|
|
open(parameters, instance);
|
|
}
|
|
|
|
InterfaceCallbackStream::~InterfaceCallbackStream()
|
|
{
|
|
try
|
|
{
|
|
close();
|
|
}
|
|
catch (...)
|
|
{
|
|
// ignore all errors
|
|
}
|
|
}
|
|
|
|
// ---------------------------------------------------------------------------------==
|
|
|
|
void InterfaceCallbackStream::open(const StreamParameters ¶meters, CallbackInterface &instance)
|
|
{
|
|
PaError err = Pa_OpenStream(&stream_, parameters.inputParameters().paStreamParameters(), parameters.outputParameters().paStreamParameters(),
|
|
parameters.sampleRate(), parameters.framesPerBuffer(), parameters.flags(), &impl::callbackInterfaceToPaCallbackAdapter, static_cast<void *>(&instance));
|
|
|
|
if (err != paNoError)
|
|
{
|
|
throw PaException(err);
|
|
}
|
|
}
|
|
}
|