On Tue, 3 Aug 2010, Pavel Hofman wrote:
Hi,
mplayer checks hw_params for availability of the current format http://mplayer-ww.git.sourceforge.net/git/gitweb.cgi?p=mplayer-ww/mplayer-ww... . If the check fails, it uses 16bits as fixed default.
Now if we define the card to be plughw:0, the check still fails for formats unsupported directly by the card. Which in fact is incorrect since the plug plugin takes care of most formats known. The same holds for sample rates.
It works for me:
perex@eeebox2:~/alsa/alsa-lib/test> ./pcm Playback device is plughw:0,0 Stream parameters are 44100Hz, S16_LE, 1 channels Sine wave rate is 440.0000Hz Using transfer method: write test format float_le: 0 test format mpeg: -22
Using modified alsa-lib/test/pcm.c code:
diff --git a/test/pcm.c b/test/pcm.c index abb83e4..0582891 100644 --- a/test/pcm.c +++ b/test/pcm.c @@ -106,6 +106,8 @@ static int set_hwparams(snd_pcm_t *handle, printf("Broken configuration for playback: no configurations available: %s\n", snd_strerror(err)); return err; } + printf("test format float_le: %i\n", snd_pcm_hw_params_test_format(handle, params, SND_PCM_FORMAT_FLOAT_LE)); + printf("test format mpeg: %i\n", snd_pcm_hw_params_test_format(handle, params, SND_PCM_FORMAT_MPEG)); /* set hardware resampling */ err = snd_pcm_hw_params_set_rate_resample(handle, params, resample); if (err < 0) {
Could you describe you hw configuration or can you reproduce this issue with the snd-dummy module?
Jaroslav
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.