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);
 
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...
Inter process synchronization using POSIX semaphore. 
The base class for audio drivers: drivers with audio ports. 
Darwin threads. Real-time threads are actually "time constraint" threads.