<div dir="ltr">On Wed, Oct 8, 2014 at 1:06 PM, Tanu Kaskinen <<a href="mailto:tanu.kaskinen@linux.intel.com">tanu.kaskinen@linux.intel.com</a>> wrote:<br>> On Mon, 2014-10-06 at 19:47 +0200, Mark Gaiser wrote:<br>>> Ok, i tried a bunch of different players. The results:<br>>> - mplayer (smplayer as well) : sound doesn't switch when attaching a headphone<br>>> - rhythmbox : refused to play any plain simple mp3 file<br>>> - amarok : sound doesn't switch when attaching a headphone<br>>> - dragon player : sound doesn't switch when attaching a headphone<br>>> ...<br>>><br>>> I did get rhythmbox to beep once and that one came out of my headset.<br>>> Based on that i'm beginning to think that there is some GTK vs Qt<br>>> difference in play here.<br>>><br>>> One thing i did found (in the kde settings) was that i can prefer my<br>>> headphone to be first in sound order. Funny thing is, this is actually<br>>> working for an application like amarok which then behaves as i expect.<br>>> However, other apps don't seem that happy to comply and just spew out<br>>> audio to my jack port.<br>><br>> There shouldn't be that kind of differences between apps, unless you<br>> have previously moved manually those applications around. What if you<br>> clear the pulseaudio state by doing this:<br>><br>> - disable autospawning (so that you can be sure pulseaudio isn't running<br>> during the next steps):<br>>     cat "autospawn = no" >> ~/.config/pulse/client.conf<br>><br>> - killall pulseaudio<br>><br>> - remove all files under ~/.config/pulse except client.conf<br>><br>> - restart pulseaudio:<br>>     pulseaudio -D<br>><br>> - load module-switch-on-connect:<br>>     pactl load-module module-switch-on-connect<br>><br>> Is there still a difference in behaviour between amarok and other<br>> applications?<br>><br>> Since you use kde, the routing may be a bit different than on my<br>> machine, if you have module-device-manager loaded, and that might<br>> explain the general problem of the automatic routing not working as<br>> expected. When you start your kde session, module-device-manager gets<br>> loaded. On gnome, for example, that module is not loaded by default.<br>> Just restarting pulseaudio while the session is running should get rid<br>> of module-device-manager, because it's only loaded when the session<br>> starts, but you can of course always unload it with "pactl unload-module<br>> module-device-manager". You can verify that the module is not loaded by<br>> running "pactl list modules short". If module-device-manager isn't<br>> listed, then it isn't loaded.<br>><br>>> Could you perhaps test if you can get the same thing working under mplayer?<br>>> mplayer -ao pulse <some_mp3_file><br>>><br>>> That is a quite simple test - easy to reproduce - and doesn't give me<br>>> the expected result. I wonder how that works with you.<br>><br>> Works fine.<br>><br>> --<br>> Tanu<br>><br><br>And reporting back with my findings.<br><br>First i verified if the module "module-device-manager" would be loaded. It's not so that's probably not an issue.<br>Then i followed your steps and it - amazingly - worked! However, with a issue.<br><br>If i play a sound file (using mplayer as a test case) it:<br>- plays from my speakers by default (OK!)<br>- If i attach my (usb) headset the sound moves to the headset. Happy me :)<br>- If i detach my usb headset again the sound isn't being played anywhere anymore. Attaching/detaching many more times doesn't help either.<br><br>I also think i know why it happens, just not a solution to the issue.<br>If i type "pactl list short sinks" i get this output when my headset is not attached:<br><br>0       alsa_output.pci-0000_01_00.1.hdmi-stereo        module-alsa-card.c      s16le 2ch 44100Hz       SUSPENDED<br>1       alsa_output.pci-0000_00_1b.0.analog-stereo      module-alsa-card.c      s16le 2ch 44100Hz       SUSPENDED<br><br>When i play a file the list changes:<br><br>0       alsa_output.pci-0000_01_00.1.hdmi-stereo        module-alsa-card.c      s16le 2ch 44100Hz       SUSPENDED<br>1       alsa_output.pci-0000_00_1b.0.analog-stereo      module-alsa-card.c      s16le 2ch 44100Hz       RUNNING<br><br>So far so good. I have no HDMI devices attached that can play sound (a projector is attached. It can beam video, not audio :)<br><br>When attaching the headset i get:<br>0       alsa_output.pci-0000_01_00.1.hdmi-stereo        module-alsa-card.c      s16le 2ch 44100Hz       SUSPENDED<br>1       alsa_output.pci-0000_00_1b.0.analog-stereo      module-alsa-card.c      s16le 2ch 44100Hz       IDLE<br>7       alsa_output.usb-Corsair_Components__Inc._Corsair_Vengeance_1500-00-C1500.analog-stereo  module-alsa-card.c      s16le 2ch 44100Hz       RUNNING<br><br>Note the added usb headset and it is running now. All perfectly fine thus far.<br>But when i detach my headset the list becomes wrong:<br><br>0       alsa_output.pci-0000_01_00.1.hdmi-stereo        module-alsa-card.c      s16le 2ch 44100Hz       RUNNING<br>1       alsa_output.pci-0000_00_1b.0.analog-stereo      module-alsa-card.c      s16le 2ch 44100Hz       SUSPENDED<br><br>Note the hdmi sink is now suddenly playing the sound!<br>I would expect the sink to continue device that was sitting idle, but somehow it picked the other device.<br>Did i actually find a bug just now or is this also some magic setting that i can change somewhere?<br><br>If i re-attach my usb headset again the audio isn't send there anymore. It keeps sending it to the hdmi device:<br><br>0       alsa_output.pci-0000_01_00.1.hdmi-stereo        module-alsa-card.c      s16le 2ch 44100Hz       RUNNING<br>1       alsa_output.pci-0000_00_1b.0.analog-stereo      module-alsa-card.c      s16le 2ch 44100Hz       SUSPENDED<br>10      alsa_output.usb-Corsair_Components__Inc._Corsair_Vengeance_1500-00-C1500.analog-stereo  module-alsa-card.c      s16le 2ch 44100Hz       IDLE<div><br></div><div>Thank you very much for your help thus far. It really helped me greatly!<br></div><div>Looks like we're nearly there :)</div></div>