337 |
} |
} |
338 |
} |
} |
339 |
|
|
|
static struct audio_driver alsa_driver = { |
|
|
.name = "alsa", |
|
|
.description = "ALSA output driver, default device: " DEFAULTDEVICE, |
|
|
|
|
|
.add_fds = alsa_add_fds, |
|
|
.check_fds = alsa_check_fds, |
|
|
|
|
|
.wave_out_open = alsa_open, |
|
|
.wave_out_close = alsa_close, |
|
|
.wave_out_format_supported = alsa_format_supported, |
|
|
.wave_out_set_format = alsa_set_format, |
|
|
.wave_out_volume = rdpsnd_dsp_softvol_set, |
|
|
|
|
|
.need_byteswap_on_be = 0, |
|
|
.need_resampling = 0, |
|
|
}; |
|
|
|
|
340 |
struct audio_driver * |
struct audio_driver * |
341 |
alsa_register(char *options) |
alsa_register(char *options) |
342 |
{ |
{ |
343 |
|
static struct audio_driver alsa_driver; |
344 |
|
|
345 |
|
alsa_driver.name = xstrdup("alsa"); |
346 |
|
alsa_driver.description = xstrdup("ALSA output driver, default device: " DEFAULTDEVICE); |
347 |
|
|
348 |
|
alsa_driver.add_fds = alsa_add_fds; |
349 |
|
alsa_driver.check_fds = alsa_check_fds; |
350 |
|
|
351 |
|
alsa_driver.wave_out_open = alsa_open; |
352 |
|
alsa_driver.wave_out_close = alsa_close; |
353 |
|
alsa_driver.wave_out_format_supported = alsa_format_supported; |
354 |
|
alsa_driver.wave_out_set_format = alsa_set_format; |
355 |
|
alsa_driver.wave_out_volume = rdpsnd_dsp_softvol_set; |
356 |
|
|
357 |
|
alsa_driver.need_byteswap_on_be = 0; |
358 |
|
alsa_driver.need_resampling = 0; |
359 |
|
|
360 |
if (options) |
if (options) |
361 |
{ |
{ |
362 |
pcm_name = xstrdup(options); |
pcm_name = xstrdup(options); |