21 #ifndef __JackAlsaDriver__
22 #define __JackAlsaDriver__
24 #include "JackAudioDriver.h"
25 #include "JackThreadedDriver.h"
27 #include "alsa_driver.h"
42 int fReservedCaptureDevice;
43 int fReservedPlaybackDevice;
45 void UpdateLatencies();
50 :
JackAudioDriver(name, alias, engine, table),fDriver(NULL),fReservedCaptureDevice(-1),fReservedPlaybackDevice(-1)
55 int Open(jack_nframes_t buffer_size,
56 jack_nframes_t user_nperiods,
57 jack_nframes_t samplerate,
62 DitherAlgorithm dither,
68 const char* capture_driver_name,
69 const char* playback_driver_name,
70 jack_nframes_t capture_latency,
71 jack_nframes_t playback_latency,
72 const char* midi_driver_name);
85 bool IsFixedBufferSize()
90 int SetBufferSize(jack_nframes_t buffer_size);
92 void ReadInputAux(jack_nframes_t orig_nframes, snd_pcm_sframes_t contiguous, snd_pcm_sframes_t nread);
93 void MonitorInputAux();
94 void ClearOutputAux();
95 void WriteOutputAux(jack_nframes_t orig_nframes, snd_pcm_sframes_t contiguous, snd_pcm_sframes_t nwritten);
96 void SetTimetAux(jack_time_t time);
99 int is_realtime()
const;
100 int create_thread(pthread_t *thread,
int prio,
int rt,
void *(*start_func)(
void*),
void *arg);
102 jack_port_id_t port_register(
const char *port_name,
const char *port_type,
unsigned long flags,
unsigned long buffer_size);
103 int port_unregister(jack_port_id_t port_index);
104 void* port_get_buffer(
int port, jack_nframes_t nframes);
105 int port_set_alias(
int port,
const char* name);
107 jack_nframes_t get_sample_rate()
const;
108 jack_nframes_t frame_time()
const;
109 jack_nframes_t last_frame_time()
const;