[alsa-devel] [PATCH] tinycompress: add gapless meta data APIs

Vinod Koul vinod.koul at intel.com
Fri Feb 22 19:15:00 CET 2013


On Fri, Feb 22, 2013 at 04:24:10PM +0000, Richard Fitzgerald wrote:
> I'd prefer that we don't require that a next track has been set in order to be
> able to call a partial_drain. It would be awkward to implement in Android
> because the decision to append the next track to the end of the current stream
> and pass down metadata is made in a higher level of code than the part which
> handles issuing drain control and there's no actual synchronization between
> these two operations or knowledge in the lower (drain-handling) level of any
> notion of gapless playback.
> 
> A partial drain just drains to the end of the current track... it doesn't really
> matter whether that happens to be the last track.

If you are in gapless mode (yes it may be last track), you can signal next track
and then call partial drain. But later if you find that if you are the last
track, you can call drain or stop.
Now why normal drain wont work... the reason being drain will return when
complete track is rendered, we don't want that here, so we drain partially to
allow DSP to switch to next track if required.

--
~Vinod


More information about the Alsa-devel mailing list