ao_alsa: Reinitialize parameters properly when reopening
commitc447ef4e746fe4952f547b5f21e21cb3f052caa5
authorUoti Urpala <uau@glyph.nonexistent.invalid>
Tue, 29 Dec 2009 14:37:27 +0000 (29 16:37 +0200)
committerUoti Urpala <uau@glyph.nonexistent.invalid>
Tue, 29 Dec 2009 14:54:38 +0000 (29 16:54 +0200)
tree17cd9b183cad894029fe0d8f27a14bb7afeaf8c5
parent57ce95b96a9d5ff75b5afa608bdda8366a999cf5
ao_alsa: Reinitialize parameters properly when reopening

ao_alsa used static variables to define the parameter values for
snd_pcm_hw_params_set_buffer_time_near() and
snd_pcm_hw_params_set_periods_near(). The variables were non-const and
the desired value was only set in the initializer. The ALSA functions
in question take a pointer argument to an in/out parameter which is
modified to reflect the value actually used. As a result, when playing
multiple files or otherwise reinitializing the AO the later instances
could use values that had been modified by earlier calls. Change the
code to always always use the same default values.
libao2/ao_alsa.c