card: Only set active_profile with available profile

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

 



On Fri, 2013-11-15 at 09:31 +0100, Colin Guthrie wrote:
> 'Twas brillig, and Tanu Kaskinen at 05/11/13 20:34 did gyre and gimble:
> >  src/pulsecore/card.c |    7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> > 
> > New commits:
> > commit f434087e42bca15fae938f6cc01d2875c4c7728b
> > Author: Luiz Augusto von Dentz <luiz.von.dentz at intel.com>
> > Date:   Sun Nov 3 15:05:34 2013 +0200
> > 
> >     card: Only set active_profile with available profile
> >     
> >     When a card is being created and no profile has been assigned
> >     pa_card_new will attempt to select one from the list but it does that
> >     without checking the available flag which can lead to select profiles
> >     not available.
> > 
> > diff --git a/src/pulsecore/card.c b/src/pulsecore/card.c
> > index e6e0836..4ae16c2 100644
> > --- a/src/pulsecore/card.c
> > +++ b/src/pulsecore/card.c
> > @@ -195,9 +195,14 @@ pa_card *pa_card_new(pa_core *core, pa_card_new_data *data) {
> >              c->save_profile = data->save_profile;
> >  
> >      if (!c->active_profile) {
> > -        PA_HASHMAP_FOREACH(profile, c->profiles, state)
> > +        PA_HASHMAP_FOREACH(profile, c->profiles, state) {
> > +            if (profile->available == PA_AVAILABLE_NO)
> > +                continue;
> > +
> >              if (!c->active_profile || profile->priority > c->active_profile->priority)
> >                  c->active_profile = profile;
> > +        }
> > +        pa_assert(c->active_profile);
> 
> Doesn't this leave the possibility of a crash if no active profiles exist?
> 
> Wouldn't it make more sense to fall back to setting it to *something*
> even if it is unavailable?

There's always the "off" profile that will be available, both in alsa
and bluetooth.

It seems that both you and Luiz posted patches that change the same
code, and both remove the assertion. Have you talked with Luiz? Could
you two agree which version you prefer? I don't have an opinion at this
point. I haven't concentrated on the patches enough to even know what
problem you're solving - is it just that the assertion makes you
nervous, or is there some other benefit.

-- 
Tanu



[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux