[pulseaudio-discuss] Non-native connections don't respect padevchooser settings

Lennart Poettering lennart at poettering.net
Mon Nov 19 15:04:56 PST 2007


On Mon, 19.11.07 01:26, Ed Catmur (ed at catmur.co.uk) wrote:

> Hi,
> 
> I have something approaching the PerfectSetup[1], with a per-user daemon
> and using the ALSA module and the esound protocol module for legacy
> clients.
> 
> When I change the default output device using padevchooser, it applies
> only to native PulseAudio streams, not to ALSA or esound clients - in
> particular, to Gnome sound events.
> 
> I assume this is because padevchooser sets the default output device on
> the root X window, which is then read by native clients but isn't
> communicated to the daemon.

Yes. Clients that do not use the native API do use only the algorithm
that is native to their respective API for selecting servers. For ESD
clients this means that only $ESPEAKER is checked.

> Is there any way to fix this - for example, could the per-user
> pulseaudio daemon listen for padevchooser's defaults on the root window
> and apply them to streams without output device set?

padevchooser as it stands now is going to die anyway. Right now it's
mostly a zeroconf browser. I will replace it with something that
connects to a local sound server and allows to change the default
output device of it. This will allow "hot" moving of all current
streams to the new device. However connections will always be proxied
through the local server. This has a bad effect on latency but a good
effect on the bandwith used and is probably the best way to go.

As soon as this is done, padevchooser will work for both native and
ESD clients.

Stay tuned.

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net         ICQ# 11060553
http://0pointer.net/lennart/           GnuPG 0x1A015CC4



More information about the pulseaudio-discuss mailing list