276 |
return; |
return; |
277 |
} |
} |
278 |
|
|
279 |
|
static struct audio_driver alsa_driver = { |
280 |
|
.name = "alsa", |
281 |
|
.description = "ALSA output driver, default device: " DEFAULTDEVICE, |
282 |
|
|
283 |
|
.wave_out_open = alsa_open, |
284 |
|
.wave_out_close = alsa_close, |
285 |
|
.wave_out_format_supported = alsa_format_supported, |
286 |
|
.wave_out_set_format = alsa_set_format, |
287 |
|
.wave_out_volume = rdpsnd_dsp_softvol_set, |
288 |
|
.wave_out_play = alsa_play, |
289 |
|
|
290 |
|
.need_byteswap_on_be = 0, |
291 |
|
.need_resampling = 0, |
292 |
|
}; |
293 |
|
|
294 |
struct audio_driver * |
struct audio_driver * |
295 |
alsa_register(char *options) |
alsa_register(char *options) |
296 |
{ |
{ |
|
static struct audio_driver alsa_driver; |
|
|
|
|
|
alsa_driver.wave_out_open = alsa_open; |
|
|
alsa_driver.wave_out_close = alsa_close; |
|
|
alsa_driver.wave_out_format_supported = alsa_format_supported; |
|
|
alsa_driver.wave_out_set_format = alsa_set_format; |
|
|
alsa_driver.wave_out_volume = rdpsnd_dsp_softvol_set; |
|
|
alsa_driver.wave_out_play = alsa_play; |
|
|
alsa_driver.name = xstrdup("alsa"); |
|
|
alsa_driver.description = xstrdup("ALSA output driver, default device: " DEFAULTDEVICE); |
|
|
alsa_driver.need_byteswap_on_be = 0; |
|
|
alsa_driver.need_resampling = 0; |
|
|
alsa_driver.next = NULL; |
|
|
|
|
297 |
if (options) |
if (options) |
298 |
{ |
{ |
299 |
pcm_name = xstrdup(options); |
pcm_name = xstrdup(options); |