]> Repos - portaudio/commitdiff
Alsa: fix defaultHighLatency - sample rate has to be set following reset of hwParams.
authorgineera <gineera@0f58301d-fd10-0410-b4af-bbb618454e57>
Wed, 2 May 2012 21:32:40 +0000 (21:32 +0000)
committergineera <gineera@0f58301d-fd10-0410-b4af-bbb618454e57>
Wed, 2 May 2012 21:32:40 +0000 (21:32 +0000)
src/hostapi/alsa/pa_linux_alsa.c

index 242c6b103c085eded64303cf5f03f7fbb3a990c2..05d0daa51bea88261e96b08312b3e2939c77cda9 100644 (file)
@@ -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;