summaryrefslogtreecommitdiffstats
path: root/libao2
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-08-18 09:40:59 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-08-18 09:40:59 +0000
commit7ddba028800273f6e6267a4d5592a7a02fb842cd (patch)
treed940cfaf899487cc2af4c5943ae8ade688df4cd6 /libao2
parent550726e11c27d423a5d34635fd427611b2a7ec35 (diff)
downloadmpv-7ddba028800273f6e6267a4d5592a7a02fb842cd.tar.bz2
mpv-7ddba028800273f6e6267a4d5592a7a02fb842cd.tar.xz
name suboption for jack to set client name
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16254 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libao2')
-rw-r--r--libao2/ao_jack.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/libao2/ao_jack.c b/libao2/ao_jack.c
index 56a39deb72..ec7d1e5381 100644
--- a/libao2/ao_jack.c
+++ b/libao2/ao_jack.c
@@ -207,6 +207,8 @@ static void print_help ()
"\nOptions:\n"
" port=<port name>\n"
" Connects to the given ports instead of the default physical ones\n"
+ " name=<client name>\n"
+ " Client name to pass to JACK\n"
" estimate\n"
" Estimates the amount of data in buffers (experimental)\n");
}
@@ -214,9 +216,10 @@ static void print_help ()
static int init(int rate, int channels, int format, int flags) {
const char **matching_ports = NULL;
char *port_name = NULL;
- char client_name[40];
+ char *client_name = NULL;
opt_t subopts[] = {
{"port", OPT_ARG_MSTRZ, &port_name, NULL},
+ {"name", OPT_ARG_MSTRZ, &client_name, NULL},
{"estimate", OPT_ARG_BOOL, &estimate, NULL},
{NULL}
};
@@ -231,7 +234,10 @@ static int init(int rate, int channels, int format, int flags) {
mp_msg(MSGT_AO, MSGL_FATAL, "[JACK] Invalid number of channels: %i\n", channels);
goto err_out;
}
+ if (!client_name) {
+ client_name = (char *)malloc(40);
sprintf(client_name, "MPlayer [%d]", getpid());
+ }
client = jack_client_new(client_name);
if (!client) {
mp_msg(MSGT_AO, MSGL_FATAL, "[JACK] cannot open server\n");
@@ -286,11 +292,13 @@ static int init(int rate, int channels, int format, int flags) {
ao_data.outburst = CHUNK_SIZE;
free(matching_ports);
free(port_name);
+ free(client_name);
return 1;
err_out:
free(matching_ports);
free(port_name);
+ free(client_name);
if (client)
jack_client_close(client);
free(buffer);