From 97370d8bce0ee18fa06b932f9db16d871b03ec71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Nettingsmeier?= Date: Sat, 16 Feb 2019 18:45:51 +0000 Subject: [PATCH] Actually implement auto-connection, and document it. --- audio_jack.c | 42 ++++++++++++++++++++++++++++++------- scripts/shairport-sync.conf | 10 +++++++-- 2 files changed, 43 insertions(+), 9 deletions(-) diff --git a/audio_jack.c b/audio_jack.c index 6f4e3416..d98be546 100644 --- a/audio_jack.c +++ b/audio_jack.c @@ -20,6 +20,7 @@ #include "audio.h" #include "common.h" +#include #include #include #include @@ -156,6 +157,7 @@ static void info(const char *desc) { } int jack_init(__attribute__((unused)) int argc, __attribute__((unused)) char **argv) { + int i; config.audio_backend_latency_offset = 0; config.audio_backend_buffer_desired_length = 0.500; config.audio_backend_buffer_interpolation_threshold_in_seconds = @@ -206,7 +208,7 @@ int jack_init(__attribute__((unused)) int argc, __attribute__((unused)) char **a jack_set_error_function(&error); jack_set_info_function(&info); - for (int i=0; i < NPORTS; i++) { + for (i=0; i < NPORTS; i++) { port[i] = jack_port_register(client, port_name[i], JACK_DEFAULT_AUDIO_TYPE, JackPortIsOutput, 0); } @@ -218,14 +220,40 @@ int jack_init(__attribute__((unused)) int argc, __attribute__((unused)) char **a if (config.jack_autoconnect_pattern != NULL) { debug(1, "config.jack_autoconnect_pattern is %s.", config.jack_autoconnect_pattern); - const char** port_list = jack_get_ports(client, config.jack_autoconnect_pattern, JACK_DEFAULT_AUDIO_TYPE, JackPortIsInput); - while (*port_list != NULL) { - debug(1, "Found matching JACK port %s.", *port_list); - port_list++; - // FIXME: implement actual connection, warn user if more than 2 hits. + const char** port_list = jack_get_ports(client, config.jack_autoconnect_pattern, + JACK_DEFAULT_AUDIO_TYPE, JackPortIsInput); + for (i=0; i