Jaroslav Kysela napsal(a):
On Tue, 3 Aug 2010, Pavel Hofman wrote:
Jaroslav Kysela napsal(a):
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?
Thanks for your reply. How do you compile the test directory? Neither gitcompile nor make in the test dir did the trick. Thanks,
cd alsa-lib/test make pcm
Thanks a lot. You are right, it works OK now. The problem was older mplayer (its internal s24le code was translated to mpeg code of alsa :) ) , it is fixed in later versions.
Thanks for help.
Pavel.