============================== 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. ============================== 0.2.40 =========================== 2008-09-03 Jeffrey Stedfast * configure.ac: Release 0.2.40 * NEWS: updated 2008-07-30 Jeffrey Stedfast * esdlib.c (write_timeout): Check for the existence of POLLERR or POLLHUP first. If either is set, abort the write(). We can't assume that POLLOUT won't be set if a hang-up occurred. (write_timeout): Abort on all write() errors other than EINTR. 2008-07-29 Jeffrey Stedfast * audio_oss.c: #include . Fixes bug #543239 ============================== 0.2.39 =========================== 2008-07-15 Jeffrey Stedfast * configure.ac: Release 0.2.39 * NEWS: updated * esdlib.c Update all code to use new read/write/connect wrappers that abort if the operation takes too long and/or the other end drops the connection. Fixes bug #542391. (read_timeout): New function to abort a read() if it takes too long and/or if the other end drops the connection. (write_timeout): Same idea here. (connect_timeout): Same. 2008-07-15 Jeffrey Stedfast * audio_alsa09.c: Suppress verbose error messages from ALSA. Patch by Stanislav Brabec to fix bug #528718. 2008-07-15 Jeffrey Stedfast * util.c (esd_get_socket_dirname): Allow for multiple esd instances. Patch by Martin (Pitt?) from Ubuntu. Fixes bug #465067. 2008-07-15 Jeffrey Stedfast * esd-config.in: Fix esound-config on multilib setups (bug #435652). Patch by Matthias Clasen . 2008-07-15 Jeffrey Stedfast * esddsp.in (LD_PRELOAD): search for library by itself, so that both 32-bit and 64-bit programs work with a single esddsp script. Fixes bug #435651. 2008-07-15 Jeffrey Stedfast * audio_oss.c (esd_audio_open): Don't report errors if /dev/dsp doesn't exist (Based on Havoc's patch). Fixes bug #435649. 2008-07-15 Jeffrey Stedfast Following fixes by Rémi Cardona - fixes bug #531947 * doc/Makefile.am: Fixed up gtk-doc build. * Makefile.am: Reorder LDADD for libesddsp * esddsp.c (open_wrapper): If mode_t is smaller than int, pop the mode as an int from the varargs. * clients.c (get_new_clients): Cast 3rd argument of accept() to a socklen_t* to fix some breakage on amd64(?). 2008-06-10 German Poo-Caaman~o * docs/esound.sgml: Updated docbooktype and fixed the build without warnings from openjade. ============================== 0.2.38 =========================== 2007-05-03 Bastien Nocera * configure.ac: Release 0.2.38 * NEWS: upd 2007-04-28 David Schleef * esd.c: chdir to /. Fixes #399500. 2007-03-19 David Schleef * players.c: the read/write wrapper macros don't have return values. Fixes #419642. 2007-03-02 David Schleef * esddsp.c: Fix leaking of file descriptors. Patch from Pierre Ossman. Fixes bug #362826. (Also fix an important warning.) 2007-03-02 David Schleef * Makefile.am: * configure.ac: Fix detection for linking against libdl. Patch from Loïc Minier. Fixes bug #409269. 2007-03-01 Kjartan Maraas * players.c: (read_player): Fix 100% CPU problem introduced in 0.2.37. Patch from Joe Marcus Clarke. Closes bug #412951. 2007-03-01 Kjartan Maraas * docs/Makefile.am: Only install the esddsp man page if we build the binary. Closes bug #412918. Patch from Cygwin Ports Maintainer. ============================== 0.2.37 =========================== 2007-01-31 Kjartan Maraas * configure.ac: Use pkg-config to check for audiofile. Patch from Frederic Peters. Closes bug #350808. 2007-01-07 Kjartan Maraas * docs/esdsample.1.in: Updated man page from Christopher Hanna. Closes bug #329631. 2007-01-05 Kjartan Maraas * docs/esdcat.1.in: Updated man page. * docs/esdrec.1.in: Updated man page. Patches from Christopher Hanna at sun com. Closes bug #329626 and bug #329628. 2006-08-08 David Schleef * esddsp.c: intercept open64() and other 64-bit variants. Patch from Peter Åstrand. Fixes #312665. 2006-08-07 David Schleef * configure.ac: Fix linker flags with CoreAudio. Fixes #313433. 2006-08-07 David Schleef * players.c: Add check for return value of read. Patch from Fernando Herrera. Fixes #337415. 2006-08-07 David Schleef * players.c: Add checks for client disconnecting. Patch from Peter Åstrand. Fixes #322206. 2006-08-07 David Schleef * configure.ac: Check for audiofile.h. Fixes #319464. 2006-08-07 David Schleef * esd.c: Remove bogus call to hstrerror(). Fixes #319968. 2006-08-07 David Schleef * esd.c: Don't terminate until last sample is finished playing. Fixes #342729. 2006-08-07 David Schleef * esd.c: close master socket in error cases. Fixes #314407. 2006-08-07 David Schleef * esd.c: Close file descriptors after startup. Fixes #333186. 2006-08-07 David Schleef * esd.conf: Turn autospawning off by default. Don't use autospawning. It doesn't work, and it isn't possible to make it work. esd should always be started from the session manager. * esd_config.c: 2006-05-10 David Schleef * m4/as-arts.m4: Fix arts detection. Fixes #341251. Patch from Vladislav G. Mikhailikov. 2006-04-13 Behdad Esfahbod * esdlib.c: Fix build break. 2006-04-13 Kjartan Maraas * clients.c: (get_new_clients): Fix leak. Coverity #743 and #875. * esd.c: (main): Fix null deref. Coverity #223 * esdlib.c: Fix null deref. Coverity bug #775 * esdmgr.c: (esd_get_all_info): Fix leaks. Coverity #773 and #875. 2005-09-30 David Schleef * Makefile.am: Don't compile util.o into esd binary, since it's already in libesd. (Fixes #317554) 2005-08-13 David Schleef Patch from Thomas Zajic to actually install the documentation. * docs/Makefile.am: Fixes #307366 2005-06-18 David Schleef * autogen.sh: Don't blow away user's ACLOCAL_FLAGS. 2005-06-17 David Schleef * README: ha ha funny * autogen.sh: use gnome-autogen.sh * configure.ac: esound, not esd 2005-06-11 Kjartan Maraas * Makefile.am: Add audio_arts.c here to get it disted. 2005-06-06 David Schleef * MAINTAINERS: add me * NEWS: news for new release * README: remove old stuff and tell people to go away * TODO: remove old stuff * configure.ac: version bump 2005-06-06 David Schleef * Makefile.am: make the docs build correctly, install correctly, and distcheck correctly. * configure.ac: * docs/Makefile.am: 2005-05-25 David Schleef * esddsp.c: (dspctl): Patch from Fabian Franz. Fix behavior of SNDCTL_DSP_GETISPACE ioctl (bug #169680) 2005-05-25 David Schleef * esdlib.c: Don't write to a const string. (bug #167609) 2005-05-25 David Schleef * audio_alsa09.c: * audio_solaris.c: (esd_audio_devices), (esd_audio_open): * esd.c: (open_listen_socket): * esd_config.c: (esd_config_read): * esddsp.c: (dsp_init), (unlink), (sockaddr_mangle): * esdlib.c: (esd_send_auth): * genrand.c: (hashlong): * players.c: (recorder_write): * util.c: (esd_get_socket_dirname): Check all assignments of the return value of getenv() to make sure they're const. Fix warnings. 2005-05-25 David Schleef * configure.ac: use AC_CONFIG_SRCDIR() so configure doesn't go wandering off to some random directory (which it does). 2005-03-22 William Jon McCann * esd.c: * esdlib.c: Define SUN_LEN if it isn't already (Solaris) (bug #171304) 2005-05-25 David Schleef * configure.ac: Use -Wall if the compiler supports it * m4/as-compiler-flag.m4: the m4 test 2005-05-25 Kjartan Maraas * audio_alsa09.c: (print_state): * clients.c: (dump_clients): * esdctl.c: (main): * esddsp.c: (mmapemu_flush), (munmap): * esdplay.c: (main): * mix.c: (get_translate_func), (refresh_mix_funcs): * players.c: (dump_players): * proto.c: (poll_client_requests): * samples.c: (dump_samples): * util.c: (have_ipv6): Clean up warnings reported by sparse 2005-05-25 David Schleef * audio_alsa09.c: Patch from Takashi Iwai. Writes to alsa more carefully. (bug #140803) 2005-05-25 David Schleef * esdfile.c: (esd_play_file): Disable compressed audio, since audiofile doesn't play it correctly. (bug #107483) 2005-01-18 David Schleef * acconfig.h: remove * autogen.sh: use m4/ directory for aclocal 2005-01-17 David Schleef Patch from igor@avtomir.ru (Igor Mokrushin) * audio_arts.c: New backend (bug #82154) * esd.c: (main): 2005-01-17 David Schleef * Makefile.am: update for modern automake/autoconf * audio.c: make ALSA-1.0 the default driver * configure.ac: update for modern automake/autoconf * configure.in: remove * m4/as-arts.m4: (new) arts detection 2004-11-23 David Schleef * docs/esd-config.1.in: Remove word break. (bug #158839, fix from Miloslav Trmac) 2004-08-12 Frederic Crozat * configure.in: * NEWS Release 0.2.35 2004-08-12 Frederic Crozat * audio_alsa09.c: Use Alsa default alias when no card is specified (bug #144318, original fix from Cyrille Chepelov) 2004-08-12 Frederic Crozat * .cvsignore: Quiet CVS. * docs/esd.1.in: * esd.c: (main): * esd.conf: * esd_config.c: (esd_config_read), (esd_config_read_file): Fix regression caused by patch for bug #118230 (bug #147293). Add new default options in configuration file and as environment variable, always used. spawn_options behaviour is back to normal. Add commandline options to enable beeps, disable termination and disable autostandby. 2004-08-11 Kjartan Maraas * esd.h: ANSI argument list fix. * esdlib.c: (esd_send_auth): NULL vs 0 usage. Also fix usage of esd_connect_unix() in a few places. 2004-08-11 Frederic Crozat * audio_oss.c: * configure.in: * esddsp.c: GNU/kFreeBSD support (bug #149816, patch from Robert Milan ). 2004-06-11 Frederic Crozat * docs/esddsp.1.in: * esddsp.c: (dsp_init), (mmapemu_flush), (open), (dspctl), (close), (mmap), (munmap): * esddsp.in: MMAP support for esddsp (from artsdsp) (bug #144157, patch from Olivier Blin ). 2004-04-30 Frederic Crozat * docs/esd.1.in: Fix location of configuration file (Craig Routledge ). 2004-03-16 Frederic Crozat * NEWS: * configure.in: Release 0.2.34 2004-03-03 Frederic Crozat * audio_alsa09.c: Don't use C99 extensions (Bug #136038, patch from Jens Granseuer ). 2004-03-01 Frédéric Crozat * NEWS: * configure.in: Release 0.2.33 2004-03-01 Frédéric Crozat * util.c: (esd_get_socket_dirname): Fix crash when AUDIODEV doesn't contain '/' (Bug #135113, patch from Stefan Heinsen ). 2004-01-19 Stanislav Brabec * esd.m4: Fixed quoting in esd.m4 to AC_DEFUN([],[]) for latest autoconf. 2004-01-15 Frederic Crozat * audio.c: (esd_audio_close): Don't try to close audio device if it wasn't opened (Debian). 2004-01-15 Frederic Crozat * acconfig.h: * audio_alsa09.c: * configure.in: Use new ALSA PCM API if available (fixes from Lukasz Mach and Eddy Mulyono ) 2004-01-14 Frederic Crozat * esd.c: Fix build on AIX. Patch from Albert Chin-A-Young . 2004-01-14 Frederic Crozat * audio_osf.c: Fix build on OSF. Patch from Albert Chin-A-Young . 2004-01-14 Frederic Crozat * autogen.sh: Don't force automake 1.4, now that we support 1.7. Fix url for various tools. * Makefile.am: Fix build with automake 1.7 (Patch from Thomas Cataldo ). 2003-10-10 Frederic Crozat * esound.pc.in: Add missing sound-libs param. Fix for Darwin and osf, from Jerry Talkington 2003-09-22 Kjartan Maraas * docs/esd.1.in: Fix a small typo in the man page. 2003-09-03 Frederic Crozat * Release 0.2.32 2003-09-03 Frederic Crozat * esd.c: (open_listen_socket): Fix build when IPv6 is disabled (Soren Jacobsen ) 2003-08-30 Dan Winship * Makefile.am (AUDIO_BACKENDS): add several missing backends that weren't getting disted. 2003-08-11 Frederic Crozat * configure.in: Release 0.2.31 2003-08-05 Frederic Crozat * configure.in: Fix compilation on Solaris 8. bug #119092. 2003-08-01 Frederic Crozat * NEWS: * configure.in: Release 0.2.30 2003-08-01 Frederic Crozat * esd.c: Add missing prototype. 2003-08-01 Frederic Crozat * acconfig.h: * configure.in: * esd.c: * esdlib.c: Use inet_pton instead of inet_aton which is a libresolv private symbol. Bug #117559, patch from Leena Gunda . 2003-08-01 Frederic Crozat * esd.c: (set_audio_buffer), (reset_daemon), (clean_exit), (esd_server_resume), (main): * esd.h: * esd_config.c: * esdcat.c: * esdctl.c: (exit_usage), (main): * esddsp.c: * esdfile.c: * esdlib.c: (esd_get_latency), (esd_send_auth), (esd_lock), (esd_unlock), (esd_standby), (esd_resume), (esd_connect_unix), (esd_open_sound), (esd_play_stream), (esd_monitor_stream), (esd_filter_stream), (esd_record_stream), (esd_sample_cache), (esd_confirm_sample_cache), (esd_sample_getid), (esd_sample_free), (esd_sample_play), (esd_sample_loop), (esd_sample_stop), (esd_sample_kill): Code cleanup. Patch from Kjartan Maraas . 2003-08-01 Frederic Crozat * Makefile.am: * esd-config.h: * esd.c: (main): * esd_config.c: Allow esound to read esd.conf whether it is to autospawn or not. bug #118230, patch from James Strandboge . 2003-08-01 Frederic Crozat * util.c: Add missing headers to fix warnings. 2003-07-09 Frederic Crozat * docs/esdcat.1.in: * esdcat.c: (main): Add support for session name. Patch from . 2003-07-05 Frederic Crozat * audio_solaris.c: (fill_play_info), (esd_audio_open): allow simultaneous play and record on Solaris (bug #116742). Patch from Balamurali Viswanathan 2003-07-05 Frederic Crozat IPv6 support (bug #109324), patch from Archana Shah * configure.in: Added option for IPv6 support, and only enabling IPv6 support if getaddrinfo() is available on the system. Also checked for the existence of inet_ntop() function. * esd.h: Added prototype for function have_ipv6(). * esd-server.h: Changed the definition of structure esd_client to include sockaddr_in6 variable. * util.c: Included config.h for having definition of ENABLE_IPV6. Added definition of have_ipv6(). * esd.c: (open_listen_socket) Changed the code to create and bind IPv6 socket if IPv6 support is there. * esdlib.c: (esd_connect_tcpip) Changed the code so that it can understand and parse "hostname:port" parameter for IPv6 addresses as well. * clients.c: Included header file for having prototype of inet_ntop(). (get_new_clients) Modified to accept connections from IPv6 enabled clients also. (dump_clients) Modified to handle IPv6 addresses too. 2003-06-25 Thomas Vander Stichele * autogen.sh: exit with error if any of the autotools fail so you know what's going on where it's going on 2003-06-18 Frederic Crozat * esd.c: (main): allow to set auto-standby to 0 (patch from Mohammed Waleed Kadous ) 2003-06-18 2003-04-06 Arvind Samptur * esdlib.c: (esd_open_sound) : waitpid() could fail due to a interrupted system call, loop till you succeed (bug #110099). 2003-06-18 Frederic Crozat * acconfig.h: * audio.c: * audio_coreaudio.c: (PlaybackIOProc), (RecordIOProc), (esd_audio_devices), (esd_audio_open), (esd_audio_close), (esd_audio_pause), (esd_audio_write), (esd_audio_read), (esd_audio_flush): * configure.in: * esdlib.c: (esd_open_sound): Mac OS X CoreAudio (bug #107842, patch from Masanori Sekino ) 2003-06-18 Frederic Crozat Cygwin support (bug #110916, patch from Masahiro Sakai * configure.in (AC_LIBTOOL_WIN32_DLL): call AC_LIBTOOL_WIN32_DLL, which is necessary for building DLL on win32 platform. * Makefile.am (libesd_la_LDFLAGS): add -no-undefined to declare that libesd's dependencies provide all symbols that are undefined in libesd. This is also necessary for building DLL on win32 platform. * .cvsignore: quiet cvs ! 2003-06-07 Kjartan Maraas * esdlib.c: Fix a typo in a comment. 2003-03-20 Frederic Crozat * audio_alsa09.c: fix license, it is LGPL, not GPL (bug #108799). (patch from Santiago Otero ) 2003-02-24 Stanislav Brabec * docs/esd.1.in, esd.c: Updated man page, typo fix. 2002-12-05 Stanislav Brabec * audio_alsa09.c: Limit maximum periods to 64 (bug #100125). Prevents drop-outs for hardware allowing low period_size. 2002-08-26 Frederic Crozat * configure.in: Release 0.2.29 2002-08-26 Frederic Crozat * audio_alsa09.c: (initAlsa): Ensure device is closed if initialisation failed (was preventing future initialisations) (esd_audio_devices):list avaible ALSA cards when using -help (bug #89964) (esd_audio_open): list available card add support for alsa cards selection using -d command-line parameter (bug #89962) All patches from Tom Prado 2002-08-21 Elliot Lee * audio.c: set esd_audio_fd = -1 when we esd_audio_close() * esd.c: Set esd_forced_standby = 0 when we resume. 2002-08-18 Havoc Pennington * autogen.sh: hardcode aclocal-1.4/automake-1.4 so that users with both automake 1.6 and 1.4 installed get the right automake. Means compilation from CVS will now require the latest automake 1.4 release, or manually creating symlinks called "automake-1.4" and "aclocal-1.4" 2002-08-18 Frederic Crozat * players.c: (read_player): fix crash on Solaris 9 (bug #88810, patch from Balamurali Viswanathan ) 2002-08-16 Frederic Crozat * configure.in: add summary info at end of configure (Tom Prado ) * esd.c: (main): Fix --help (Tom Prado ) 2002-08-07 Anju P S *esdsample.c: (main): Fixed buffer-overflows. *esddsp.c: (unlink), (sockaddr_mangle):Fixed buffer-overflows. *esd.c: (safe_mksocketdir):Added code to check the return value of chmod() call.Fixes bug #89609 2002-07-19 Frederic Crozat * esdctl.c: (main): fix segfault when using -s (Debian) * esddsp.in: No longer use LD_PRELOAD_PATH (Debian) 2002-07-09 Brian Cameron * configure.in: Added -with-esd-dir option. * esound.pc.in: Added esd_serverdir * Makefile.am: ADD -DSERVERDIR to INCLUDES * esdlib.c: Call esd from SERVERDIR. Replaced sizeof() call with strlen() which is more appropriate. Allow users to specify the location of the esd executable. This is useful for setups which want to place the esd daemon in libexec rather than bin. 2002-06-19 Frederic Crozat * configure.in: Release 0.2.28 2002-06-19 Frederic Crozat * esdlib.c: (is_host_local), (esd_open_sound): Fix esd not starting when DISPLAY is set to localhost but esd is not running in tcp mode (bug from Edward-Liu, patch from Elliot) 2002-06-19 Frederic Crozat * audio_alsa09.c: (initAlsa), (esd_audio_open), (esd_audio_flush): Add more check before doing ALSA calls (Santiago Otero) 2002-06-19 Frederic Crozat * players.c: (read_player): revert locking of audio stream patch, this patch breaks esd when used in TCP mode on localhost (Santiago Otero) 2002-06-19 Frederic Crozat * esddsp.in: remove bashim (PLD) 2002-06-19 Frederic Crozat * clients.c: (get_new_clients): don't use tcp wrapper for unix socket (Debian) 2002-06-17 Frederic Crozat * esd.c: (main): Fix problem with via82cxxx sound driver (patch provided by Samual Audet ) 2002-06-14 Frederic Crozat * docs/esd.1.in: * esd.c: (main): Add -promiscuous mode to disable authentication when starting daemon. Fix Bug #85099 (patch from Rebecka Svanberg) 2002-06-07 Frederic Crozat * configure.in: Release 0.2.27 2002-06-05 Frederic Crozat * esdlib.c: (esd_open_sound): Add parenthesis to fix priority in foo?foo:0 expression (from Alexander Larsson ) 2002-06-04 Frederic Crozat * docs/.cvsignore: * docs/Makefile.am: * docs/esd-config.1.in: * docs/esd.1.in: * docs/esdcat.1.in: * docs/esdctl.1.in: * docs/esddsp.1.in: * docs/esdfilt.1.in: * docs/esdloop.1.in: * docs/esdmon.1.in: * docs/esdplay.1.in: * docs/esdrec.1.in: * docs/esdsample.1.in: Add manpages (from Debian). Fix bug #81038 * esd.m4: Apply Debian patch to always use C compiler for test * configure.in: * esd_config.c: (esd_config_read_file): Apply Debian patch to detect if strtok is available on the system * esdcat.c: (main): * esdloop.c: (main): * esdmon.c: (main): * esdrec.c: (main): * esdsample.c: (main): Apply Debian patch to output "open socket" message on stderr 2002-06-04 Frederic Crozat * esd.c: (safe_mksocketdir): Fix socket directory test (bug #83158) (Patch from Diego SantaCruz ) 2002-06-04 Frederic Crozat * esdlib.c: (esd_open_sound): Fix size of allocated string for daemon spawn. (Patch from Alex Larsson ) 2002-06-04 Frederic Crozat * players.c: (read_player): Fix locking at end of audio stream (bug #81864 and Ximian bug 24717) (Patch from Santiago Otero ) 2002-05-13 Frederic Crozat * audio_alsa.c: (esd_audio_open): * audio_alsa09.c: (esd_audio_open): * audio_oss.c: (esd_audio_open): Cleaner version of endianess fix (idea from Takashi Iwai) 2002-05-13 Stephen Browne * util.c: new file for esd utility functions currently only has new functions for getting the name of the unix domain socket to use. * Makefile.am: added linking of util.c for esdlib and esd * esd.h: changed ESD_UNIX_SOCKET_DIR and ESD_UNIX_SOCKET_NAME from static strings to function calls to get the socket dir and name 2002-05-12 Frédéric Crozat * audio_alsa.c: * audio_alsa09.c: (esd_audio_open): Fix endianess problem (for PPC people) with ALSA. Thanks to Jack Howarth 2002-05-10 Shivaram U * Makefile.am: Fix for build failure on Solaris. Changed variable names to differ from the program names. 2002-05-06 Frederic Crozat * configure.in: Release 0.2.26 2002-05-03 Frederic Crozat * audio_alsa09.c: (initAlsa): * clients.c: * esd.c: * esdcat.c: * esdfilt.c: * esdlib.c: (esd_open_sound): * esdmon.c: * esdrec.c: * genrand.c: (genrand_dev), (genrand_unix): fix various warnings and missing includes (bug #80690) 2002-05-01 Rodney Dawes * Makefile.am: Need to dist getopt*.c even when not needed for build 2002-04-29 Frederic Crozat * audio_alsa09.c: (initAlsa), (esd_audio_open), (esd_audio_read), (esd_audio_write): open sound device in non blocking mode, various cleanup (patch from Santiago Otero ) 2002-04-27 Frederic Crozat * mix.c: (mix_stereo_8u_to_stereo_32s_sv): fix resampling from 44 to 48kHz (patch from Alexander Motin ). Bug #79299 2002-04-24 Iain * configure.in: Make the if's in the alsa detection elif's 2002-04-23 Frederic Crozat * configure.in: release 0.2.25 2002-04-23 Frederic Crozat * Makefile.am: * acconfig.h: * audio.c: * configure.in: * esddsp.in: add support for ALSA 0.9 (patch from Santiago Otero ) 2002-04-23 Frederic Crozat * esddsp.in: use library major number for LD_PRELOAD * MAINTAINERS: add myself 2002-04-12 Frederic Crozat * esd.c: (main): remove socket/socket directory before exiting when sound device can't be open 2002-03-25 Mark McLoughlin * configure.in: check for gethostbyname2. * esd.c: call gethostbyname if gethostbyname2 isn't available. 2002-03-13 chris chabot * Cleaned up spec file, added .pc file to its file list, and added audiofile to dependency list 2002-03-13 jacob berkman * Makefile.am (dist-hook): don't fail if docs weren't built 2002-03-12 Laszlo Peter * configure.in: use AM_CONDITIONAL to control whether getopt*.c is built. * Makefile.am: include getopt*.c in the SOURCES if needed. 2002-03-11 James Henstridge * autogen.sh: call libtoolize. * acinclude.m4, ltconfig, ltmain.sh: remove this file -- get libtool from aclocal and libtoolize (it is currently using libtool-1.2f, which is ancient). * configure.in: use an automake conditional to say whether we are building esddsp and esdplay. (GETOPT_OBJS): esound's configure wasn't using LIBOBJS subtitution correctly, which causes build problems with autoconf-2.53. So just use another env var. * Makefile.am (INCLUDES): get rid of extra variable declarations that automake would automatically add. 2002-03-01 Havoc Pennington * configure.in: 0.2.24 2002-03-01 Havoc Pennington * players.c (read_player): Apply patch from mchapman@student.usyd.edu.au to reduce choppiness; see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=55877 * clients.c: another bit of the patch Thu Jan 10 11:21:28 2002 Owen Taylor * Makefile.am: @AUDIOFILE_LIBS@ already includes -lm so don't add it again. Tue Sep 04 16:28:11 2001 George Lebl * configure.in, Makefile.am, esound.pc.in: add a pkg-config file 2001-07-13 Alex Larsson * esdlib.c: * esd.c: Fix esd launch race condition. USR1 could arrive before pause() leading to a 10 second pause. 2001-07-07 Drazen Kacar * configure.in: Check whether the C compiler supports inline. * audio_solaris.c: Recognize SUNW,audiots as supported device. Make explicit checks for all devices we know we don't support. If we encounter unknown device, print out the warning, but attempt to use it. Added EINTR wrappers all around the place. Added checks for more esd devices (ports in Solaris terminology). Added flush function. 2001-06-20 Kjartan Maraas * Makefile.am: Added esd-config.in to EXTRA_DIST. 2001-03-26 Darin Adler * docs/.cvsignore: Ignore Makefile. 2001-03-11 Timur Bakeyev * Makefile.am: Changed the order of libraries in LDADD. Some old linkers really depend from it... 2001-01-23 Gregory Leblanc * docs/esound.sgml: updated/tested for use with nautilus 2000-11-29 Stanislav Brabec * esd.m4: New check AM_ESD_SUPPORTS_MULTIPLE_RECORD. * NEWS: Updated. 2000-11-28 Stanislav Brabec * esd.c, configure.in: Security improvements: All unsafe operations while creating ESD_UNIX_SOCKET_DIR was removed, new function safe_mksocketdir(), new variable esd_trustval and new argument -trust. Use +t on ESD_UNIX_SOCKET_DIR. There still remains trivial local DoS attack - I don't see better possible solution than suid helper. * configure.in: Added check for fchown and fchmod. 2000-11-28 Stanislav Brabec * esd.c: Use rmdir on directories instead of unlink, support for --help and help for -nobeeps. * esdlib.c: Typo fixes. * esdfile.c: Open files via "rb" on all systems. It is standard C, does no harm on systems where it isn't needed (Unix). 2000-10-30 Heikki Hannikainen * clients.c, esd-server.h, esd.c, players.c, proto.ci: Added support for multiple recording clients. Pretty straightforward cloning of player clients handling code. * 0.2.21 2000-09-13 Timur Bakeyev * esd.c: Reset to zero sockaddr_in structure. Without that BSDI doesn't let to bind to 127.0.0.1 address.. It's a good habbit anyhow to do so... * esdlib.c: If we are trying to connect to the localhost, it should be 127.0.0.1, not 0.0.0.0, which is just INADDR_ANY... It happens to match localhost, but isn't necessary to... So, changed client to connect to the 127.0.0.1 (which also should work with esd -tcp -public, but opposit does not work). 2000-07-21 Stanislav Brabec * acconfig.h, audio.c, audio_dart.c, configure.in, esdcat.c, esdfile.c, esdlib.c, os2medef.h, os2me.h, proto.c: Merged changes from cvs.enlightenment.org. 2000-07-18 Elliot Lee * Undo esd_send_file change on 03-03 - it makes lots of things break. * Fix fcntl that tried to remove non-blocking flag. * 0.2.19 2000-05-01 Drazen Kacar * audio_solaris.c: Don't set the output device, volume and balance when opening audio device. Those should be configurable by an external program and the values set that way preserved as defaults for sunsequent playing. (bugs #2587 and #5682) 2000-03-04 Yo Ric Dude * esound.spec.in, configure.in: don't include processed sgml docs in the rpms unless the system can process the sgml doc sources. 2000-03-03 Yo Ric Dude * esdfile.c (esd_send_file): Just in case libaudiofile feeds us an bogus frame count from a non-conforming .wav file, ignore the extra data. Thanks to Philipp Matthias Hahn * audio_solaris.c (esd_audio_open): Solaris audio recording patches, courtesy of Steve Murphy * docs/Makefile.am, docs/Makefile.in, Makefile.am, configure.in: updated configure and automake setup to generate html and postscript docs on make dist. Now if the documentation were useful... Also, the ALSA 0.5 patch was originally submitted by Tom Prado . There may be a similar patch from someone else in my inbox, but it's a mess. Sorry if I forgot you. Many thanks to Mark Crichton for testing, tweaking, and confirming backwards compatibility with previous ALSA releases. 2000-03-02 Mark Crichton * audio_alsa.c: Added support from Rik to add ALSA 0.5 API support Also backwards compatable. 2000-01-04 Timur Bakeyev * esddsp.c: Wrapped with #ifdef SNDCTL_DSP_GETCAPS. Old OSS driver doesn't have it.. 1999-10-11 Drazen Kacar * audio_solaris.c: Don't spit warnings if /dev/audio doesn't exist. User probably knows he doesn't have a sound card. 1999-10-06 Russell Steinthal * esdlib.c (esd_connect_tcpip): Fix case in which user specifies only a port number (first character of host is :) 1999-09-20 Raja R Harinath * configure.in (nanosleep): Look also in -lrt. Suggested by Drazen Kacar . 1999-09-03 Yo Ric Dude * audio_alsa.c: evil macro hacks to map the new alsa names, SND_PCM_OPEN_CAPTURE and snd_pcm_capture_format, to the old names, SND_PCM_OPEN_RECORD and snd_pcm_record_format. Why alsa doesn't do this itself... * esdlib.c: (esd_open_sound): if no ESPEAKER is set, but DISPLAY is, try to connect to the default port on that host. Thanks to Charles Galambos . 1999-08-20 Elliot Lee * *.c, esd-server.h: Fix warnings, bump version to 0.2.13. 1999-08-19 Kjartan Maraas * mix.c: (clip_mix_to_output_8u): Change *output to unsigned int from signed int. Sun Aug 8 00:56:41 1999 Timur Bakeyev * configure.in: Add bsdi4 as a system, that supports esddsp. INADDR_LOOPBACK - u_long changed to u_int32_t. 1999-07-11 Raja R Harinath * acconfig.h (SUN_LEN): Add @BOTTOM@ section and move this definition there. * configure.in (setenv, putenv): Add checks. * esdplay.c (main): Use `putenv' as a fallback if `setenv' isn't available. Reported by "Brandon S. Allbery" . 1999-06-30 Scott Heavner * configure.in, acconfig.h: Change SUN_LEN test to use AC_TRY_LINK. Then change it more. Are #ifdef's allowed in acconfig.h? Seems like cheating, but it works here (autoconf v2.13). The previous incarnation was using AC_DEFINE to setup a macro and wasn't working at all. Mon Jun 28 18:34:10 1999 Timur Bakeyev * acconfig.h, configure.in: Fix checkes against INADDR_LOOPBACK and SUN_LEN. * esd.h: Fix problem with mkdir() - if directory name containes "/" as a last symbol, it'll not be created. * esd.c, esdlib.c: Introduced usage of SUN_LEN instead of direct calculation. Move inline defenition of SUN_LEN to config.h. 1999-06-22 Richard Boulton * esdlib.c: More self documenting code comments. Nearly done this file now... * proto.c: Fix proto_data required size for esd_proto_stream_filter, so that we don't get annoying click whenever a filter is added. (Was sending 112 junk bytes to the audio stream each time.) 1999-06-19 Richard Boulton * esdlib.c, esd_config.c, esd.conf: Put time to wait for an autospawn into esd.conf file, and increased default to 100ms. (it was at 10ms, and about 1 time in 5 it wasn't waiting long enough for me.) 1999-06-19 Richard Boulton * esdlib.c: Add some gnome-doc style self documenting code comments. 1999-06-17 Richard Boulton * esdlib.c: Fix compiler warning. Wed Jun 16 12:52:02 1999 Timur Bakeyev * esd.h, esd.c, esdlib.c: All occurances of "/tmp/.esd/socket" string changed to macro ESD_UNIX_SOCKET_NAME - this is a bit cleaner, and allows to change name in one place only. * esd.c, esdlib.c: Fix a bug with domain sockets, when passing plain strlen() of the socket name to bind() caused it's trancation to "socke" :( Changed to sizeof(struct sockaddr_un). * esdsample.c: Fix a coredump, when no parameters specified. 1999-06-14 Elliot Lee * esdlib.c: Fix bug #1276 - don't try to auto-spawn if $ESPEAKER is set. Tue Jun 8 18:13:22 1999 John Ellis * esdmgr.c (esd_get_all_info): Fix memory leaks: player_info and sample_info were not being freed after the do .. while loops. Tue Jun 8 17:00:54 1999 Timur Bakeyev * audio_oss.c: #ifdef'ed SNDCTL_DSP_SETDUPLEX, as it doesn't exist in OSS 3.0.9 under BSDI3... * configure.in, acconfig.h: Due to lack of INADDR_LOOPBACK in my OS (BSDI3) here is the check against it's presence in netinet/in.h, and if not, defining it ourselves. Wed Apr 21 15:10:19 EDT 1999 The Rasterman * esdlib.c, esd.h, proto.c: added "latency" request protocol to request number of smaples of latency you have with a stream to esd. 1999-04-12 Elliot Lee * esdlib.c, esd_config.c, esd.conf, configure.in, Makefile.am: Use a proper config file ($(sysconfdir)/esd.conf, ~/.esd.conf), and fix auto-spawning of esd. 1999-04-11 James Henstridge * esound.spec.in: moved %{prefix}/lib/lib*.so files to the main esound package from the devel one, as esddsp requires them to function correctly. Thu Apr 8 23:08:56 PDT 1999 Manish Singh * acinclude.m4 * ltconfig * ltmain.sh: libtool 1.2f * esd.c: use INADDR constants instead of inet_addr calls (was broken before) * esddsp.c: minor tweaks 1999-03-30 The Rasterman * esdlib.c, esd.c: added UNIX domain sockets as the "default" (less overhead than tcp/ip for a local machine - better for less soudn breakup) - as well as =ctp option for tcp/ip mode. Also made esd auto fallback to 8bit, mono and lower sampling rates if the device cannot handle it. 1999-03-09 The Rasterman * esdlib.c, esd.c: added SIGPIPE handlers and wrappign in all libesd calls so "death" of esd and connection is trapped properly. Also added to auth protocol a "reply" for auth so authorisation is known at socket open time. same for esd. Tested and works. 1999-02-20 Yo Ric Dude * README, TIPS, TODO: updates * configure.in: call it 0.2.8. [and there was much rejoicing...] 1999-02-16 Yo Ric Dude * esd-server.h, esd.c, proto.c: added forced standby tracker for greater accuracy in tracking forced standby vs. autostandby modes * clients.c: autostandby/standby cpu buglet * esd.h, proto.c, esdmgr.c: added ability to get server mode, e.g. standby, autostandby, running, etc. * many other modules: -Wall clean up * players.c, proto.c, samples.c: gracefully handle error conditions from ESD_READ_*, i.e. check return values. Mon Feb 15 18:19:31 EST 1999 Mandrake * esdlib.c: boy am I getting tired of reading the "cannot connect to esound server" error message whenever I don't have esd running from that file. there needs to be a better way to dump out this error. maybe some sort of rotatable message file? who knows? but not like that. 1999-02-14 Yo Ric Dude * clients.c, esd.c: less brutal audio flushing algorithm. 1999-02-13 Yo Ric Dude * esdfile.c, esdlib.c: added and commented out diagnostic code. * esd-server.h, esd.c, players.c, proto.c, samples.c, players.c: add flag to force sample deletion, and force sample deletion only when we shut down the server * samples.c, players.c: check for addition of NULL samples/players. * players.c: helps if you put the recorder stream's, writeable fd_set mask in the proper place within the select call - thx. Chutt 1999-02-10 Yo Ric Dude * clients.c, esd.c, esdlib.c: only check for more data if the stream isn't a monitor stream, as there's nothing to read anyway. correct condition on esd_autostandby_secs for pausing. use the host representation of the port number instead of network order. Fri Feb 5 14:28:17 PST 1999 Manish Singh * esd-config.in: erk. NEVER include @CFLAGS@ or @LDFLAGS@ in these scripts. They should not be propagated to client packages 1999-02-03 Yo Ric Dude * esd.c: yet another CPU usage fix, courtesy of Chutt 1999-02-01 Elliot Lee * Revert session management changes until further discussion. Mon Feb 1 01:24:43 PST 1999 Manish Singh * esddsp.c: stupid interim hack for SNDCTL_DSP_GETOSPACE so x11amp 0.9a works properly * esddsp.in: -m flag to enable mixer support 1999-01-31 Yo Ric Dude * LICENSE, COPYING.LIB: Make some effort at license term disclosure. 1999-01-30 Yo Ric Dude * proto.c: corrected stream play/record/monitor protocol data lengths 1999-01-28 Felix Bellaby * session.c: implements session management protocol to avoid race conditions under gnome and allow for respawning. * Makefile.am, esd-config, config.in: add in SM checks. * esd.c (main): add SM argument passing, setup and ICE polling. * clients.c (wait_clients_and_data): add ICE to blocking select. 1999-01-26 Yo Ric Dude * clients.c: fixed recently broken autosuspend feature * esd-server.h, esd.c, players.c: move recorder_write guts to a separate function, to be used by monitors, and filters. Mon Jan 25 03:16:30 PST 1999 Manish Singh * esddsp.c: added a /dev/mixer wrapper. Set ESDDSP_MIXER=1 to for all /dev/mixer access to be trapped. It will save and load the mixer settings in ~/.esddsp.{name}. 1999-01-25 Yo Ric Dude * mix.c, proto.c: volume control wired into the mix functions. 1999-01-24 Yo Ric Dude * filter.c, players.c: fix filters to work with the translation function pointers. * esdfilt.c: add some processing (double or halve the audio signal) so we can tell if the filter is doing anything useful. * clients.c, esd-server.h, esdlib.c, players.c, stamp-h.in: factored into a function the setsockopt calls for setting the socket options for the socket buffer sizes in the court of king caracticus, which was just passing by... 1999-01-24 bertrand * configure.in (audiofile check): Fixed a small typo 1999-01-23 Yo Ric Dude * Makefile.am, esound.spec.in: updated web site, and added an rpm target to the makefile. "make rpm" and it should go do it's thing. 1999-01-14 Yo Ric Dude * players.c: fix the recorder_write and monitor_write function to use translate function. * clients.c: fixes to the pause vs. sleep issue. select()s forever if nothing to do, i.e. not recording and no samples playing. * esd-server.h, mix.c, esd.c, filter.c, proto.c: translate function pointers sketched out. added a mixer engine debug switch. filters, recorders and monitors are most likely horribly broken for now. * README, TODO: cleanups, updates, typos Thu Jan 14 22:52:02 PST 1999 Manish Singh * esd.c: corrected -d help text * esdctl.c: 0 is a perfectly valid argument for volumes, so don't filter it out * esddsp.in: libdl isn't everywhere, don't specify it (libtool deps will take care of that) * Makefile.am * configure.in: check for libdl * acinclude.m4 * ltconfig * ltmain.sh: libtool 1.2d for linux shared library deps 1999-01-13 Yo Ric Dude * esd-server.h, esd.c, mix.c, players.c, samples.c: first take at using function pointers for the mix functions. probably breaks filters, and who knows what else. NOTE: work in progress, beware! 1999-01-10 Yo Ric Dude * esddsp.in: corrected format of LD_PRELOAD entries, and added LD_PRELOAD_PATH to make things a bit cleaner. Should correct the "error loading shared libs: symbol dlsym not found" problems 1998-12-30 Yo Ric Dude * esdmgr.c, proto.c: workaround for zero additional data protocol handlers. just require an int of data for now. fix noted in source. * audio.c, audio_alsa.c, audio_oss.c, audio_solaris.c, esd.c, esd.h: added -d DEVICE option - use an alternate audio device. This sets esd_audio_device (const char *) which can be used by the platform specific esd_audio_open() functions. audio_oss updated, audio_solaris updated but not tested. other updates requested. * esd-server.h, esd.c, samples.c: actually reset *everything* in the daemon on a SIGHUP 1998-12-29 Yo Ric Dude * clients.c, esd-server.h, esd.c, proto.c, samples.c: option to autosuspend after a number of seconds of audio inactivity. "esd -as SECS" to set timeout to SECS seconds, SECS > 0. * esd.c, clients.c: call esd_audio_pause() only if select has returned no clients ready, and no samples are playing. other miscellaneous tweaks to the when-to-sleep algorithm... * players.c: add a variable so we know if we're playing samples * all other server files: editorial changes, prettier for printing 1998-12-27 Yo Ric Dude * proto.c: missed one code path for setting is_ok... * clients.c, esd-server.h, esd.c, esd.h, esdloop.c, esdsample.c, filter.c, mix.c, players.c, proto.c: moved some prototypes to more logical locations, and general -ansi -Wall -pedantic stuff. * esd.c: added -h option for usage. 1998-12-22 Yo Ric Dude * audio_alsa.c, clients.c: from bibek, more alsa patches and a slightly more sane "can i pause" algorithm. Mon Dec 21 21:44:44 EST 1998 Mandrake * esdlib.c - fixed some warnings. 1998-12-21 Yo Ric Dude * clients.c, esd-server.h, esd.h, players.c, proto.c, samples.c: Cleaned out the protocol handling. Basically, there's now a table of protocol handlers and how much data they each require. Each client has a buffer to hold the extra data for the current protocol handler. poll_client_requests() reads data one chunk at a time, until it gets everything it needs for that request. The handler then gets its data directly from the buffer, instead of messing around with all this state transition stuff. * configure.in: setting bin_SCRIPTS to include esd-config should set the execute flag on the script when installed. * esdlib.c: this needs esd.h, not esd-server.h. * mix.c, esd-server.h: debugging info update. Sat Dec 19 21:19:51 EST 1998 Mandrake * down to just 7 warnings compiling on my system now -- everything works pretty well now, I think, too. still a few 8bit sound problems with samples, which I may look into later this weekend. Sat Dec 19 14:02:41 EST 1998 Mandrake * cleaned up warnings and a little bit of code here and there. (when you've got as many compiler warning flags turned on as I do this code was starting to look a bit horrendous compiling) I'm not 100% done, but this is a good start. Thu Dec 10 20:55:43 PST 1998 Manish Singh * esd.c: use nanosleep if we have it, it seems to work better (at least for me) Tue Dec 8 23:32:52 PST 1998 Manish Singh * Makefile.am * configure.in * esd-config.in: correctly handle AUDIOFILE_* vars * Makefile.am * configure.in * esddsp.c: use dlsym instead of __func. Now works with glibc 2.1 and FreeBSD (maybe others? testers wanted) 1998-12-08 Yo Ric Dude * acconfig.h, configure.in, esd-server.h: use autoconf to turn on/off insanely verbose diagnostic information * clients.c: improved timeout for select algorithm - if we're recording, return immediately, otherwise timeout after 1/2 an ESD_BUF_SIZE amount of time. * esd.c: just use select instead of this nanosleep stuff. * samples.c, players.c: fixed problems with looping samples and a pointer assignment warning Wed Dec 2 11:27:20 EST 1998 The Rasterman * clients.c, esd.c, esdlib.c, players.c: Added setsockopt to set the socket bufferign options to the minimum needed to keep esd fed with audio data to also minimize "lag" with streams. Seems to work fine. 1998-11-30 Jeff Garzik * configure.in: Don't dump environment to stdout. Every user doesn't need to see this data, just a few hackers. 1998-11-28 Yo Ric Dude * players.c, samples.c: swap 16 bit audio data if the server and client are on differring endian machines. - not tested! =) * configure.in: --enable-esdplay has been converted to --with-libaudiofile. some files of the esound source WILL NOT currently compile unless libaudiofile is installed. with the inclusion of the audio file handling routines, libaudiofile is now a requirement for esound. Anyone wishing to patch the source so it will still compile without libaudiofile is welcome to. * esd.h, esdfile.c, esdplay.c, esdsample.c: add a string to differentiate between sample files cached by different programs with the same name. * Makefile.am, esdfile.c, esd.h: added convenient audiofile wrappers for playing and caching audio file data. * esd.h, esdlib.c: const clean up. * esdmgr.c: added name to print info functions. * esdplay.c, esdsample.c: updated to use audiofile wrappers. NOTE: this means that the AUDIOFILE library is now REQUIRED for proper compilation of esound. configure.in will be updated soon. Mon Nov 23 06:34:43 PST 1998 Manish Singh * configure.in: allow manual enable/disabling of alsa support 1998-10-21 Bertrand Guiheneuf * use the audiofile.m4 macro to detect libaudiofile 1998-11-09 Yo Ric Dude * clients.c, esdlib.c, filter.c, mix.c, players.c, proto.c samples.c: use the freshly updated debugging macros * esd-server.h, esd.h, esdctl.c, esdlib.c, esdmgr.c, mix.c, players.c, proto.c, samples.c: initial support for setting stereo panning of streams and samples, just need to update mix.c to do the scaling... Sat Nov 7 05:28:03 PST 1998 Manish Singh * esddsp.c: Hmmph. The ES1370 driver blocks on open unless O_NONBLOCK is set explictly. So now we strcmp always, and set O_NONBLOCK on fallback only for the sound device. * esdlib.c: removed fsync's here too 1998-11-06 Yo Ric Dude * samples.c, players.c, proto.c: fixed rounding to multiple of 4 algorithm, and removed fsync's as they don't do anything for a socket. patches suggested by Miodrag Vallat. 1998-11-05 Yo Ric Dude * audio_aix.c: typo fixes courtest of Philippe Defert 1998-11-04 Yo Ric Dude * TODO, esd.h, esdctl.c, esdmgr.c, proto.c: It really should have been esd_free_all_info(), and while we're at it, make it do something potentially useful. * esound.spec: set it up for autoconf to update the version number, then lost the changes. thanks to Michael Sterrett. 1998-11-03 Christopher Blizzard * esdctl.c (main): Change call from esd_free_all_info() to esd_free_esd_info() so that this will build. 1998-11-03 Yo Ric Dude * TODO, configure.in: update version number * Makefile.am, esd-server.h, esd.h, esdctl.c, proto.c, esdmgr.c: add initial framework for remote management of server, filter out diagnostic/debugging information from binary if we don't want it. also inlcude esound.spec file in distribution. Sat Oct 31 21:36:07 PST 1998 Manish Singh * esddsp.c: don't try to open local sound device if ESPEAKER is set 1998-10-31 Yo Ric Dude * EsounD.html, EsounD.ps, Makefile.am: replaced EsounD.html with EsounD.ps until the doc subdirectory is functional with docbook. * configure.in: call it 0.2.6. Fri Oct 30 20:39:16 PST 1998 Manish Singh * esddsp.c: provide implementation for close() to expire sndfd 1998-10-28 Yo Ric Dude * esound.spec.in: reordered the changelog entries, as rpm likes to complain about it if the order is backwards... 1998-10-24 Yo Ric Dude * audio_alsa.c: reworked alsa card detection per patch from Andrew Clausen Wed Oct 21 23:57:11 1998 Raph Levien * esdplay.c (play_file): The computation of bytes_per_frame was not taking the number of channels into account. It does now. 1998-10-21 Yo Ric Dude * esddsp.c, esddsp.in: give esddsp some class, allow for passing of identifying name to esd via environment variable Tue Oct 20 20:43:48 PDT 1998 Manish Singh * clients.c: make optional use of tcp_wrappers * Makefile.am, configure.in: OSS runs on other platforms too, so explictly special case for linux for esddsp. Also don't install the wrapper script if esddsp isn't supported. Add a check for libwrap and friends. Some reorganization. * esddsp.c: respond to SNDCTL_DSP_GETCAPS (and say we can't do much) More evilness to get multiple x11amps to coexist (optional) * esddsp.in: exec instead of just run 1998-10-19 Yo Ric Dude * Makefile.am, esddsp.in, configure.in: automatically build the esddsp wrapper script for Linux only Sun Oct 18 21:33:26 PDT 1998 Manish Singh * Makefile.am: add TODO and esddsp.c to EXTRA_DIST * esddsp.c: somewhat of a rewrite. We only try to use esound if an open() fails. This lets the no esound case fall back to /dev/dsp, and also doesn't do a strcmp on every call to open. Got rid of the varargs junk in ioctl, I've never seen an ioctl with more than one extra arg anyway (please tell me if I'm wrong). Reworked the code, so we're not so x11amp specific, i.e. the esound socket is opened immediately after all the info is set. We also make sure we don't try to set it again. Default to mono output per OSS specs. open/close/open with multiple formats works. Provide a default value for GETFMTS. The result of all this is that libesddsp works with a lot more stuff now. I've tested x11amp, mpg123, amp, freeamp, xanim, rvplayer, and esound itself. ;) (a side effect is that rvplayer works on Linux 2.1.120+ kernels as well) 1998-10-18 Yo Ric Dude * esddsp.c, proto.c: fixed inconsistency in esd_on_standby handling withing esd_proto_resume and esd_proto_standby. * esd.c: removed unused variable, audio * esd-server.h, esd.c, esddsp.c, players.c: how did monitoring ever work like that? corrected the header, actually passed in the length of the monitor buffer. 1998-10-17 Raja R Harinath * configure.in (nanosleep): Make this work on Solaris. From Brandon S. Allbery. 1998-10-17 Yo Ric Dude * esddsp.c: added Yosh's slick trick for transparently rerouting /dev/dsp to esd. Only tested with Linux and x11amp. Directions are in the source file for the brave. Sat Oct 17 02:20:42 PDT 1998 Manish Singh * esd.c, acconfig.h, configure.in: emulated nanosleep with select for systems that don't have it. Compiles on DU4, FreeBSD * audio_oss.c: FreeBSD uses __FreeBSD__, not FREEBSD 1998-10-16 Yo Ric Dude * filter.c, mix.c, players.c: misc optimizations courtesy of Bibek. * audio_hpux.c: HP-UX patches courtest of Jimmy Olsen . It is claimed that esd now runs on HP-Ux * esd-server.h, esd.c, filter.c, players.c, proto.c: added support for multiple simultaneous monitor streams. Fri Oct 16 02:48:26 PDT 1998 Manish Singh * esd.h: removed system includes so it doesn't "pollute" * audio.c, esd-server.h, esd.h, essrldcat.c esdctl.c, esdfilt.c, esdloop.c, esdmon.c, esdplay.c, esdrec.c, esdsample.c: added in specifc #includes so it compiles again 1998-10-14 Yo Ric Dude * Makefile.am: esdctl now uses getopt_long, and therefore needs the LIBOBJS in it's LDADD. * esdctl.c: beefed up esdctl for industrial grade use. added an exit_usage function, and getopt style option parsing. It was destined to become esdsh, but this in combination with a real scripting language should be suffient. 1998-10-13 Yo Ric Dude * esdlib.c, proto.c: trap for NULL name sent to sample_getid(), and check for sample names beyond the head of the list. Mon Oct 12 23:12:03 CDT 1998 Frank Belew * esd.h: removed anything resembling a socket header * esd-server.h: added everything removed from esd.h * audio_alsa.c: #include esd.h instead of esd-server.h since sockets are not needed. * esdlib.c: removed superfluous headers that are already included from esd-server.h 1998-10-10 Yo Ric Dude * esd-server.h, esd.c, esd.h, esdlib.c, mix.c, proto.c, filter.c, esdfilt.c Makefile.am, .cvsignore: filter patch courtesy of Bibek Sahu. ten points to the first person to create esdequalizer. does libgsl do digital filters? Tue Oct 6 20:57:37 PDT 1998 Manish Singh * esd.c: nanosleep in the no data ready case too, so we don't suck up CPU Sat Oct 3 13:31:29 PDT 1998 Manish Singh * audio.c: added driver_trace variable for sound driver debug messages * audio_alsa.c: use driver_trace instead of esdbg_trace, since that's limited to the server. Fix Pav's completely broken fix. Thu Oct 1 19:27:22 PDT 1998 Manish Singh * esd.m4: make it work right 1998-10-01 Yo Ric Dude * esound.spec[.in]: make autoconf do the version updating for us. * Makefile.am, configure.in: move version updating to same place. 1998-10-01 Yo Ric Dude * audio_alsa.c: multiple audio card detection patches from Bibek. This should open and use the first available card under ALSA. It has been tested on single card systems, and works fine. However, no one with multiple audio cards has tested this, so if anyone is feeling brave and adventurous... =) 1998-10-01 Yo Ric Dude * esd.h, esdlib.c: why sample size is treated as a long in esdlib, but an int everywhere else is beyond me. 64 bit platforms should be happier now. still have to check 32-64 bit interoperability * configure.in: touch-ups and commenting *shudder*. Thu Oct 1 22:58:03 CEST 1998 Jochen Friedrich * esdlib.c: added kludge to esd_sample_cache() to make it work under Alpha. Problem was to send a long and receive an int. On Alpha this makes extra 4 bytes of crap enough to bring client and server out of sync. Probably a better solution is to change the prototype for size from long to int. 1998-10-01 Raja R Harinath * configure.in (esd-config): Turn on execute bit only if `esd-config' was generated. (getopt_long): New check. * getopt.h, getopt.c, getopt1.c: New files. * Makefile.am (esdplay_LDADD): Add LIBOBJS. Wed Sep 30 21:08:19 PDT 1998 Manish Singh * esd.m4 * esd-config * configure.in: Added support for esd-config (like GTK+). Added explict disabling of local sound (for an audio data server). Fixed NEW_ALSA detection. Define HAVE_INET_ATON if we have it. * audio.c * audio_none.c: support for no local sound * esdlib.c: provide inet_aton implementation if it's not avaliable 1998-09-29 Yo Ric Dude * esd-server.h, esd.c: updated obsolete info. As noted by Sopwith, termination procedure, clean_exit(), needed tweaking. * esd.h, esdlib.c, esdsample.c, proto.c: esd_sample_getid(), for fetching a sample id from the name, courtesy of Sopwith. * esdcat.c: FILE *source = source; /* hello, mcfly? anybody in there? */ pointed out by Bibek, Sopwith, and others... 1998-09-27 Yo Ric Dude * configure.in: `AC_PROG_RANLIB' is rendered obsolete by `AM_PROG_LIBTOOL' * esdlib.c: added the missing esd_close() function. no need for clients to know they're dealing with a socket. 1998-09-25 Mandrake * autogen.sh: added libtoolize --copy --force to autogen.sh per Andreas Jellinghaus 1998-09-26 Yo Ric Dude * clients.c: artistic changes * configure.in: add check for nanosleep, Solaris needs -lposix4. Also included potentially useful information for obtaining the audiofile library. * esd.c: forced a wait in esd.c while in standby mode, so there's still some CPU to go around. * esound.spec: version number update, maybe make a esound.spec.in? Wed Sep 23 13:05:11 CDT 1998 mej * clients.c, configure.in - Fixes needed to find FIONBIO macro, at least on Solaris 1998-09-23 Kimball Thurston * clients.c - Make sure that the socket when connected is marked as non-blocking * audio_irix.c - Fix to reset the output rate every time a sample is played, so other utilities that play sounds and rudely change the output rate on SGI systems can't mess with esd too much 1998-09-22 Yo Ric Dude * AUTHORS, TODO: updates/formatting * acconfig.h, audio.c, audio_alsa.c, configure.in: "New" ALSA driver detection courtesy of Bibek Sahu. 1998-09-20 Yo Ric Dude * configure.in: made esdplay a --enable-able option, that was fun. let's bump up the revision level here, too, while we're at it. * esd.c, mix.c, samples.c: i think i've got the 8bit stuff working, but it needs to be cleaned up, and preferably use function pointers over if-else blocks to pick the appropriate 8bit/16bit algorithms. 1998-09-19 Yo Ric Dude * AUTHORS: decided to add my own name to the file, so people can blame me a little more directly * Makefile.am: added optional building of esdplay. * configure.in: added optional building of esdplay based on whether or not -laudiofile is found. made several "artistic" changes to configure.in. also added feedback about the expected failure of the various audio header and lib tests. hopefully people won't think their system is horribly broken if not all of the tests pass. * esdplay.c: added Simon Kagedal's auto format sniffing player for esd, requires the audiofile library, which is in gnome cvs) * audio.c, esd.c, esd.h, esdcat.c, esdloop.c, esdmon.c, esdrec.c, esdsample.c, mix.c, players.c: allow different server rates, too. * esd-server.h, esd.c, mix.c, players.c: started the 8 bit server overhaul. many off by *2,/2 errors remain. still straightening out buf_size_samples vs. buf_size_octets issues... 16bit seems to work. 1998-09-05 Yo Ric Dude * esd.c, mix.c, esd-server.h: fixed the annoying buzz while monitoring 1998-08-28 Yo Ric Dude * audio_alsa.c: Nick Lopez - added the missing audio_alsa.c 1998-08-09 Yo Ric Dude * audio_irix.c: Kimball Thurston - corrections for irix. * audio_hpux.c: Dave Glowacki - corrections for hpux and {esdcat,rec,mon} * Makefile.am, acconfig.h, audio.c, configure.in: Nick Lopez - added support for the Advanced Linux Sound Architecture. It seems to work just fine on my SB16 with ALSA driver 0.1.4 and lib 0.0.9. still needs audio_alsa.c. * AUTHORS: updated list of contributors * Makefile.am, acconfig.h, audio.c, configure.in, esd-server.h: Jeff Dubrule - updated for MkLinux (still need to merge in mix.c) 1998-08-08 Mandrake * fixed Makefile.am to use libtool's versioning correctly :) 1998-08-07 Yo Ric Dude * esdlib.c: switched to memcpy instead of bcopy. * audio_solaris.c: added a few more recognized devices. thx to Tynian and Peter Asobeck for Solaris devices. * audio_oss.c: powerpc patches courtesy of mackman. * esdcat.c: forgot to check the FILE* returned from open, thx vendu. 1998-07-16 Yo Ric Dude * esd-server.h, proto.c, samples.c: everything but recording works for irix. irix->linux connectivity and back works ok, except for remote recording. keeping track of client states seems to be uglier than it needs to be. not so mental note to look into that. 1998-07-15 Yo Ric Dude * esd-server.h, proto.c, samples.c, test-script: almost got it all on irix. still need to tweak sample caching problems. other than that. tried to filter out the esdctl calls from test-script, as it doesn't work properly with an ESPEAKER set. * esd-server.h, players.c, proto.c: finally got the client state code to track endian status correctly, on linux and irix. gross macros to track communication protocol level data. need to filter those out via cmd line macro at some point... 1998-07-13 Yo Ric Dude * clients.c, esd-server.h, esd.h, players.c, proto.c: crack one at including communication level diagnostic info. 1998-07-11 Yo Ric Dude * clients.c, esd-server.h, esd.c, mix.c, players.c, proto.c, samples.c: tried to enforce some semblance of order on the trace/debug messages. added globals esdbg_trace, and esdbg_comms, for debug msg filtering. 1998-07-07 Yo Ric Dude * esdlib.c (esd_open_sound): *always* consider an "else" clause for every "if"... 1998-07-05 Yo Ric Dude * esdsample.c, esdlib.c: added a confirmation step to the sample_cache mechanism. esd_confirm_sample_cache(esd) should return the same sample id as the sample just cached. esdlib failed to read this indication back from the server. * esd-server.h, esdlib.c, players.c, proto.c, samples.c: more endian swapping fixes. works for Linux, half of it works irix->linux, much seems to be broken on irix. added test-script for quick run through of features. 1998-07-04 Yo Ric Dude * esd-server.h, esd.h, esdlib.c, players.c, proto.c, samples.c, woo! the endian swapping detection is in place, and works, at least for byte streams. still need translation functions in the mix logic, to byte swap data buffers before addition. 1998-07-04 Yo Ric Dude * clients.c, esd-server.h, proto.c: following the lead of the need_validation flag, it's possible that the same problem could occur while caching a sample, changed need_validation to client->state, so it can track incomplete protocol requests. Still need to add the intelligence for the sample caching. * esdlib.c: esdlib now does proper arg checking (NULL for names) * esdcat.c: reverted to previous form, name is file (or nothing) 1998-07-03 Manish Singh * esdcat.c: pass a valid pointer for name in esd_play_stream_callback (quick fix; esdlib should really do proper arg checking) 1998-07-01 Yo Ric Dude * audio_irix.c, configure.in: fixed audio_irix driver. works on an Octane. Autoconf tools are a little weird on irix. had to manually tweak the generated makefile to remove .deps references. added lib check routines to find -laudio. look into improving autoconf-irix 1998-06-28 Raja R Harinath * clients.c (wait_for_clients_and_data): Return 0. (get_new_clients): Remove validation code. Moved to `poll_client_requests' (in proto.c). * proto.c: (esd_proto_lock): Likewise. (esd_proto_unlock): Likewise. (esd_proto_standby): Likewise. (esd_proto_resume): Likewise. (poll_client_requests): Centralize validation. Move invocation of `esd_proto_{lock,unlock,standby,resume}' ... (do_validated_action): ... here. * esd-server.h (struct esd_client): New flag `need_validation'. * esdlib.c (esd_lock): Send `ESD_PROTO_LOCK' message, not `ESD_PROTO_UNLOCK'. 1998-06-13 Yo Ric Dude * mix.c: removed core-dump causing optimization, thx to keebler. 1998-06-13 Yo Ric Dude * players.c: one-liner uninitialized data fix for the occasional random sample killing itself. Thanks to Chutt for the fix. 1998-06-10 Yo Ric Dude * samples.c, players.c, clients.c: fixed the perpetual looping sample problem. incremented version to 0.2.2 for possible release. 1998-06-06 Yo Ric Dude * samples.c, players.c, clients.c: rigged up the sample freeing routines to check reference counts before deleting the samples. 1998-06-06 Yo Ric Dude * esd.h, esd-server.h: moved some server stuff to esd-server.h. also added placeholders for an ADPCM mode, and endian issues. * samples.c: tuned the check for sample_id in stop_sample() * players.c: set up free_sample as the central player "destructor" * mix.c: added integral ratio of sample rates optimization. 1998-06-05 Myth * esd.h: removed reference to config.h. * audio.c: added reference to config.h. * Makefile.in, aclocal.m4, config.h.in, configure, COPYING, INSTALL, config.guess, config.sub, install-sh, ltconfig, ltmain.sh, missing, mkinstalldirs: removed from cvs tree, since they are added by aclocal/auto*. * autogen.sh, HACKING: readme and script for generating files listed above. 1998-05-27 Raja R Harinath Nearly working on Solaris. * audio_solaris.c (esd_audio_open): Clean up. Make clear that this file only knows about CS4231 devices. * configure.in: Add checks for connect, gethostbyname and inet_aton. * audio.c, audio_*.c: Arch dependent files define ARCH_esd_audio_foo if they contain the function `esd_audio_foo'. Otherwise, `audio.c' provides a generic function `esd_audio_foo'. (Tested only for solaris.) * Makefile.am: Remove building of library without `libtool'. 1998-05-24 Yo 'Ric Dude * clients.c, esd.c, esdlib.c: added ability to free and reclaim /dev/dsp for use by other programs, without invalidating any sample references within the daemon. sound output is consumed by daemon, and ignored until the daemon is resumed. created esd_lock() and esd_unlock() functions, to hide the transfer of the auth. key from clients. * esdlock.c, esdunlock.c: removed from source. functionality superceded by esdctl, called with options to lock, unlock, standby, and resume the daemon. 1998-05-20 Isaac Richards * audio.c, audio_*.c, configure.in, Makefile.am, acconfig.h, esd.h: Added horribly broken(?) drivers for other OSs... These need fixed * esdlib.c: Need space for the \0 =) 1998-05-19 Yo 'Ric Dude * clients.c, esdsample.c: corrected a problem playing samples without a simultaneous stream which was instigated by the "better" blocking algorithm. Added simple multiple trigger capability to esdsample.c program. 1998-05-16 Raja R Harinath * esdlib.c (esd_send_auth): POSIX allows some systems not to define NAME_MAX. Mon Apr 27 23:58:52 1998 Yo 'Ric Dude * esd.c, esd.h, mix.c: moved clipping into mix.c * clients.c, esd.c, esd.h, mix.c, samples.c: clipping patches entered * LICENSE: updates Sat Apr 25 03:03:11 1998 Yo 'Ric Dude * TODO, audio.c, clients.c, esd.h, esdcat.c, esdlib.c, esdrec.c: added the /dev/dsp fallback feature to client lib Sat Apr 18 23:57:15 1998 Yo 'Ric Dude * esdlib.c: client lib returns -1 if esd not available, instead of exiting(1) * TODO: updated to reflect new ideas * LICENSE: more credits Fri Apr 17 23:54:04 1998 Yo 'Ric Dude * LICENSE, clients.c, esd.c, esd.h, esdlib.c, esdlock.c, esdloop.c, esdunlock.c, mix.c, players.c, samples.c: -Wall -pedantic cleanup Thu Apr 16 04:11:25 1998 Yo 'Ric Dude * esdloop.c: Initial revision * EsounD.html, EsounD.lsm, LICENSE, TODO, clients.c, esd.c, esd.h, esdlib.c, srcfiles: preparation for v0.2 Wed Apr 15 03:28:19 1998 Yo 'Ric Dude * clients.c, esd.c, esd.h, esdlib.c, players.c, samples.c: added support for sample loops * audio.c: clean up * TODO: updated, esdloop, clean up Sat Apr 11 16:03:53 1998 Yo 'Ric Dude * clients.c, esd.c: fixed cpu usage problem in monitoring only condition * DOCUMENTATION, TODO: Initial revision * clients.c, esd.c, players.c: created TODO file for random thoughts * srcfiles: new files * clients.c, players.c: removed potential for blocking on monitor and recorder writes * clients.c, esd.h, mix.c, players.c, samples.c: corrected conflict with remove_sample in newer kernels Sat Apr 4 19:57:07 1998 Yo 'Ric Dude * COPYING, EsounD.html, EsounD.lsm, LICENSE, TIPS, srcfiles: Initial revision * esd.h: removed CLIENT_TIMEOUT, no longer needed * players.c: reworked logic for detecting end of stream players * esd.h, esdmon.c, esdsample.c, samples.c, audio.c, clients.c, esd.c, esdcat.c, esdlib.c, esdlock.c, esdrec.c, esdunlock.c, mix.c, players.c: Initial revision