OSDN Git Service

audio/jack: do not remove ports when finishing
authorGeoffrey McRae <geoff@hostfission.com>
Sat, 13 Jun 2020 04:05:16 +0000 (14:05 +1000)
committerGerd Hoffmann <kraxel@redhat.com>
Wed, 17 Jun 2020 12:44:51 +0000 (14:44 +0200)
This fixes a hang when there is a communications issue with the JACK
server. Simply closing the connection is enough to completely clean up
and as such we do not need to remove the ports first. As JACK uses a
socket based protocol that relies on the `select` call, if there is a
communication breakdown with the server the client library waits
forever for a response to the unregister request.

Signed-off-by: Geoffrey McRae <geoff@hostfission.com>
Message-id: 20200613040518.38172-5-geoff@hostfission.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
audio/jackaudio.c

index 58c7344..249cbd3 100644 (file)
@@ -548,9 +548,6 @@ static void qjack_client_fini(QJackClient *c)
 {
     switch (c->state) {
     case QJACK_STATE_RUNNING:
-        for (int i = 0; i < c->nchannels; ++i) {
-            jack_port_unregister(c->client, c->port[i]);
-        }
         jack_deactivate(c->client);
         /* fallthrough */