From a9edf85a692e6afbe6c5efc9f2784e2c5d191eab Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Wed, 4 Apr 2012 21:40:56 +0200
Subject: [PATCH] output/jack: check for connection failure before starting
 playback

---
 NEWS                            | 1 +
 src/output/jack_output_plugin.c | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/NEWS b/NEWS
index a7bd652b4..8eb3ed3bc 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,7 @@ ver 0.16.8 (2012/??/??)
   - vorbis (and others): fix seeking at startup
   - ffmpeg: read the "year" tag
 * output:
+  - jack: check for connection failure before starting playback
   - jack: workaround for libjack1 crash bug
   - osx: fix stuttering due to buffering bug
 * fix endless loop in text file reader
diff --git a/src/output/jack_output_plugin.c b/src/output/jack_output_plugin.c
index bc13c2f85..c67fcd38a 100644
--- a/src/output/jack_output_plugin.c
+++ b/src/output/jack_output_plugin.c
@@ -576,6 +576,9 @@ mpd_jack_open(void *data, struct audio_format *audio_format, GError **error_r)
 
 	jd->pause = false;
 
+	if (jd->client != NULL && jd->shutdown)
+		mpd_jack_disconnect(jd);
+
 	if (jd->client == NULL && !mpd_jack_connect(jd, error_r))
 		return false;