2012-9-22 上午7:45 於 "Herton Ronaldo Krzesinski" < herton.krzesinski@canonical.com> 寫道:
Hi,
On Via codecs reported on https://bugs.launchpad.net/bugs/1052499, while investigating the report, it can be seen that on Headphone pin the plug is not detectable (NO_PRESENCE). It could be that front panel is AC97 wiring or something else, I don't know. But it makes the jack detection handling code to add the headphone jack as "phantom", which makes snd_hda_jack_detect return headphone jack as always present (commit 80c8bfbe768 is applied/cherry-picked on the reported kernel).
Thus after jacks are added, the automute code will always detect HP as present, and keep muted all line-outs. The proposed solution following this is using is_jack_detectable inside via_hp_automute to handle this, other codecs seem to use also is_jack_detectable at the moment in similar situations. Other approach could be also to not report presence on phantom jacks with HP or Line Outs.
Most VIA codecs support independent headphone which allow user to play different audio streams to rear panel jack and front panel headphone.
if independent headphone switch is ON, pulseaudio should not mute the rear line out
APLAY
**** List of PLAYBACK Hardware Devices **** card 0: NVidia [HDA NVidia], device 0: VT1705 Analog [VT1705 Analog] Subdevices: 0/1 Subdevice #0: subdevice #0 card 0: NVidia [HDA NVidia], device 2: VT1705 HP [VT1705 HP] Subdevices: 1/1 Subdevice #0: subdevice #0