[alsa-devel] Confused about 'default' device

Takashi Iwai tiwai at suse.de
Wed Oct 24 10:54:03 CEST 2007


At Tue, 23 Oct 2007 14:40:26 -0500,
Timur Tabi wrote:
> 
> I'm having a hard time understand when ALSA does sample rate and format 
> conversion, and when it doesn't.
> 
> When I issue the following command:
> 
> 	mplayer -ao alsa filename.mov -v
> 
> I get this output:
> 
> Building audio filter chain for 48000Hz/2ch/s24le -> 0Hz/0ch/s8...
> [libaf] Adding filter dummy
> [dummy] Was reinitialized: 48000Hz/2ch/s24le
> [dummy] Was reinitialized: 48000Hz/2ch/s24le
> alsa-init: requested format: 48000 Hz, 2 channels, 11
> alsa-init: using ALSA 1.0.8
> alsa-init: setup for 1/2 channel(s)
> alsa-init: using device default
> alsa-init: pcm opend in blocking mode
> alsa-init: format s24le are not supported by hardware, trying default
> alsa-lib: pcm_plug.c:729:(snd_pcm_plug_hw_refine_schange) Unable to find
> an usable access for 'default'
> alsa-init: unable to set format: Invalid argument
> 
> Sure enough, my device can't handle s24le.  It can only handle s16be.
> 
> I was under the impression that ALSA can do format and sample rate conversion if 
> necessary, but I guess that's not always the case.

It does.  mplayer seems to try first the hardware device without
conversion and falls back to "default" PCM.  The problem appears to be
the access type, such as, SND_PCM_ACCESS_RW_INTERLEAVED, MMAP, etc.

Try to set LIBASOUND_DEBUG=1 to see what parameters are being used.


Takashi


More information about the Alsa-devel mailing list