On Sat, 2017-09-02 at 21:46 +0200, Georg Chini wrote: > When a phone is connected via bluetooth and switches to HFP, the sinks > and sources will have higher priority than the built-in devices. > Therefore they are chosen as default and module-bluetooth-policy will > incorrectly insert loopback modules that loop the phone back to itself. > > This patch fixes the problem by lowering the priority of sink and source > if PulseAudio is in the headset role. The priority is also lowered if the > device is an a2dp source. In both cases it does not make sense to make the > source or sink default unless there is no other sound device available. > --- > src/modules/bluetooth/module-bluez5-device.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/src/modules/bluetooth/module-bluez5-device.c b/src/modules/bluetooth/module-bluez5-device.c > index 12a49848..c0e681b1 100644 > --- a/src/modules/bluetooth/module-bluez5-device.c > +++ b/src/modules/bluetooth/module-bluez5-device.c > @@ -1607,6 +1607,12 @@ static int start_thread(struct userdata *u) { > if (u->sink) { > pa_sink_set_asyncmsgq(u->sink, u->thread_mq.inq); > pa_sink_set_rtpoll(u->sink, u->rtpoll); > + > + /* If we are in the headset role, the sink should not become default > + * unless there is no other sound device available. */ > + if (u->profile == PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY) > + u->sink->priority = 1500; > + > pa_sink_put(u->sink); > > if (u->sink->set_volume) > @@ -1616,6 +1622,13 @@ static int start_thread(struct userdata *u) { > if (u->source) { > pa_source_set_asyncmsgq(u->source, u->thread_mq.inq); > pa_source_set_rtpoll(u->source, u->rtpoll); > + > + /* If we are in the headset role or the device is an a2dp source, > + * the source should not become default unless there is no other > + * sound device available. */ > + if (u->profile == PA_BLUETOOTH_PROFILE_HEADSET_AUDIO_GATEWAY || u->profile == PA_BLUETOOTH_PROFILE_A2DP_SOURCE) > + u->source->priority = 1500; > + > pa_source_put(u->source); > > if (u->source->set_volume) Thanks! Applied. -- Tanu https://www.patreon.com/tanuk