snd_pcm_uframes_t *buffer_size,
snd_pcm_uframes_t *period_size)
{
- snd_pcm_hw_params_t *hw;
+ snd_pcm_hw_params_t params = {0};
int err;
assert(pcm);
- snd_pcm_hw_params_alloca(&hw);
- err = snd_pcm_hw_params_current(pcm, hw);
+ err = snd_pcm_hw_params_current(pcm, ¶ms);
if (err < 0)
return err;
- err = INTERNAL(snd_pcm_hw_params_get_buffer_size)(hw, buffer_size);
+ err = INTERNAL(snd_pcm_hw_params_get_buffer_size)(¶ms, buffer_size);
if (err < 0)
return err;
- return INTERNAL(snd_pcm_hw_params_get_period_size)(hw, period_size,
+ return INTERNAL(snd_pcm_hw_params_get_period_size)(¶ms, period_size,
NULL);
}