Fedora 7 upgraded alsa to 1.0.14 from RC3. I was going to test the default device sound for my prior problem (as requested by Takashi weeks ago). Unfortunately when I try to run my app it won't start. The snd_pcm_hw_params_set_format fails when I try to use it as follows.
err = snd_pcm_hw_params_set_access (alsa_dev, hw_params, ND_PCM_ACCESS_RW_INTERLEAVED); if (err < 0) { fprintf (stderr, "cannot set access type (%s)\n", snd_strerror (err)) ; goto catch_error ; } ;
err = snd_pcm_hw_params_set_format (alsa_dev, hw_params, SND_PCM_FORMAT_FLOAT64_LE); //err = snd_pcm_hw_params_set_format (alsa_dev, hw_params, SND_PCM_FORMAT_S32_LE); if (err < 0) { fprintf (stderr, "cannot set sample format (%s)\n", snd_strerror (err)) ; goto catch_error ; } ;
cannot set sample format (Invalid argument)
It compiles cleanly. When I replace the SND_PCM_FORMAT_FLOAT64_LE with the S32_LE, it sets it, but of course the sound is garbage as it is still receiving doubles.
This code worked fine under RC3. Is there some change that occurred in the step from 1.0.14.rc3 to 1.0.14 that would explain the above and suggest a fix?
Thank you.
$ uname -r 2.6.22.1-41.fc7
$ cat /proc/asound/version Advanced Linux Sound Architecture Driver Version 1.0.14 (Thu May 31 09:03:25 2007 UTC).
$ ls /proc/asound/card0 ice1724 id oss_mixer pcm0c pcm0p pcm1p pcm2p