On Wed, Feb 06, 2013 at 01:32:53PM +0000, Mark Brown wrote:
On Tue, Feb 05, 2013 at 11:54:19PM -0800, Vinod Koul wrote:
On Tue, Feb 05, 2013 at 08:44:42PM -0600, Pierre-Louis Bossart wrote:
+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.
Well, up to userspace to see how it handles the error anyway. For example an application may want to fall back to PCM playback with gapless done on the CPU if the driver doesn't do it. But then given that there's more than one piece of metadata in the struct perhaps we need some way for the application to figure out what's supported?
This return would mean that API is not supported. If there is some other error wrt metadata set then driver needs to send appropriate error which can help userland figure out what caused this error
-- ~Vinod