[alsa-devel] Rates/formats available upstream from the plug plugin

Pavel Hofman pavel.hofman at ivitera.com
Tue Aug 3 16:17:47 CEST 2010


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;a=blob;f=libao2/ao_alsa.c;h=57f0bd07cb5ec300d327682a0b5209ba9dc10e30;hb=09ab9f6346aaf15d20792ca3df761a45fe46d83d#l514
>>
>> . 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 at 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,

Pavel.


More information about the Alsa-devel mailing list