From 65778a377473bf9034c23a93e8fed5a65af5decf Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Thu, 10 Jan 2019 20:57:44 +0100 Subject: [PATCH] output/Jack: mark ports as terminal This is the correct thing to do for ports from which a signal ultimately "originates", such as is the case with mpd. --- NEWS | 2 ++ src/output/plugins/JackOutputPlugin.cxx | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 3962becb1..deaf78cac 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,6 @@ ver 0.21.17 (not yet released) +* outputs + - jack: mark ports as terminal ver 0.21.16 (2019/10/16) * queue diff --git a/src/output/plugins/JackOutputPlugin.cxx b/src/output/plugins/JackOutputPlugin.cxx index 900c2baaf..141105909 100644 --- a/src/output/plugins/JackOutputPlugin.cxx +++ b/src/output/plugins/JackOutputPlugin.cxx @@ -403,10 +403,11 @@ JackOutput::Connect() jack_on_shutdown(client, mpd_jack_shutdown, this); for (unsigned i = 0; i < num_source_ports; ++i) { + unsigned long portflags = JackPortIsOutput | JackPortIsTerminal; ports[i] = jack_port_register(client, source_ports[i].c_str(), JACK_DEFAULT_AUDIO_TYPE, - JackPortIsOutput, 0); + portflags, 0); if (ports[i] == nullptr) { Disconnect(); throw FormatRuntimeError("Cannot register output port \"%s\"",