I just found out that setting AUDIODEV to "-1000" (according to my user-id) results in problems when using sdl with alsa as sound backend. Zsnes for example has no sound, because alsa fails to open the pcm:
ALSA lib pcm.c:2145:(snd_pcm_open_noupdate) Unknown PCM -1000
So defining AUDIODEV session-wide is not a good idea.
Defining it just for programs which would freeze otherwise isn't a good idea either, since there might be some corner cases which nobody has found yet. For example without the workaround gossip works normally, except when you select some date in the log-viewer, then it freezes.
Maybe a patched version of libesd0 can be used. The patched version might only need a changed "esd_get_socket_dirname" in util.c to consider the user-id instead of the AUDIODEV environment-variable. This package could be called libesd0-pulse and provide libesd0 so it can simply replace it and pulseaudio-esound-compat should depend on this specific version of the package.
I just found out that setting AUDIODEV to "-1000" (according to my user-id) results in problems when using sdl with alsa as sound backend. Zsnes for example has no sound, because alsa fails to open the pcm: (snd_pcm_ open_noupdate) Unknown PCM -1000
ALSA lib pcm.c:2145:
So defining AUDIODEV session-wide is not a good idea.
Defining it just for programs which would freeze otherwise isn't a good idea either, since there might be some corner cases which nobody has found yet. For example without the workaround gossip works normally, except when you select some date in the log-viewer, then it freezes.
Maybe a patched version of libesd0 can be used. The patched version might only need a changed "esd_get_ socket_ dirname" in util.c to consider the user-id instead of the AUDIODEV environment- variable. This package could be called libesd0-pulse and provide libesd0 so it can simply replace it and pulseaudio- esound- compat should depend on this specific version of the package.