From: gineera Date: Wed, 2 May 2012 21:32:40 +0000 (+0000) Subject: Alsa: fix defaultHighLatency - sample rate has to be set following reset of hwParams. X-Git-Tag: pa_stable_v19_20140130_r1919~71 X-Git-Url: https://andrewgundersen.net/repos?a=commitdiff_plain;h=ce083a09b72399b3848f1d2d0ce785a2829ff2b2;p=portaudio Alsa: fix defaultHighLatency - sample rate has to be set following reset of hwParams. --- diff --git a/src/hostapi/alsa/pa_linux_alsa.c b/src/hostapi/alsa/pa_linux_alsa.c index 242c6b1..05d0daa 100644 --- a/src/hostapi/alsa/pa_linux_alsa.c +++ b/src/hostapi/alsa/pa_linux_alsa.c @@ -921,8 +921,9 @@ static PaError GropeDevice( snd_pcm_t* pcm, int isPlug, StreamDirection mode, in */ ENSURE_( alsa_snd_pcm_hw_params_set_buffer_size_near( pcm, hwParams, &lowLatency ), paUnanticipatedHostError ); - /* Have to reset hwParams, to set new buffer size */ + /* Have to reset hwParams, to set new buffer size; need to also set sample rate again */ ENSURE_( alsa_snd_pcm_hw_params_any( pcm, hwParams ), paUnanticipatedHostError ); + ENSURE_( alsa_snd_pcm_hw_params_set_rate( pcm, hwParams, defaultSr, 0 ), paUnanticipatedHostError ); ENSURE_( alsa_snd_pcm_hw_params_set_buffer_size_near( pcm, hwParams, &highLatency ), paUnanticipatedHostError ); *minChannels = (int)minChans;