Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/audaspace/jack/AUD_JackDevice.h')
-rw-r--r--intern/audaspace/jack/AUD_JackDevice.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/intern/audaspace/jack/AUD_JackDevice.h b/intern/audaspace/jack/AUD_JackDevice.h
index 5a073a69432..96388e1ee50 100644
--- a/intern/audaspace/jack/AUD_JackDevice.h
+++ b/intern/audaspace/jack/AUD_JackDevice.h
@@ -31,6 +31,7 @@
class AUD_Buffer;
#include <jack.h>
+#include <ringbuffer.h>
/**
* This device plays back through Jack.
@@ -53,6 +54,8 @@ private:
*/
AUD_Buffer* m_buffer;
+ AUD_Buffer* m_deinterleavebuf;
+
/**
* Whether the device is valid.
*/
@@ -72,6 +75,21 @@ private:
*/
static int jack_mix(jack_nframes_t length, void *data);
+ static void* runThread(void* device);
+
+ void updateRingBuffers();
+
+ jack_ringbuffer_t** m_ringbuffers;
+
+ /**
+ * The streaming thread.
+ */
+ pthread_t m_thread;
+
+ pthread_mutex_t m_lock;
+
+ pthread_cond_t m_condition;
+
protected:
virtual void playing(bool playing);
@@ -81,7 +99,7 @@ public:
* \param specs The wanted audio specification, where only the channel count is important.
* \exception AUD_Exception Thrown if the audio device cannot be opened.
*/
- AUD_JackDevice(AUD_DeviceSpecs specs);
+ AUD_JackDevice(AUD_DeviceSpecs specs, int buffersize = AUD_DEFAULT_BUFFER_SIZE);
/**
* Closes the Jack client.