[pulseaudio-discuss] [BUG?] I get a profile with 2 outputs, but if I mute headphone it mutes both ports

David Henningsson david.henningsson at canonical.com
Tue Nov 10 12:33:18 PST 2015



On 2015-11-10 20:26, Tanu Kaskinen wrote:
> On Tue, 2015-11-10 at 14:52 +0100, David Henningsson wrote:
>>
>> On 2015-11-10 14:40, Tanu Kaskinen wrote:
>>> On Thu, 2015-11-05 at 09:04 +0100, David Henningsson wrote:
>>>>
>>>> On 2015-11-04 12:09, Tanu Kaskinen wrote:
>>>>> On Mon, 2015-11-02 at 09:36 +0100, David Henningsson wrote:
>>>>>>
>>>>>> On 2015-11-01 13:41, Tanu Kaskinen wrote:
>>>>>>>
>>>>>>> I'm not sure if we can fix this upstream. To me it would seem logical
>>>>>>> for the kernel to promise that "Front" only refers to line out, and if
>>>>>>> on some machine it also affects the headphone path, then that should be
>>>>>>> considered a kernel bug, and the kernel should rename the element.
>>>>>>> David, what do you think?
>>>>>>
>>>>>> Well, technically what comes out of a headphone are front left and front
>>>>>> right channels, so to some degree it makes sense that "Front" should be
>>>>>> a part of the headphone path.
>>>>>
>>>>> Sure, "Front" could be defined to affect both line out and headphone
>>>>> paths. The problem is that currently it seems to mean "line out only"
>>>>> on some machines and "line out and headphones" on other machines. If
>>>>> "Front" is defined to affect both paths, then we need some other name
>>>>> for controls that only affect the line out path.
>>>>
>>>> I believe the logical name for such a control would be "Line Out Front".
>>>> (Which we currently do not support in the line out path, btw, and I
>>>> haven't seen it in the wild, either.)
>>>
>>> I suppose the kernel is usually able to automute line out when
>>> headphones are plugged in?
>>
>> Yes.
>>
>>> If so, then why doesn't the kernel expose
>>> the mute control to the userspace?
>>
>> I'm not sure I understand what "the mute control" refers to, but in this
>> case the mute control for the front line out jack is called "Front" (or
>> "Front Playback Switch" being the full name).
>
> I meant the general case, where the kernel knows how to automute line
> out. You said that you haven't seen "Line Out Front" anywhere. Why is
> that, if the kernel knows how to mute line out?

The kernel is fully aware that the jack is a line out jack (as you can 
see on the jack kcontrol). It's just that the algorithm for naming 
volume/mute kcontrols is not trivial; on one hand, you want as short 
name as possible (max 44 characters, minus ' Playback Switch'), but 
still unique and descriptive, taking location, channel map and device 
into account. Then add that a volume/mute might control more than one, 
but not all, of the outputs...some use cases are not handled optimally.

-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic


More information about the pulseaudio-discuss mailing list