[alsa-devel] Using snd_pcm_set_params() on a capture handle
    Erik de Castro Lopo 
    mle+la at mega-nerd.com
       
    Mon Oct 26 10:23:21 CET 2015
    
    
  
Clemens Ladisch wrote:
> Erik de Castro Lopo wrote:
> >     RATE: [44100 96000]
> 
> snd_pcm_set_params() should have chosen a single rate.
> Did you dump this after that call?
Yep, the code is:
    snd_pcm_format_t format = SND_PCM_FORMAT_S32_LE;
    snd_pcm_hw_params_t *hw_params;
    snd_output_t *output ;
    unsigned int rate = 48000 ;
    if ((err = snd_pcm_set_params (capture_handle, format, SND_PCM_ACCESS_RW_INTERLEAVED, 2, rate, 0, 25000)) < 0) {   /* 0.5sec */
        printf ("Capture open error: %s\n", snd_strerror (err));exit(1);
    }
    if ((err = snd_pcm_hw_params_malloc (&hw_params)) < 0) {
        printf ("Cannot allocate hardware parameter structure (%s)\n", snd_strerror (err));exit(1);
    }
    if ((err = snd_pcm_hw_params_any (capture_handle, hw_params)) < 0) {
        printf ("Cannot initialize hardware parameter structure (%s)\n", snd_strerror (err));exit(1);
    }
    snd_output_stdio_attach (&output, stderr, 0) ;
    snd_pcm_hw_params_dump (hw_params, output) ;
    snd_output_close (output) ;
    snd_pcm_hw_params_free (hw_params);
Erik
-- 
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/
    
    
More information about the Alsa-devel
mailing list