20 #ifndef __JackBoomerDriver__
21 #define __JackBoomerDriver__
23 #include "JackAudioDriver.h"
24 #include "JackPlatformPlug.h"
26 #include <semaphore.h>
31 typedef jack_default_audio_sample_t jack_sample_t;
33 #define OSS_DRIVER_DEF_DEV "/dev/dsp"
34 #define OSS_DRIVER_DEF_FS 48000
35 #define OSS_DRIVER_DEF_BLKSIZE 1024
36 #define OSS_DRIVER_DEF_NPERIODS 1
37 #define OSS_DRIVER_DEF_BITS 16
38 #define OSS_DRIVER_DEF_INS 2
39 #define OSS_DRIVER_DEF_OUTS 2
48 enum { kRead = 1, kWrite = 2, kReadWrite = 3 };
62 ~JackBoomerDriverInput()
79 ~JackBoomerDriverOutput()
92 unsigned int fSampleSize;
93 unsigned int fFragmentSize;
98 unsigned int fInputBufferSize;
99 unsigned int fOutputBufferSize;
110 JackBoomerDriverInput fInputHandler;
111 JackBoomerDriverOutput fOutputHandler;
117 void SetSampleFormat();
118 void DisplayDeviceInfo();
119 void SynchronizeRead();
120 void SynchronizeWrite();
127 int Open(jack_nframes_t frames_per_cycle,
136 const char* capture_driver_name,
137 const char* playback_driver_name,
138 jack_nframes_t capture_latency,
139 jack_nframes_t playback_latency,
140 int bits,
bool syncio);
148 bool IsFixedBufferSize()
153 int SetBufferSize(jack_nframes_t buffer_size);
Inter process synchronization using using Mach semaphore.
Locked Engine, access to methods is serialized using a mutex.
The base class for runnable objects, that have an Init and Execute method to be called in a threa...
The base class for audio drivers: drivers with audio ports.
Darwin threads. Real-time threads are actually "time constraint" threads.