23 |
struct stream s; |
struct stream s; |
24 |
uint16 tick; |
uint16 tick; |
25 |
uint8 index; |
uint8 index; |
26 |
|
|
27 |
|
struct timeval arrive_tv; |
28 |
|
struct timeval completion_tv; |
29 |
}; |
}; |
30 |
|
|
31 |
struct audio_driver |
struct audio_driver |
32 |
{ |
{ |
33 |
void (*wave_out_write) (STREAM s, uint16 tick, uint8 index); |
BOOL(*wave_out_open) (void); |
|
BOOL(*wave_out_open) (void); |
|
34 |
void (*wave_out_close) (void); |
void (*wave_out_close) (void); |
35 |
BOOL(*wave_out_format_supported) (WAVEFORMATEX * pwfx); |
BOOL(*wave_out_format_supported) (WAVEFORMATEX * pwfx); |
36 |
BOOL(*wave_out_set_format) (WAVEFORMATEX * pwfx); |
BOOL(*wave_out_set_format) (WAVEFORMATEX * pwfx); |
38 |
void (*wave_out_play) (void); |
void (*wave_out_play) (void); |
39 |
char *name; |
char *name; |
40 |
char *description; |
char *description; |
41 |
|
int need_byteswap_on_be; |
42 |
|
int need_resampling; |
43 |
struct audio_driver *next; |
struct audio_driver *next; |
44 |
}; |
}; |
45 |
|
|
46 |
extern BOOL g_dsp_busy; |
extern BOOL g_dsp_busy; |
47 |
extern int g_dsp_fd; |
extern int g_dsp_fd; |
48 |
|
|
|
void rdpsnd_queue_write(STREAM s, uint16 tick, uint8 index); |
|
|
inline struct audio_packet *rdpsnd_queue_current_packet(void); |
|
|
inline BOOL rdpsnd_queue_empty(void); |
|
|
inline void rdpsnd_queue_init(void); |
|
|
inline void rdpsnd_queue_next(void); |
|
|
inline int rdpsnd_queue_next_tick(void); |
|
|
|
|
49 |
/* Driver register functions */ |
/* Driver register functions */ |
50 |
struct audio_driver *alsa_register(char *options); |
struct audio_driver *alsa_register(char *options); |
51 |
struct audio_driver *libao_register(char *options); |
struct audio_driver *libao_register(char *options); |