[alsa-devel] [PATCH v2 6/6] pcm:plug: save converter config
Sutar, Mounesh
Mounesh_Sutar at mentor.com
Fri Mar 3 11:11:00 CET 2017
Hi Takashi,
This is being used from 1.0.29 version.
I had to do some coding style fixes. Have resubmitted the changes now.
Regards,
Mounesh
-----Original Message-----
From: Takashi Iwai [mailto:tiwai at suse.de]
Sent: 27 February 2017 13:45
To: sutar.mounesh at gmail.com
Cc: patch at alsa-project.org; alsa-devel at alsa-project.org; Sutar, Mounesh <Mounesh_Sutar at mentor.com>; Andreas Pape <apape at de.adit-jv.com>
Subject: Re: [PATCH v2 6/6] pcm:plug: save converter config
On Mon, 27 Feb 2017 08:36:32 +0100,
sutar.mounesh at gmail.com wrote:
>
> From: Andreas Pape <apape at de.adit-jv.com>
>
> Passed config is freed after call to open, thus it is invalid when
> trying to extract the converter name. So config entry is saved for
> later usage.
>
> Signed-off-by: Andreas Pape <apape at de.adit-jv.com>
> Signed-off-by: Mounesh Sutar <sutar.mounesh at gmail.com>
>
> diff --git a/src/pcm/pcm_plug.c b/src/pcm/pcm_plug.c index
> 266707b..ad0e99e 100644
> --- a/src/pcm/pcm_plug.c
> +++ b/src/pcm/pcm_plug.c
> @@ -64,6 +64,8 @@ static int snd_pcm_plug_close(snd_pcm_t *pcm)
> snd_pcm_plug_t *plug = pcm->private_data;
> int err, result = 0;
> free(plug->ttable);
> + if (plug->rate_converter)
> + snd_config_delete((snd_config_t*)plug->rate_converter);
Set NULL after calling snd_config_delete(), so that it won't double-free.
> assert(plug->gen.slave == plug->req_slave);
> if (plug->gen.close_slave) {
> snd_pcm_unlink_hw_ptr(pcm, plug->req_slave); @@ -1108,7 +1110,13 @@
> int snd_pcm_plug_open(snd_pcm_t **pcmp,
> plug->sformat = sformat;
> plug->schannels = schannels;
> plug->srate = srate;
> - plug->rate_converter = rate_converter;
> + if (rate_converter) {
> + if ((err = snd_config_copy((snd_config_t**)&plug->rate_converter,
> + (snd_config_t *)rate_converter)) < 0)
> + free(plug);
> + return err;
Missing braces. It'll go out unconditionally.
Did you really try this patch and confirm to work...?
thanks,
Takashi
More information about the Alsa-devel
mailing list