From: "Corfu, ValentinX" <valentinx.corfu@intel.com>
To: "patch@alsa-project.org" <patch@alsa-project.org>
Cc: "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
"Trandafir, IonutX" <ionutx.trandafir@intel.com>
Subject: [alsa-plugins] [PATCH 1/2] Allow to specify a client name as parameters
Date: Fri, 31 Jan 2014 14:05:42 +0000 [thread overview]
Message-ID: <9900E8BE2ADAAB43B2A4471493EDB7F94B12E3@IRSMSX104.ger.corp.intel.com> (raw)
>From 1ac8268330df7564edf252a542a27f3cf4f4472f Mon Sep 17 00:00:00 2001
From: Valentin Corfu <valentinx.corfu@intel.com>
Date: Fri, 31 Jan 2014 08:06:23 -0500
Subject: [PATCH 1/2] Allow to specify a client name as parameters
The current jack client name contains the process id of the application providing the audio samples.
This leads to unpredictable jack client names which makes handling of the connections by a controlling application very hard.
This modification now, allows to specify a client name as parameters in the configuration file.
The implementation is backward compatible and simply adds a new configuration option to the plugin.
Signed-off-by: Valentin Corfu <valentinx.corfu@intel.com>
diff --git a/jack/pcm_jack.c b/jack/pcm_jack.c
index c51fe84..475c619 100644
--- a/jack/pcm_jack.c
+++ b/jack/pcm_jack.c
@@ -355,12 +355,19 @@ static int snd_pcm_jack_open(snd_pcm_t **pcmp, const char *name,
snd_pcm_jack_free(jack);
return -EINVAL;
}
-
- if (snprintf(jack_client_name, sizeof(jack_client_name), "alsa-jack.%s%s.%d.%d", name,
- stream == SND_PCM_STREAM_PLAYBACK ? "P" : "C", getpid(), num++)
- >= (int)sizeof(jack_client_name)) {
- fprintf(stderr, "%s: WARNING: JACK client name '%s' truncated to %d characters, might not be unique\n",
- __func__, jack_client_name, (int)strlen(jack_client_name));
+ if ( name == NULL ) {
+ if (snprintf(jack_client_name, sizeof(jack_client_name), "alsa-jack.%s%s.%d.%d", name,
+ stream == SND_PCM_STREAM_PLAYBACK ? "P" : "C", getpid(), num++)
+ >= (int)sizeof(jack_client_name)) {
+ fprintf(stderr, "%s: WARNING: JACK client name '%s' truncated to %d characters, might not be unique\n",
+ __func__, jack_client_name, (int)strlen(jack_client_name));
+ }
+ } else {
+ if (snprintf(jack_client_name, sizeof(jack_client_name), "%s", name)
+ >= (int)sizeof(jack_client_name)) {
+ fprintf(stderr, "%s: WARNING: JACK client name '%s' truncated to %d characters, might not be unique\n",
+ __func__, jack_client_name, (int)strlen(jack_client_name));
+ }
}
jack->client = jack_client_new(jack_client_name);
@@ -423,6 +430,10 @@ SND_PCM_PLUGIN_DEFINE_FUNC(jack)
continue;
if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0)
continue;
+ if (strcmp(id, "name") == 0) {
+ snd_config_get_string(n, &name);
+ continue;
+ }
if (strcmp(id, "playback_ports") == 0) {
if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) {
SNDERR("Invalid type for %s", id);
--
1.8.1.4
--------------------------------------------------------------
Intel Shannon Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263
Business address: Dromore House, East Park, Shannon, Co. Clare
This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.
next reply other threads:[~2014-01-31 14:05 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-31 14:05 Corfu, ValentinX [this message]
2014-02-06 10:27 ` [alsa-plugins] [PATCH 1/2] Allow to specify a client name as parameters Takashi Iwai
2014-02-26 14:03 Corfu, ValentinX
2014-02-26 15:23 ` Takashi Iwai
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=9900E8BE2ADAAB43B2A4471493EDB7F94B12E3@IRSMSX104.ger.corp.intel.com \
--to=valentinx.corfu@intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=ionutx.trandafir@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.