[alsa-devel] [PATCH] compress: add support for gapless playback

Takashi Iwai tiwai at suse.de
Mon Feb 11 16:30:42 CET 2013

At Mon, 11 Feb 2013 06:55:58 -0800,
Vinod Koul wrote:
> On Mon, Feb 11, 2013 at 03:38:32PM +0100, Takashi Iwai wrote:
> > Well, the question is how this value change is supposed.  I guess it's
> > not defined precisely yet.
> > 
> > It'd make sense to clear padding or such automatically at each new
> > stream switch, indeed.  OTOH, what if a metadata is supposed to be
> > kept for all tracks (e.g. something like the playback speed control)?
> > 
> > So, this won't be only a question about bookkeeping in the compress
> > core, but rather an API question.  If all metadata are supposed to be
> > cleared at stream change, it's fine -- the refresh of all metadata by
> > user-space is mandatory.  OTOH, if the metadata are never changed
> > unless the stream is (re-)prepared, again, user-space has to manage
> > all metadata by itself.  There is no big difference between them.
> > The difference is what happens if user-space doesn't update.
> > 
> > If the behavior is defined per each parameter, maybe it's good for
> > user-space, but then the driver (or comr core) becomes slightly more
> > complex since it needs to clear some data selectively.
> Current ones would be changed for every track, but then some wouldnt.
> So its best left to userspace. So right now we have two things:
> - add single key/value only
> - or pad up struct.

The implementation of ioctl is basically orthogonal with the question
whether the driver implicitly clears the parameters or not...


More information about the Alsa-devel mailing list