summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiklas Haas <git@haasn.xyz>2019-01-10 20:57:44 +0100
committerMax Kellermann <max@musicpd.org>2019-10-29 10:07:44 +0100
commit65778a377473bf9034c23a93e8fed5a65af5decf (patch)
tree9d4f3ff29cc0e02ca045b5df2dd45a0c61787409
parentd9841668ffbeeb756f4c4895b41a06c1376d9613 (diff)
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.
-rw-r--r--NEWS2
-rw-r--r--src/output/plugins/JackOutputPlugin.cxx3
2 files changed, 4 insertions, 1 deletions
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\"",