[pulseaudio-discuss] Profile switching on headphone plugging

Alexander E. Patrakov patrakov at gmail.com
Sat Feb 7 22:29:52 PST 2015


08.02.2015 11:06, Raymond Yau wrote:
>  > >
>  > >> Hrm, that is actually a good question. In theory, I would expect
>  > >> module-switch-on-port-available to switch profiles between 2.0 and 2.1
>  > >> as headphones are plugged in and out, but in practice,
>  > >>
>  > >>   - I'm not 100% sure if our "don't switch to HDMI" might prevent
>  > >> switching from 2.1 to 2.0 when headphones are plugged in, and
>  > >>
>  > >>   - As the 2.0 profile is available on speakers, that will continue to
>  > >> be selected when headphones are unplugged.
>  > >>
>  > >> So, while this is not directly related to whether there is an LFE
> filter
>  > >> or not - we already have a 2.1, 5.1, etc, profiles - indeed the
> problem
>  > >> might become worse with the LFE filter.
>  > >
>  > >
>  > > Well, I have just tested how today's git version of pulseaudio
> (without your patch) behaves when plugging headphones. Yes - the problem
> is pre-existing.
>  > >
>  > > The PC under test has analog outputs on the back panel that,
> theoretically, can be used as analog 5.1 outputs, and also has headphone
> and microphone sockets at the front panel.
>  > >
>  > > So, the test is:
>  > >
>  > > 1. Make sure something (I tested with a cable extender) is plugged
> in the line output on the back panel.
>  > > 2. Select the "analog stereo duplex" profile in pavucontrol.
>  > > 3. Look at the Playback devices tab. It should say: Port: Line Out
> (plugged in).
>  > > 4. Plug in headphones at the front. Note that the port changes to:
> Headphones (plugged in). I.e. exactly as expected.
>  > > 5. Unplug the headphones, watch how the port changes back to Line
> Out (plugged in).
>  > > 5. Now select the Analog Surround 5.1 + Stereo Input as a profile.
> Now the port stays as Line Out (plugged in), but the volume control
> becomes 6-channel.
>  > > 6. Plug headphones in. Result: the port stays as Line Out (plugged
> in), with 6-channel volume control, and speaker-test -c6 does not reach
> headphones.
>  > >
>  > > Sorry, I cannot retest this at home without additional
> jack-retasking (which could make the result untrustworthy), because my
> home PC does not have any audio sockets at the front panel.
>
> For desktop/notebook which support 5.1 , not all hda codecs have
> headphone playback volume control, headphone and front line out share
> e.g. those 6 channels hda codec alc662 (e.g dell inspiron 660s or lenovo
> think center a58e)
>
> http://www.alsa-project.org/db/?f=d57c2c52e03841877dbb1dba005f9f1ebee43f58
>
> Do this mean that you want the driver to rename "front playback volume"
> to "LO + Headphone playback  volume" ?

That's not a question that I feel qualified enough to answer definitely, 
but, from my viewpoint, for that particular alsa-info, it would make 
sense to rename it to "Headphone+LO Playback Volume". Just a different 
word order than what you suggested, in order to match what PulseAudio 
already recognizes.

>
> Will pulseaudio change back to 5.1/7.1 profile when headphone is
> unplugged if user select 5.1 profile before headphone is plugged ?

Currently, it doesn't allow using headphones at all on that PC if a 
non-stereo profile is initially selected, so the question is pointless. 
It currently can't switch from the stereo profile to 5.1, because it 
never switched from 5.1 to stereo. As a user, I would indeed expect it 
to switch to the stereo profile when I plug headphones, and switch to 
what I selected before (e.g. to 5.1) when I unplug headphones.

The real question is where and how should my preference to use the 5.1 
output be stored in PulseAudio without it being lost when I plug my 
headphones.

-- 
Alexander E. Patrakov


More information about the pulseaudio-discuss mailing list