From: sutar.mounesh@gmail.com
To: patch@alsa-project.org
Cc: Mounesh Sutar <sutar.mounesh@gmail.com>,
alsa-devel@alsa-project.org, Andreas Pape <apape@de.adit-jv.com>,
mounesh_sutar@mentor.com
Subject: [PATCH 6/6 V2] pcm:plug: save converter config
Date: Mon, 27 Feb 2017 12:57:37 +0530 [thread overview]
Message-ID: <1488180457-9063-1-git-send-email-sutar.mounesh@gmail.com> (raw)
From: Andreas Pape <apape@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@de.adit-jv.com>
Signed-off-by: Mounesh Sutar <sutar.mounesh@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);
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;
+ }
+
plug->gen.slave = plug->req_slave = slave;
plug->gen.close_slave = close_slave;
plug->route_policy = route_policy;
@@ -1119,6 +1127,8 @@ int snd_pcm_plug_open(snd_pcm_t **pcmp,
err = snd_pcm_new(&pcm, SND_PCM_TYPE_PLUG, name, slave->stream, slave->mode);
if (err < 0) {
+ if (plug->rate_converter)
+ snd_config_delete((snd_config_t*)plug->rate_converter);
free(plug);
return err;
}
--
2.7.4
reply other threads:[~2017-02-27 7:27 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1488180457-9063-1-git-send-email-sutar.mounesh@gmail.com \
--to=sutar.mounesh@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=apape@de.adit-jv.com \
--cc=mounesh_sutar@mentor.com \
--cc=patch@alsa-project.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).