[pulseaudio-discuss] [PATCH] core: ignore devices that are not linked when choosing the default sink or source
Tanu Kaskinen
tanuk at iki.fi
Sat Sep 2 11:22:29 UTC 2017
On Wed, 2017-08-30 at 21:15 +0200, Georg Chini wrote:
> On 30.08.2017 20:51, Tanu Kaskinen wrote:
> > Sources should probably be added to pa_core.sources in pa_source_put(),
> > but currently they're added in pa_source_new(). A lot of stuff can
> > happen between the pa_source_new() and pa_source_put() calls, and
> > it has happened that the default source was updated during this time.
> > Therefore, pa_core_update_default_source() needs to take it into account
> > that not every source is necessarily linked.
> > ---
> > src/pulsecore/core.c | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/src/pulsecore/core.c b/src/pulsecore/core.c
> > index e01677d5d..454c56685 100644
> > --- a/src/pulsecore/core.c
> > +++ b/src/pulsecore/core.c
> > @@ -315,6 +315,9 @@ void pa_core_update_default_sink(pa_core *core) {
> > pa_assert(core);
> >
> > PA_IDXSET_FOREACH(sink, core->sinks, idx) {
> > + if (!PA_SINK_IS_LINKED(sink->state))
> > + continue;
> > +
> > if (!best) {
> > best = sink;
> > continue;
> > @@ -399,6 +402,9 @@ void pa_core_update_default_source(pa_core *core) {
> > pa_assert(core);
> >
> > PA_IDXSET_FOREACH(source, core->sources, idx) {
> > + if (!PA_SOURCE_IS_LINKED(source->state))
> > + continue;
> > +
> > if (!best) {
> > best = source;
> > continue;
>
> Looks good to me.
Thanks! Applied.
--
Tanu
https://www.patreon.com/tanuk
More information about the pulseaudio-discuss
mailing list