All of lore.kernel.org
 help / color / mirror / Atom feed
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: Wed, 26 Feb 2014 14:03:56 +0000	[thread overview]
Message-ID: <9900E8BE2ADAAB43B2A4471493EDB7F94B3EFB@IRSMSX104.ger.corp.intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 486 bytes --]

Hi Takashi,

I reworked the patches and hope to be the final ones.  J
You will find attached at each of the emails.

Kind Regards,
Valentin Corfu
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Allow-to-specify-a-client-name-as-parameters.patch --]
[-- Type: text/x-patch; name="0001-Allow-to-specify-a-client-name-as-parameters.patch", Size: 2929 bytes --]

From eba0b4ebeb34250f49f34776b288432fb782e092 Mon Sep 17 00:00:00 2001
From: Valentin Corfu <valentinx.corfu@intel.com>
Date: Tue, 11 Feb 2014 04:06:36 -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..983878f 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);
@@ -369,7 +376,7 @@ static int snd_pcm_jack_open(snd_pcm_t **pcmp, const char *name,
 		snd_pcm_jack_free(jack);
 		return -ENOENT;
 	}
-	
+
 	jack->areas = calloc(jack->channels, sizeof(snd_pcm_channel_area_t));
 	if (! jack->areas) {
 		snd_pcm_jack_free(jack);
@@ -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


[-- Attachment #3: Type: text/plain, Size: 0 bytes --]



             reply	other threads:[~2014-02-26 14:03 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-26 14:03 Corfu, ValentinX [this message]
2014-02-26 15:23 ` [alsa-plugins] [PATCH 1/2] Allow to specify a client name as parameters Takashi Iwai
  -- strict thread matches above, loose matches on Subject: below --
2014-01-31 14:05 Corfu, ValentinX
2014-02-06 10:27 ` 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=9900E8BE2ADAAB43B2A4471493EDB7F94B3EFB@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.