summaryrefslogtreecommitdiff
path: root/portaudio/bindings/cpp/source/portaudiocpp/CallbackInterface.cxx
blob: 01372612e49c3d147ee19c6461da923f8cb90bff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "portaudiocpp/CallbackInterface.hxx"

namespace portaudio
{

	namespace impl
	{

		//////
		/// Adapts any CallbackInterface object to a C-callable function (ie this function). A 
		/// pointer to the object should be passed as ``userData'' when setting up the callback.
		//////
		int callbackInterfaceToPaCallbackAdapter(const void *inputBuffer, void *outputBuffer, unsigned long numFrames, 
			const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags, void *userData)
		{
			CallbackInterface *cb = static_cast<CallbackInterface *>(userData);
			return cb->paCallbackFun(inputBuffer, outputBuffer, numFrames, timeInfo, statusFlags);
		}


	} // namespace impl

} // namespace portaudio