Commit bc81e6e5 authored by Geoffrey McRae's avatar Geoffrey McRae Committed by Gerd Hoffmann
Browse files

audio/jack: simplify the re-init code path



Instead of checking for the audodev state in each code path, centralize
the check into the initialize function itself to make it safe to call it
at any time.

Signed-off-by: default avatarGeoffrey McRae <geoff@hostfission.com>
Message-id: 20200613040518.38172-7-geoff@hostfission.com
Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent 81e0efb2
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -395,6 +395,10 @@ static int qjack_client_init(QJackClient *c)
    char client_name[jack_client_name_size()];
    jack_options_t options = JackNullOption;

    if (c->state == QJACK_STATE_RUNNING) {
        return 0;
    }

    c->connect_ports = true;

    snprintf(client_name, sizeof(client_name), "%s-%s",
@@ -485,9 +489,7 @@ static int qjack_init_out(HWVoiceOut *hw, struct audsettings *as,
    QJackOut *jo  = (QJackOut *)hw;
    Audiodev *dev = (Audiodev *)drv_opaque;

    if (jo->c.state != QJACK_STATE_DISCONNECTED) {
        return 0;
    }
    qjack_client_fini(&jo->c);

    jo->c.out       = true;
    jo->c.enabled   = false;
@@ -523,9 +525,7 @@ static int qjack_init_in(HWVoiceIn *hw, struct audsettings *as,
    QJackIn  *ji  = (QJackIn *)hw;
    Audiodev *dev = (Audiodev *)drv_opaque;

    if (ji->c.state != QJACK_STATE_DISCONNECTED) {
        return 0;
    }
    qjack_client_fini(&ji->c);

    ji->c.out       = false;
    ji->c.enabled   = false;