On Fri, Sep 12, 2008 at 03:36:14PM +0200, Lennart Poettering wrote: > PA doesn't really impose any order of devices. If a "default" device > is required and none has been set we pick one. Which one we > pick is not random, but not deterministic either -- you should not > depend on any order. In the broader scheme of things, maybe this is the core issue. My main use case for pulseaudio is that I have a laptop with a built-in sound card, but when I'm using it at home, it's docked to a device with a usb sound card. What I'd really like to happen is to be able to tell pulseaudio somehow: "Here are the devices I expect hal to run across (by some identifier, maybe hal UDI, product/vendor code, connection type, etc). If you see a USB device, use it, (and move any existing streams over to it when it's hooked up). If you don't see a USB device, use the PCI device (and move any existing streams whose sink doesn't exist to it)." That's a great scenario for me to be in. But it'd also work well for this pc-speaker scenario. Just change "PCI" into "PC Speaker", and "USB" into "non-PC-Speaker": "Here are the devices I expect hal to run across. If you see a non-PC-speaker device, use it, (and move any existing streams over to it when it's hooked up). If you don't see a non-PC-Speaker device, use the PC-Speaker (and move any existing streams whose sink doesn't exist to it)."