[alsa-devel] SALSA and aplay
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.
More information about the Alsa-devel