[alsa-devel] /usr/share/alsa/alsa.conf :and file extention

Takashi Iwai tiwai at suse.de
Mon Mar 17 09:05:11 CET 2008


At Mon, 17 Mar 2008 04:18:15 +0100,
Rene Herman wrote:
> 
> On 17-03-08 03:57, Alexander Indenbaum wrote:
> 
> > I'm playing with embedded system without any hardware sound device. I'd like
> > to grab sound from ALSA application, for instance Firefox displaying YouTube
> > clip inside flash plugin and to store  output PCM stream into file on local
> > disk. I got an advice to use File extension. So I defined following
> > /usr/share/alsa/alsa.conf
> 
> Don't do it there. Use /etc/asound.conf or $HOME/.asoundrc ...

Or /etc/asound.conf.  It's the additional place for the system-wide
definitions.

> > pcm.default{
> >         type
> > file
> >         file
> > /tmp/pcm.out
> > }
> 
> ... and make it
> 
> pcm.!default {
>          type    file
>          slave   {
>                  pcm     null
>          }
>          file    "/tmp/pcm.out"
> }
> 
> Exactly why you need that slave definition I'm not sure either, but it seems 
> you do.

The file plugin requires the slave for its configuration and as the
timing source.  Using "null" is just to accept any config and feed the
data as fast as possible.  If you need to save the data as if it's
being played, use the kernel dummy driver as the slave.

> Also note that /tmp/pcm.out will be headerless PCM and is recreated 
> for individual opens. I don't believe there's an append mode or anything 
> (and you'd need to make sure that everyone plays the same format) so not 
> toot sure if this is what you need to have a catch all audio-sink...

Recently I added a new option "truncate" to file plugin.  As default,
it's set to true (for compatibility reason), and the plugin overwrite
the existing file if reopened.  When it's set to false, a new file is
created with a different suffix (up to 1000 files) at each time.


Takashi


More information about the Alsa-devel mailing list