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

Vinod Koul vinod.koul at intel.com
Wed Feb 6 08:54:19 CET 2013


On Tue, Feb 05, 2013 at 08:44:42PM -0600, Pierre-Louis Bossart wrote:

 
> >  /**
> >+ * struct snd_compr_metadata: compressed stream metadata
> >+ * @encoder_delay: no of samples inserted by the encoder at the beginning
> >+ * of the track
> >+ * @encoder_padding: no of samples appended by the encoder at the end
> >+ * of the track
> >+ */
> >+struct snd_compr_metadata {
> >+	 __u32 encoder_delay;
> >+	 __u32 encoder_padding;
> >+};
> 
> You need to pad this structure with reserved bytes for future
> evolutions. Things like ReplayGain, etc, might be of interest for
> some implementations. Let's not be cheap here
Ok, makes sense, will update this and documentation.

 
> >+static int
> >+snd_compr_set_metadata(struct snd_compr_stream *stream, unsigned long arg)
> >+{
> >+	struct snd_compr_metadata *metadata;
> >+	int retval;
> >+
> >+	if (!stream->ops->set_metadata)
> >+		return -ENXIO;
> 
> Is this really a fatal error? Or do we want to mandate that gapless
> be supported by all implementations?
Fatal err? if DSP doesnt support metadata callback then we are reporting error
ENXIO to userpsace. No we shouldnt mandate, its upto DSP folks to see what they
should and can support.

--
~Vinod


More information about the Alsa-devel mailing list