summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/portaudio/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx
diff options
context:
space:
mode:
author ImJezze <jezze@gmx.net>2015-05-30 14:57:13 +0200
committer ImJezze <jezze@gmx.net>2015-05-30 14:57:13 +0200
commitd1d9dfc2d4be85cee8c8c990950d72ee6df78e5e (patch)
tree495d4e5a066ee13be131f08437732b3588d43a42 /3rdparty/portaudio/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx
parentfe71f92dd24270ae7c5621166b096c665ca0e4f5 (diff)
parent51709eef04f9f0c6d621447c568e170927fa9472 (diff)
Merge pull request #4 from mamedev/master
Sync to base master
Diffstat (limited to '3rdparty/portaudio/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx')
-rw-r--r--3rdparty/portaudio/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx45
1 files changed, 45 insertions, 0 deletions
diff --git a/3rdparty/portaudio/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx b/3rdparty/portaudio/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx
new file mode 100644
index 00000000000..5433fa37321
--- /dev/null
+++ b/3rdparty/portaudio/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx
@@ -0,0 +1,45 @@
+#include "portaudiocpp/InterfaceCallbackStream.hxx"
+
+#include "portaudiocpp/StreamParameters.hxx"
+#include "portaudiocpp/Exception.hxx"
+#include "portaudiocpp/CallbackInterface.hxx"
+
+namespace portaudio
+{
+
+ // ---------------------------------------------------------------------------------==
+
+ InterfaceCallbackStream::InterfaceCallbackStream()
+ {
+ }
+
+ InterfaceCallbackStream::InterfaceCallbackStream(const StreamParameters &parameters, CallbackInterface &instance)
+ {
+ open(parameters, instance);
+ }
+
+ InterfaceCallbackStream::~InterfaceCallbackStream()
+ {
+ try
+ {
+ close();
+ }
+ catch (...)
+ {
+ // ignore all errors
+ }
+ }
+
+ // ---------------------------------------------------------------------------------==
+
+ void InterfaceCallbackStream::open(const StreamParameters &parameters, 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);
+ }
+ }
+}