[alsa-devel] [PATCH 1/1] ASoC: soc_compress: Add set_metadata

Vinod Koul vinod.koul at intel.com
Thu Nov 28 07:19:43 CET 2013


On Mon, Nov 25, 2013 at 10:16:48AM +0000, Richard Fitzgerald wrote:
> 
> Pass the set_metadata() calls through to the codec driver.
> 
> Signed-off-by: Zhao Weijia <weijia.zhao at capelabs.com>
> Signed-off-by: Richard Fitzgerald <rf at opensource.wolfsonmicro.com>
> ---
>  sound/soc/soc-compress.c |   18 +++++++++++++++++-
>  1 files changed, 17 insertions(+), 1 deletions(-)
> 
> diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c
> index 53c9ecd..186802b 100644
> --- a/sound/soc/soc-compress.c
> +++ b/sound/soc/soc-compress.c
> @@ -318,6 +318,21 @@ static int soc_compr_pointer(struct snd_compr_stream *cstream,
>  	mutex_unlock(&rtd->pcm_mutex);
>  	return 0;
>  }
> +static int soc_compr_set_metadata(struct snd_compr_stream *cstream,
> +			struct snd_compr_metadata *metadata)
> +{
> +	struct snd_soc_pcm_runtime *rtd = cstream->private_data;
> +	struct snd_soc_platform *platform = rtd->platform;
> +
> +	mutex_lock_nested(&rtd->pcm_mutex, rtd->pcm_subclass);
> +
> +	if (platform->driver->compr_ops && platform->driver->compr_ops->set_metadata)
> +		 platform->driver->compr_ops->set_metadata(cstream, metadata);
> +
> +	mutex_unlock(&rtd->pcm_mutex);
> +	return 0;
> +}
> +
>  
>  static int soc_compr_copy(struct snd_compr_stream *cstream,
>  			  char __user *buf, size_t count)
> @@ -372,7 +387,8 @@ static struct snd_compr_ops soc_compr_ops = {
>  	.pointer	= soc_compr_pointer,
>  	.ack		= soc_compr_ack,
>  	.get_caps	= soc_compr_get_caps,
> -	.get_codec_caps = soc_compr_get_codec_caps
> +	.get_codec_caps = soc_compr_get_codec_caps,
> +	.set_metadata = soc_compr_set_metadata,
Sorry am confused by this and the patch description? The set_metadata call
exists so how is this propogating to codec? Also which tree has this been
generated against?

--
~Vinod
-- 


More information about the Alsa-devel mailing list