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