From 4b5c66af76e74cfb75a0faa3c51b09bc1da1c4b4 Mon Sep 17 00:00:00 2001 From: reimar Date: Sun, 4 Jan 2009 11:51:11 +0000 Subject: [PATCH] Replace deprecated jack_client_new with jack_client_open. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28241 b3059339-0415-0410-9bf9-f77b7e298cf2 --- DOCS/man/en/mplayer.1 | 3 +++ libao2/ao_jack.c | 12 ++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1 index 05cd7bfdbd..c19c20fe63 100644 --- a/DOCS/man/en/mplayer.1 +++ b/DOCS/man/en/mplayer.1 @@ -2757,6 +2757,9 @@ Useful if you want to have certain connections established automatically. .IPs (no)estimate Estimate the audio delay, supposed to make the video playback smoother (default: enabled). +.IPs (no)autostart (default: disabled) +Automatically start jackd if necessary. +Note that this seems unreliable and will spam stdout with server messages. .RE .PD 1 . diff --git a/libao2/ao_jack.c b/libao2/ao_jack.c index e4ac6910b2..d7f2092a43 100644 --- a/libao2/ao_jack.c +++ b/libao2/ao_jack.c @@ -227,19 +227,25 @@ static void print_help (void) " name=\n" " Client name to pass to JACK\n" " estimate\n" - " Estimates the amount of data in buffers (experimental)\n"); + " Estimates the amount of data in buffers (experimental)\n" + " autostart\n" + " Automatically start JACK server if necessary\n" + ); } static int init(int rate, int channels, int format, int flags) { const char **matching_ports = NULL; char *port_name = NULL; char *client_name = NULL; + int autostart = 0; opt_t subopts[] = { {"port", OPT_ARG_MSTRZ, &port_name, NULL}, {"name", OPT_ARG_MSTRZ, &client_name, NULL}, {"estimate", OPT_ARG_BOOL, &estimate, NULL}, + {"autostart", OPT_ARG_BOOL, &autostart, NULL}, {NULL} }; + jack_options_t open_options = JackUseExactName; int port_flags = JackPortIsInput; int i; estimate = 1; @@ -255,7 +261,9 @@ static int init(int rate, int channels, int format, int flags) { client_name = malloc(40); sprintf(client_name, "MPlayer [%d]", getpid()); } - client = jack_client_new(client_name); + if (!autostart) + open_options |= JackNoStartServer; + client = jack_client_open(client_name, open_options, NULL); if (!client) { mp_msg(MSGT_AO, MSGL_FATAL, "[JACK] cannot open server\n"); goto err_out;