[alsa-devel] [PATCH] ASoC: compress: Derive substream from stream based on direction

Vinod Koul vinod.koul at intel.com
Mon Jun 19 14:42:28 CEST 2017


On Fri, Jun 16, 2017 at 05:33:40PM -0700, bgoswami at codeaurora.org wrote:
> From: Satish Babu Patakokila <sbpata at codeaurora.org> 
> 
> Currently compress driver hardcodes direction as playback to get
> substream from the stream. This results in getting the incorrect
> substream for compressed capture usecase.
> To fix this, remove the hardcoding and derive substream based on
> the stream direction.

Acked-By: Vinod Koul <vinod.koul at intel.com>

I think we should cc this to stable..

> 
> Signed-off-by: Satish Babu Patakokila <sbpata at codeaurora.org>
> Signed-off-by: Banajit Goswami <bgoswami at codeaurora.org>
> ---
>  sound/soc/soc-compress.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c
> index bfd71b8..206f36b 100644
> --- a/sound/soc/soc-compress.c
> +++ b/sound/soc/soc-compress.c
> @@ -81,7 +81,8 @@ static int soc_compr_open(struct snd_compr_stream *cstream)
>  static int soc_compr_open_fe(struct snd_compr_stream *cstream)
>  {
>  	struct snd_soc_pcm_runtime *fe = cstream->private_data;
> -	struct snd_pcm_substream *fe_substream = fe->pcm->streams[0].substream;
> +	struct snd_pcm_substream *fe_substream =
> +		 fe->pcm->streams[cstream->direction].substream;
>  	struct snd_soc_platform *platform = fe->platform;
>  	struct snd_soc_dai *cpu_dai = fe->cpu_dai;
>  	struct snd_soc_dpcm *dpcm;
> @@ -467,7 +468,8 @@ static int soc_compr_set_params_fe(struct snd_compr_stream *cstream,
>  					struct snd_compr_params *params)
>  {
>  	struct snd_soc_pcm_runtime *fe = cstream->private_data;
> -	struct snd_pcm_substream *fe_substream = fe->pcm->streams[0].substream;
> +	struct snd_pcm_substream *fe_substream =
> +		 fe->pcm->streams[cstream->direction].substream;
>  	struct snd_soc_platform *platform = fe->platform;
>  	struct snd_soc_dai *cpu_dai = fe->cpu_dai;
>  	int ret = 0, stream;
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project
> 

-- 
~Vinod


More information about the Alsa-devel mailing list