--- gstjackaudiosink.c	2011-12-07 19:18:50.485200013 +0100
+++ gstjackaudiosink.c	2011-12-07 20:31:06.088103543 +0100
@@ -328,7 +328,11 @@ gst_jack_ring_buffer_open_device (GstRin
 
   GST_DEBUG_OBJECT (sink, "open");
 
-  name = g_get_application_name ();
+  if (sink->client_name) {
+    name = sink->client_name;
+  } else {
+    name = g_get_application_name ();
+  }
   if (!name)
     name = "GStreamer";
 
@@ -643,8 +647,9 @@ enum
   SIGNAL_LAST
 };
 
-#define DEFAULT_PROP_CONNECT 	GST_JACK_CONNECT_AUTO
-#define DEFAULT_PROP_SERVER 	NULL
+#define DEFAULT_PROP_CONNECT 		GST_JACK_CONNECT_AUTO
+#define DEFAULT_PROP_SERVER 		NULL
+#define DEFAULT_PROP_CLIENT_NAME 	NULL
 
 enum
 {
@@ -652,6 +657,7 @@ enum
   PROP_CONNECT,
   PROP_SERVER,
   PROP_CLIENT,
+  PROP_CLIENT_NAME,
   PROP_LAST
 };
 
@@ -710,6 +716,11 @@ gst_jack_audio_sink_class_init (GstJackA
           "The Jack server to connect to (NULL = default)",
           DEFAULT_PROP_SERVER, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
+  g_object_class_install_property (gobject_class, PROP_CLIENT_NAME,
+      g_param_spec_string ("client-name", "Client name",
+          "The client name of the Jack instance (NULL = default)",
+          DEFAULT_PROP_CLIENT_NAME, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
   g_object_class_install_property (gobject_class, PROP_CLIENT,
       g_param_spec_boxed ("client", "JackClient", "Handle for jack client",
           GST_TYPE_JACK_CLIENT,
@@ -737,6 +748,7 @@ gst_jack_audio_sink_init (GstJackAudioSi
   sink->jclient = NULL;
   sink->ports = NULL;
   sink->port_count = 0;
+  sink->client_name = g_strdup (DEFAULT_PROP_CLIENT_NAME);
 }
 
 static void
@@ -757,6 +769,10 @@ gst_jack_audio_sink_set_property (GObjec
   sink = GST_JACK_AUDIO_SINK (object);
 
   switch (prop_id) {
+    case PROP_CLIENT_NAME:
+      g_free (sink->client_name);
+      sink->client_name = g_value_dup_string (value);
+      break;
     case PROP_CONNECT:
       sink->connect = g_value_get_enum (value);
       break;
@@ -785,6 +801,9 @@ gst_jack_audio_sink_get_property (GObjec
   sink = GST_JACK_AUDIO_SINK (object);
 
   switch (prop_id) {
+    case PROP_CLIENT_NAME:
+      g_value_set_string (value, sink->client_name);
+      break;
     case PROP_CONNECT:
       g_value_set_enum (value, sink->connect);
       break;
--- gstjackaudiosrc.c	2011-12-07 19:38:02.124205420 +0100
+++ gstjackaudiosrc.c	2011-12-07 20:32:30.664565350 +0100
@@ -336,7 +336,11 @@ gst_jack_ring_buffer_open_device (GstRin
 
   GST_DEBUG_OBJECT (src, "open");
 
-  name = g_get_application_name ();
+  if (src->client_name) {
+    name = src->client_name;
+  } else {
+    name = g_get_application_name ();
+  }
   if (!name)
     name = "GStreamer";
 
@@ -647,8 +651,9 @@ enum
   LAST_SIGNAL
 };
 
-#define DEFAULT_PROP_CONNECT 	GST_JACK_CONNECT_AUTO
-#define DEFAULT_PROP_SERVER 	NULL
+#define DEFAULT_PROP_CONNECT 		GST_JACK_CONNECT_AUTO
+#define DEFAULT_PROP_SERVER 		NULL
+#define DEFAULT_PROP_CLIENT_NAME	NULL
 
 enum
 {
@@ -656,6 +661,7 @@ enum
   PROP_CONNECT,
   PROP_SERVER,
   PROP_CLIENT,
+  PROP_CLIENT_NAME,
   PROP_LAST
 };
 
@@ -732,6 +738,11 @@ gst_jack_audio_src_class_init (GstJackAu
           "The Jack server to connect to (NULL = default)",
           DEFAULT_PROP_SERVER, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
+  g_object_class_install_property (gobject_class, PROP_CLIENT_NAME,
+      g_param_spec_string ("client-name", "Client name",
+          "The client name of the Jack instance (NULL = default)",
+          DEFAULT_PROP_CLIENT_NAME, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
   g_object_class_install_property (gobject_class, PROP_CLIENT,
       g_param_spec_boxed ("client", "JackClient", "Handle for jack client",
           GST_TYPE_JACK_CLIENT,
@@ -764,6 +775,7 @@ gst_jack_audio_src_init (GstJackAudioSrc
   src->ports = NULL;
   src->port_count = 0;
   src->buffers = NULL;
+  src->client_name = g_strdup (DEFAULT_PROP_CLIENT_NAME);
 }
 
 static void
@@ -782,6 +794,10 @@ gst_jack_audio_src_set_property (GObject
   GstJackAudioSrc *src = GST_JACK_AUDIO_SRC (object);
 
   switch (prop_id) {
+    case PROP_CLIENT_NAME:
+      g_free (src->client_name);
+      src->client_name = g_value_dup_string (value);
+      break;
     case PROP_CONNECT:
       src->connect = g_value_get_enum (value);
       break;
@@ -808,6 +824,9 @@ gst_jack_audio_src_get_property (GObject
   GstJackAudioSrc *src = GST_JACK_AUDIO_SRC (object);
 
   switch (prop_id) {
+    case PROP_CLIENT_NAME:
+      g_value_set_string (value, src->client_name);
+      break;
     case PROP_CONNECT:
       g_value_set_enum (value, src->connect);
       break;
--- gstjackaudiosink.h	2011-12-08 12:54:44.015526854 +0100
+++ gstjackaudiosink.h	2011-12-08 12:55:04.316508922 +0100
@@ -58,6 +58,7 @@ struct _GstJackAudioSink {
   GstJackConnect   connect;
   gchar           *server;
   jack_client_t   *jclient;
+  gchar           *client_name;
 
   /* our client */
   GstJackAudioClient *client;
--- gstjackaudiosrc.h	2011-12-08 12:53:54.681571040 +0100
+++ gstjackaudiosrc.h	2011-12-08 12:55:12.185502012 +0100
@@ -75,6 +75,7 @@ struct _GstJackAudioSrc
     GstJackConnect connect;
     gchar           *server;
     jack_client_t   *jclient;
+    gchar           *client_name;
 
     /* our client */
     GstJackAudioClient *client;
