qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Autoconnect jack ports by default


From: Christian Schoenebeck
Subject: Re: [PATCH] Autoconnect jack ports by default
Date: Wed, 24 Feb 2021 18:29:34 +0100

On Mittwoch, 24. Februar 2021 17:47:03 CET José Ramón Muñoz Pekkarinen wrote:
> On Wed, 24 Feb 2021 at 18:40, Christian Schoenebeck <qemu_oss@crudebyte.com>
> wrote:
> > On Mittwoch, 24. Februar 2021 17:16:58 CET José Ramón Muñoz Pekkarinen
> > 
> > wrote:
> > > On Wed, 24 Feb 2021 at 17:49, José Pekkarinen <koalinux@gmail.com>
> > 
> > wrote:
> > > > This patch provides a default value to connect
> > > > jack ports when the user don't specify connect-ports.
> > > > 
> > > > Buglink: https://bugs.launchpad.net/qemu/+bug/1908832
> > > > 
> > > > Signed-off-by: José Pekkarinen <koalinux@gmail.com>
> > > > ---
> > > > 
> > > >  audio/jackaudio.c | 15 ++++++++++++---
> > > >  1 file changed, 12 insertions(+), 3 deletions(-)
> > > > 
> > > > diff --git a/audio/jackaudio.c b/audio/jackaudio.c
> > > > index 3031c4e29b..a29b1ccba2 100644
> > > > --- a/audio/jackaudio.c
> > > > +++ b/audio/jackaudio.c
> > > > @@ -369,14 +369,23 @@ static size_t qjack_read(HWVoiceIn *hw, void
> > 
> > *buf,
> > 
> > > > size_t len)
> > > > 
> > > >  static void qjack_client_connect_ports(QJackClient *c)
> > > >  {
> > > > 
> > > > -    if (!c->connect_ports || !c->opt->connect_ports) {
> > > > +    if (!c->connect_ports) {
> > > > 
> > > >          return;
> > > >      
> > > >      }
> > > >      
> > > >      c->connect_ports = false;
> > > >      const char **ports;
> > > > 
> > > > -    ports = jack_get_ports(c->client, c->opt->connect_ports, NULL,
> > > > -        c->out ? JackPortIsInput : JackPortIsOutput);
> > > > +    if (c->out) {
> > > > +        ports = jack_get_ports(c->client,
> > > > +            c->opt->connect_ports ? "system:capture_.*"
> > > > +                : c->opt->connect_ports,
> > 
> > I think that should be the other way around:
> >         c->opt->connect_ports ? c->opt->connect_ports :
> >         "system:capture_.*"
> 
>     I was thinking exactly the same when I was reading
> the patch, but in the way you hint it doesn't make it, so
> somewhere we may be taking the logic inverted.

I guess that's because the RegEx patterns are interchanged as well. Try:

if (c->out) {
        ...
        c->opt->connect_ports ? c->opt->connect_ports : "system:playback_.*"
        ...
} else {
        ...
        c->opt->connect_ports ? c->opt->connect_ports : "system:capture_.*"
        ...
}

Best regards,
Christian Schoenebeck





reply via email to

[Prev in Thread] Current Thread [Next in Thread]