[pulseaudio-discuss] [PATCH 2/3] module-port-manager: Add new port manager module
Alexander E. Patrakov
patrakov at gmail.com
Tue Mar 10 12:42:22 PDT 2015
10.03.2015 23:28, Alexander E. Patrakov wrote:
> I have read the rest of the patch, and could not find anything
> obviously wrong. But I have not tested it, either, so it is not an
> "ack" yet. I intend to do some testing in the next hour and also
> tomorrow.
>
OK, first log of meaningless-random-monkey testing on my desktop PC.
I have two Intel HDA soundcards - one for analog + spdif, and one for
HDMI, with three outputs. The Dell monitor is connected to HDMI 1, HDMI
2 is unused, and the LG TV is connected to HDMI 3. The Dell monitor is
capable of accepting audio over HDMI, but I don't use this capability.
The LG TV, obviously, can play sounds, and I use it sometimes. There is
also a Logitech webcam.
Initially, before killing the old copy of pulseaudio, the analog
soundcard was using the Analog Stereo Duplex profile, my headphones were
plugged in, and HDMI card was using Digital Stereo (HDMI 3) output
(unplugged, because the LG TV was initially powered off).
So, I killed pulseaudio, it got restarted and loaded the new module.
Result: the profiles stayed the same.
I started VLC and opened an audio file. It started playing from analog
headphones. Then I turned the TV on, thus making its port available.
Result: the profiles did not change, the audio continued from
headphones, but pavucontrol noticed that HDMI3 is now plugged in.
So far, the module lists all sink-related stuff as "(auto)".
I unplugged the headphones, just to see what happens. Result: it changed
the profile of the HDMI card to Digital Stereo (HDMI) output, but did
not move VLC output there. For me, it's rather incomplete. Or rather,
the module should have noticed that there is already a non-default
profile selected from prehistoric times, and bump its port priority.
I manually switched the profile to Digital Stereo (HDMI 3) output, then
moved VLC output to the TV.
Then I plugged my headphones back in. Result: nothing changed, and the
log still lists all output-related entries as "(auto)".
Moved to analog output. Read the description - oh, I am supposed to mark
the sink as default for the module to notice.
Marked the analog output as a fallback sink (but it was already). Turned
the TV off. Still all "(auto)".
Turned the TV on. Marked HDMI3 as fallback - yes, the module noticed and
marked it as manual!
Moved VLC there.
Marked the analog sink as fallback, marked HDMI3 as fallback again. Result:
D: [pulseaudio] module-port-manager.c: Current contents of port-manager
list 'output':
D: [pulseaudio] module-port-manager.c: 5900 (auto) Y:
card:alsa_card.pci-0000_00_03.0+port:hdmi-output-0
D: [pulseaudio] module-port-manager.c: 5800 (auto) N:
card:alsa_card.pci-0000_00_03.0+port:hdmi-output-1
D: [pulseaudio] module-port-manager.c: 9903 manual Y:
card:alsa_card.pci-0000_00_03.0+port:hdmi-output-2
D: [pulseaudio] module-port-manager.c: 9902 manual Y:
card:alsa_card.pci-0000_00_1b.0+port:analog-output-lineout
D: [pulseaudio] module-port-manager.c: 0 (auto) Y:
card:alsa_card.pci-0000_00_1b.0+port:iec958-stereo-output
D: [pulseaudio] module-port-manager.c: The best one available is:
card:alsa_card.pci-0000_00_03.0+port:hdmi-output-2
Turned the TV off. Result:
D: [pulseaudio] module-port-manager.c: Current contents of port-manager
list 'output':
D: [pulseaudio] module-port-manager.c: 5900 (auto) Y:
card:alsa_card.pci-0000_00_03.0+port:hdmi-output-0
D: [pulseaudio] module-port-manager.c: 5800 (auto) N:
card:alsa_card.pci-0000_00_03.0+port:hdmi-output-1
D: [pulseaudio] module-port-manager.c: 9903 manual N:
card:alsa_card.pci-0000_00_03.0+port:hdmi-output-2
D: [pulseaudio] module-port-manager.c: 9902 manual Y:
card:alsa_card.pci-0000_00_1b.0+port:analog-output-lineout
D: [pulseaudio] module-port-manager.c: 0 (auto) Y:
card:alsa_card.pci-0000_00_1b.0+port:iec958-stereo-output
D: [pulseaudio] module-port-manager.c: The best one available is:
card:alsa_card.pci-0000_00_1b.0+port:analog-output-lineout
...but VLC was still playing to the unavailable HDMI3 port.
Same result with mpv - when switching the TV on and off, the module does
not move existing streams from unavailable ports, and its only effect
seems to be printing of the best output to the log. It does not route
new streams from either mpv or from VLC to there - probably because I
moved them in the past, and there is a saved module-stream-restore entry
about that.
So it may be a good idea to retest the new module without
module-stream-restore. I will do that tomorrow.
--
Alexander E. Patrakov
More information about the pulseaudio-discuss
mailing list