[alsa-devel] SALSA and aplay

Takashi Iwai tiwai at suse.de
Fri Jul 20 17:06:47 CEST 2007


At Fri, 20 Jul 2007 16:20:49 +0100,
Alan Horstmann wrote:
> 
> On Friday 20 July 2007 13:10, you wrote:
> > At Fri, 20 Jul 2007 12:57:07 +0100,
> >
> > Alan Horstmann wrote:
> 
> > > OK. Salsa is performing the same as asound using "hw", except one other
> > > perhaps trivial thing I have noticed.  The aplay code does
> > > 	err = snd_output_stdio_attach(&log, stderr, 0);
> > > and prints things
> > > 	snd_pcm_hw_params_dump(params, log);
> > > finishing with
> > > 	snd_output_close(log)
> > > In alsa-lib, the third parameter of .._attach is used to set 'close', and
> > > being 0, means stderr is not closed.  However, with salsa the file is
> > > always closed at the end.  I am using the aplay code as a function, and
> > > on the 2nd call, there are non of the print items.  Preventing this close
> > > in salsa or the aplay code does remove the problem.  Is this intended
> > > trimming of functionality for min size?
> >
> > Ah, that stupid wrapper for FILE I/O.  I don't understand why such a
> > thing was introduced...
> >
> > Not sure whether I'll fix it or leave it yet.
> 
> Actually, if my reading of the code is right (which it may not be), in 
> alsa-lib all that snd_output_close(..) does is close(file) if 'close'=1.
> 
> So if the aplay code does .._attach with 'close'=0, is there any reason to 
> call snd_output_close(..)?  Or just omit that?  So probably no fix needed?

It frees the internal buffer and allocated records.
But for aplay it's not inevitablly necessary.


Takashi


More information about the Alsa-devel mailing list