21 #ifndef __JackAudioDriver__    22 #define __JackAudioDriver__    24 #include "JackDriver.h"    47         jack_default_audio_sample_t* GetInputBuffer(
int port_index);
    48         jack_default_audio_sample_t* GetOutputBuffer(
int port_index);
    49         jack_default_audio_sample_t* GetMonitorBuffer(
int port_index);
    51         void HandleLatencyCallback(
int status);
    52         virtual void UpdateLatencies();
    55         void ProcessGraphAsync();
    56         void ProcessGraphAsyncMaster();
    57         void ProcessGraphAsyncSlave();
    60         void ProcessGraphSync();
    61         void ProcessGraphSyncMaster();
    62         void ProcessGraphSyncSlave();
    69         virtual int Open(jack_nframes_t buffer_size,
    70                         jack_nframes_t samplerate,
    76                         const char* capture_driver_name,
    77                         const char* playback_driver_name,
    78                         jack_nframes_t capture_latency,
    79                         jack_nframes_t playback_latency);
    85         virtual int Process();
    92         virtual int SetBufferSize(jack_nframes_t buffer_size);
    93         virtual int SetSampleRate(jack_nframes_t sample_rate);
    95         virtual int ClientNotify(
int refnum, 
const char* name, 
int notify, 
int sync, 
const char* message, 
int value1, 
int value2);
 
Locked Engine, access to methods is serialized using a mutex. 
Inter process synchronization using POSIX semaphore. 
The base class for audio drivers: drivers with audio ports.