Bug 103941

Summary: Offers left/right channels for device with a single speaker
Product: PulseAudio Reporter: Bastien Nocera <bugzilla>
Component: coreAssignee: pulseaudio-bugs
Status: RESOLVED MOVED QA Contact: pulseaudio-bugs
Severity: normal    
Priority: medium CC: lennart
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Bastien Nocera 2017-11-27 15:53:13 UTC
Using the "Iqua miniUFO" in a2dp mode, only the left speaker can play anything back in GNOME's Sound Settings. Playing back audio on the right channel doesn't play anything.

Bizarrely, pavucontrol only sees the "Headset" port, GNOME's Sound Settings can see both.

Is there a way to quirk the output to say that both channels need to be mixed into the left one for this device in a2dp mode?

Card #6
	Name: bluez_card.00_13_04_83_5F_7A
	Driver: module-bluez5-device.c
	Owner Module: 27
	Properties:
		device.description = "Iqua miniUFO"
		device.string = "00:13:04:83:5F:7A"
		device.api = "bluez"
		device.class = "sound"
		device.bus = "bluetooth"
		device.form_factor = "headset"
		bluez.path = "/org/bluez/hci0/dev_00_13_04_83_5F_7A"
		bluez.class = "0x240404"
		bluez.alias = "Iqua miniUFO"
		device.icon_name = "audio-headset-bluetooth"
		device.intended_roles = "phone"
	Profiles:
		headset_head_unit: Headset Head Unit (HSP/HFP) (sinks: 1, sources: 1, priority: 20, available: yes)
		a2dp_sink: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 10, available: yes)
		off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
	Active Profile: a2dp_sink
	Ports:
		headset-output: Headset (priority: 0, latency offset: 0 usec)
			Part of profile(s): headset_head_unit, a2dp_sink
		headset-input: Headset (priority: 0, latency offset: 0 usec)
			Part of profile(s): headset_head_unit
Comment 1 Georg Chini 2017-11-27 18:28:13 UTC
I guess that is a problem of the device, not of pulseaudio. It looks like the device only plays the left channel when in a2dp mode. What do you mean when you say
> pavucontrol only sees the "Headset" port, GNOME's Sound Settings can see both. 
What else does GNOME see?

You can try to use module-remap-sink to create a mono sink:
pactl load-module module-remap-sink sink_name=my_mono_sink master=your_bluez_sink master_channel_map=front-left channel_map=mono
Comment 2 Bastien Nocera 2017-11-28 09:10:27 UTC
(In reply to Georg Chini from comment #1)
> I guess that is a problem of the device, not of pulseaudio. It looks like
> the device only plays the left channel when in a2dp mode.

This is exactly what I said.

> What do you mean
> when you say
> > pavucontrol only sees the "Headset" port, GNOME's Sound Settings can see both. 
> What else does GNOME see?

GNOME sees A2DP and Headset.

> You can try to use module-remap-sink to create a mono sink:
> pactl load-module module-remap-sink sink_name=my_mono_sink
> master=your_bluez_sink master_channel_map=front-left channel_map=mono

OK, now, how do I do this, automatically, when this device is used, in a way that can be shipped in PulseAudio so it works out of the box?
Comment 3 Georg Chini 2017-11-30 20:53:06 UTC
pavucontrol also sees both profiles, it shows a2dp and hsp (which is the headset profile in GNOME). It's just the naming that is a bit confusing, because in pulseaudio the profiles have ports and the port is displayed as headset for both profiles.

Unfortunately I have no idea how inserting the module can be automated so that it works out of the box.
Comment 4 GitLab Migration User 2018-07-30 09:37:35 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/56.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.