21 #ifndef __JackAlsaDriver__
22 #define __JackAlsaDriver__
24 #include "JackAudioDriver.h"
25 #include "JackThreadedDriver.h"
27 #include "alsa_driver.h"
43 void UpdateLatencies();
53 int Open(jack_nframes_t buffer_size,
54 jack_nframes_t user_nperiods,
55 jack_nframes_t samplerate,
60 DitherAlgorithm dither,
66 const char* capture_driver_name,
67 const char* playback_driver_name,
68 jack_nframes_t capture_latency,
69 jack_nframes_t playback_latency,
70 const char* midi_driver_name);
83 bool IsFixedBufferSize()
88 int SetBufferSize(jack_nframes_t buffer_size);
90 void ReadInputAux(jack_nframes_t orig_nframes, snd_pcm_sframes_t contiguous, snd_pcm_sframes_t nread);
91 void MonitorInputAux();
92 void ClearOutputAux();
93 void WriteOutputAux(jack_nframes_t orig_nframes, snd_pcm_sframes_t contiguous, snd_pcm_sframes_t nwritten);
94 void SetTimetAux(jack_time_t time);
97 int is_realtime()
const;
98 int create_thread(pthread_t *thread,
int prio,
int rt,
void *(*start_func)(
void*),
void *arg);
100 jack_port_id_t port_register(
const char *port_name,
const char *port_type,
unsigned long flags,
unsigned long buffer_size);
101 int port_unregister(jack_port_id_t port_index);
102 void* port_get_buffer(
int port, jack_nframes_t nframes);
103 int port_set_alias(
int port,
const char* name);
105 jack_nframes_t get_sample_rate()
const;
106 jack_nframes_t frame_time()
const;
107 jack_nframes_t last_frame_time()
const;
Inter process synchronization using using Mach semaphore.
Locked Engine, access to methods is serialized using a mutex.
The base class for audio drivers: drivers with audio ports.