============================== 0.2.41 =========================== 2008-11-18 Josselin Mouette Patch from Matthew Ashton * esd.c: (main): * mix.c: (mix_mono_8u_to_stereo_32s_sv), (mix_mono_16s_to_stereo_32s_sv), (mix_stereo_16s_to_stereo_32s_sv), (mix_mono_8u_to_stereo_32s), (mix_stereo_8u_to_stereo_32s), (mix_mono_16s_to_stereo_32s), (mix_stereo_16s_to_stereo_32s), (mix_players): Fix 32k samples turning into static when 8k samples played in the middle. Debian #79145. 2008-11-18 Josselin Mouette Patch from Ryan Murray * filter.c: (filter_write): * players.c: (read_player), (new_stream_player), (new_sample_player): Fix filter buffer handling so filters work. Debian #202027. 2008-11-18 Josselin Mouette Patch from Martin Pitt * esd-server.h: * esd.c: (reconnect_driver), (main): Install signal handler for SIGUSR1 that reconnects to the ALSA driver. This is useful after changing the ALSA configuration file. * clients.c: (esd_comm_loop): Integrate driver reconnection into client loop. * audio_alsa09.c: Call snd_config_update_free_global() to purge configuration cache and to properly reload configuration files. 2008-11-18 Josselin Mouette Patch by Ryan Murray * audio.c: (esd_audio_write), (esd_audio_flush), (esound_getblksize): * audio_oss.c: (esd_audio_open): * esd-server.h: * esd.c: (main): * esd.h: * proto.c: (esd_proto_get_latency): Rewrite generic esd_audio_write to attempt to use select if the driver seems to support it, and to write in a blocksize that can be changed by audio open functions. 2008-11-18 Josselin Mouette * esound.pc.in: put audiofile in Requires.private to avoid spuriously linking to it. 2008-11-18 Josselin Mouette * docs/esdcat.1.in: Add standard pod2man header to avoid errors from man. 2008-11-18 Josselin Mouette * esddsp.c: (dsp_init): Protect dsp_init() with a mutex to prevent race conditions from multiple calls (which hanged the desktop session). 2008-11-18 Josselin Mouette Patch from Martin Pitt * util.c: (esd_get_socket_dirname): support multiple esd instances (one per user). 2008-11-18 Josselin Mouette Patch from Martin Pitt * esdlib.c: Check if the esd binary exists at all. If not, forego forking a shell and trying to execute it. This both improves startup time and also avoids the "/bin/sh: /usr/bin/esd: not found" warning. 2008-11-18 Josselin Mouette * audio_alsa09.c: fix signedness of parameters passed to the ALSA API. 2008-11-18 Josselin Mouette Patch from Ryan Murray * clients.c: (get_new_clients): prettier debugging output. 2008-11-18 Josselin Mouette Patch from Ryan Murray * esdlib.c: Remove libesddsp from LD_PRELOAD when autospawning esd. 2008-11-18 Josselin Mouette Patch from Jeff Waugh , credits for diagnosing the issue go to Jan Schmidt. * esdlib.c: do not modify host passed to esd_sound_open, because that is highly offensive. (Fixes GStreamer using ESPEAKER.) 2008-11-18 Josselin Mouette * esddsp.c: (mmap64): ship an implementation of mmap64. 2008-11-18 Josselin Mouette * esd.c: (main): close the spawnfd when the startup is successful. 2008-11-18 Josselin Mouette * esd.c: (main): save a call to esd_audio_pause when run with -nobeeps. 2008-11-18 Josselin Mouette * esd.c: (main): allow the spawnfd to be 0, which is a valid FD. Do never play beeps when esd has just been spawned. 2008-11-18 Josselin Mouette Patches from Ryan Murray * esd.c: (esd_connect_unix): prevent strncpy from writing a non-NULL-terminated string. * esddsp.c: (dsp_init): same here. 2008-11-18 Josselin Mouette Patch from Martin Pitt * audio_alsa09.c: Call snd_pcm_hw_free() before snd_pcm_close(). This closes the file descriptor to the sound device even if the device is not physically present any more. This fixes the esound/hotplug deadlock when removing a currently active sound device. 2008-11-18 Josselin Mouette * esdfilt.c: (main): add informative output to -double, similar to that of -half. 2008-11-18 Josselin Mouette * esd-server.h: add missing sys/un.h header. 2008-11-18 Josselin Mouette * proto.c: (esd_proto_stream_recorder): replace the 1 s sleeps, which are here to work around a bug in the kernel, by 100 µs ones, which will be enough. 2008-11-18 Josselin Mouette * esdfile.c: (esd_play_file): accept file formats supported by libaudiofile. * configure.ac: require libaudiofile 0.2.3 which adds support for them.