shithub: libsamplerate

ref: c28af3dece9b149341ec8020259fc46b9a314740
dir: /ChangeLog/

View raw version
2013-03-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_sinc.c
    Fix a read beyond end of coefficent array problem uncovered by gcc-4.8's
    -fsanitize=address feature and reported by Cristian Rodríguez.

    Since this is reading filter coefficients from rodata memory and no write
    is possible, is is not exploitable from a security point of view.

    Solution was to reduce the half_coeff_len value for each filter by one.

2013-01-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.h src/common.h
    Make SRC_DATA const correct. Thanks to Nikos Chantziaras for the suggestion.

2012-10-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/sndfile-resample.c
    Add a --no-normalize cmd line option. Thanks to Adriano Moura for the
    patch.

2012-09-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/varispeed_test.c
    FIx compile error.

2012-08-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/common.h src/samplerate.c
    Add SRC_ERR_BAD_INTERNAL_STATE error number and string.
    Move function is_bad_src_ratio() to common.h.

    * src/src_linear.c src/src_sinc.c src/src_zoh.c
    Validate internally stashed src_ratio value.

2012-08-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/multi_channel_test.c tests/snr_bw_test.c tests/varispeed_test.c
    Use fftw_cleanup() to remove all memory leaks reported by valgrind.

    * doc/license.html
    Specify GPLv2 or GPLv3.

2012-08-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_sinc.c
    Cleanup calculation of float_increment.

2012-03-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.c
    Fix error message for error SRC_ERR_BAD_DATA_PTR. Thanks for oneman in
    #xiph on Freenode.

    * examples/audio_out.c
    Minor tweaks to Windows and OSX code.

2011-11-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.h
    Removed unused typedef struct SRC_CB_DATA.

    * examples/varispeed-play.c
    Rewrite to use the callback version of the API. This new version is far
    simpler and far easier to understand.

2011-11-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac examples/Makefile.am
    Detect ALSA and use it in varispeed-play.

    * examples/audio_out.[ch]
    On Linux used ALSA instead of OSS when available.

    * src/samplerate.c src/src_linear.c src/src_zoh.c \
            examples/sndfile-resample.c examples/timewarp-file.c
    Fix warnings from the Goanna static analysis tool.

2011-08-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac
    Add symbol support for kfreebsd-*-gnu-*.

    * configure.ac doc/Makefile.am
    Improve installation of html docs.

    * examples/audio_out.c tests/callback_hang_test.c
    Fix compiler warnings.

    * NEWS README Win32/config.h doc/*.html
    Updates for 0.1.8 release.

    * configure.ac
    Release 0.1.8.

2011-02-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/util.[ch]
    Rename function print_cpu_name() to get_cpu_name(). Add code for Mac OSX and
    FreeBSD.

    * tests/multichan_throughput_test.c tests/throughput_test.c
    Update to use get_cpu_name().

2010-11-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/*.[ch]
    Fix typo in comments.

2010-10-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/fastest_coeffs.h src/high_qual_coeffs.h src/mid_qual_coeffs.h
    Fix typo in comments.

    * configure.ac
    Add AM_SILENT_RULES.

    * doc/download.html
    Add a GPG signature.

2010-09-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/float_cast.h
    Add lrint/lrintf version for Win64. Thanks to Dmitry Baikov.

2010-01-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/sndfile-resample.c
    Prevent creation of double length output files when conversion is restarted
    due to clipping of the output when the format is FLAC. This problem arises
    due to libsndfile's in ability to seek in a FLAC file during write.

    * src/samplerate.h tests/termination_test.c
    Revert change that moved the src_ratio field to the start of SRC_DATA
    struct. This change does have some merit, but is not worth it considering
    that its an API change. This idea will be reconsidered when the API does
    change.

2009-12-01  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/win32.html
    Update instructions.

    * Win32/Makefile.msvc
    Add /Zm200 to CFLAGS.

2009-11-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/common.h
    Add macro UNUSED for marking function parameters as unused.

2009-10-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/misc_test.c
    Add zero_input_test() from debian bug #506722.

    * src/src_linear.c src/src_zoh.c
    Fix for bug in zero_input_test(). Both these converters crashed if the
    input_frames field of SRC_DATA was zero.

2009-09-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * M4/endian.m4
    Fix detection of CPU endian-ness when cross compiling.

2009-08-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/termination_test.c
    Add test to detect a particular kind of termination error.

    * src/src_sinc.c
    Fix a termination condition bug.

2009-06-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.h
    Change definition of SRC_STATE to be kinder to some slightly broken
    compilers. Thanks to Rob Brown for suggesting this fix.

2009-04-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * M4/check_signal.m4 M4/clip_mode.m4 M4/lrint.m4 M4/lrintf.m4
    New files used instead of acinclude.m4.

2009-04-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.h
    Move src_ratio field to the start of the SRC_DATA struct to ensure it gets
    aligned correctly when either the library or client code gets compiled with
    -malign-double.

    * configure.ac
    Bump version to 1.0.0 due to API change.

2009-02-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * Win32/Makefile.msvc
    Add /Zm1000 to the CFLAGS as suggested by Kun Niu.

    * doc/api_full.html doc/api_callback.html
    Improve explanation of use of src_set_ratio() function.

2009-02-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/common.h src/samplerate.c
    Add new error value SRC_ERR_SINC_PREPARE_DATA_BAD_LEN.

    * src/common.h
    Add WARN_UNUSED macro.

    * src/src_sinc.c
    Fix a segfault which occurs when memcpy is passed a bad length parameter.
    This bug has zero security implications beyond the ability to cause a
    program hitting this bug to exit immediately with a segfault.
    See : http://www.mega-nerd.com/erikd/Blog/2009/Feb/14/index.html
    Thanks to David Cournapeau and Lev Givon for the bug report.

    * doc/win32.html Makefile.am configure.ac
    Reinstate Win32/MSVC compile instructions.

    * doc/*.html
    Update for new release.

    * configure.ac
    Verison 0.1.7.

2009-02-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/common.h src/samplerate.c
    Fix SRC_ERR_BAD_SRC_RATIO error string. Thanks David Cournapeau.

2009-01-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_sinc.c
    Replace C99 "variable length arrays" with arrays allocated on the heap so
    that libsamplerate can be compiled with crappy compilers like MSVC.

2009-01-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac NEWS README doc/*.html
    Updates for 0.1.6 release.

2009-01-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/termination_test.c
    Fix termination test error on x86_64. Error probably due to difference in
    rounding.

2009-01-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/win32.html
    Update win32 compile instructions to explain that this release cannot be
    compiled using the microsoft compiler.

    * NEWS README doc/*.html
    Updates for 0.1.5 release.

    * Makefile.am configure.ac
    Remove Win32 directory from distributed tarball.

2008-12-16  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/multi_channel_test.c tests/multichan_throughput_test.c
    Update tests to make sure tests include tests for 10 channels.

    * src/src_sinc.c
    Make 6 channel Sinc conversion another special case.
    Use Duff's Device to speed up the multi-channel case.

    * tests/multi_channel_test.c
    Only test 1, 2 and 3 channels for ZOH and linear converters.

2008-12-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.c
    Move variable definition out one scope level to avoid warnings from static
    analysis tools. Thanks Erik Hovland.

    * tests/util.c
    Make sure FILE* is closed. Thanks Erik Hovland.

    * tests/multi_channel_test.c tests/multichan_throughput_test.c
    Update tests to make sure tests include tests for 6 channels with the Sinc
    converters.

2008-12-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/multichan_throughput_test.c
    Do throughput test on all three SINC based converters.

    * src/src_sinc.c
    Rejig converter so filter coefficients are calculated once per frame and
    special case channel counts of 1, 2 and 4.

2008-12-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    *  src/samplerate.c examples/audio_out.c tests/*.c
    Fix a couple of very minor warnings uncovered by Erik Hovland using a
    static analysis tool.

    * src/src_*.c
    Fix a potential memory leak. Thanks to Peter G. Vavaroutsos for point this
    out.

    * tests/multi_channel_test.c
    Robustify test.

2008-12-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * reconfigure.mk autogen.sh
    Remove the first, add the second.

    * configure.ac
    Various updates.

    * tests/multichan_throughput_test.c tests/Makefile.am
    Add new test and hook into build.

2008-11-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/index.html
    Update best converter specs.

2008-10-22  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/audio_out.c
    Fix gcc-4.3 compiler warning.

2008-10-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/faq.html
    Add Q/A about accuracy of src_ratio field of SRC_DATA struct.

2008-10-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * INSTALL
    Fix minor typo. Thanks to Sean Wood.

2008-09-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_sinc.c
    Optimization. About a 5% improvement in throughput.

2008-09-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/util.[ch]
    Add function print_cpu_name.

    * tests/throughput_test.c
    Add ability to do best-of N runs, print CPU type.

2008-09-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac
    Add AC_PROG_MKDIR_P.

2008-07-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.c
    Fix a valgrind warning which occured when the call back function returns
    a count of zero without modifying the pointer value. Thanks to Paul Kelly.

    * tests/callback_test.c
    Add a callback test where the callback returns a zero count without setting
    the data pointer. The problem can only be detected when run under valgrind.

2008-07-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_sinc.c
    Remove use of llrint because sizeof (increment_t) is guaranteed not to be 8.

    * tests/callback_test.c
    Test with 2 channels for improved generality. Simplify setup.

    * src/src_linear.c src/src_zoh.c
    Change local variable names to be the same across these two files for easier
    comparison.

    * src/src_linear.c
    Fix a bug where the the converter was reading beyond the end of the input.
    Thanks to Paul Kelly for the bug report.

2008-07-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/downsample_test.c
    New test file to test for buffer overrun bugs at extreme low conversion
    ratios.

    * tests/Makefile.am
    Hook above test program into build.

    * src/src_sinc.c
    Fix buffer overrrun bug at extreme low conversion ratios. Thanks to Russell
    O'Connor for the report.

    * configure.ac NEWS README doc/*.html
    Update for 0.1.4 release.

2008-05-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac
    Make use of libsndfile optional. Patch from Samuli Suominen.

2008-04-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * Win32/libsamplerate-0.def
    Add src_int_to_float/float_to_int_array to exports.

    * examples/sndfile-resample.c
    Add printing of libsndfile version, modify libsamplerate version.

2008-03-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/*.html
    Final documentation tweaks for release.

2008-03-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/throughput_test.c
    Include config.h and float_cast.h." -- tests/throughput_test.c

    * Make.bat Win32/*
    Bunch more Win32 updates.

2008-03-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/* tests/*
    Remove all traces of old SRC_OLD_SINC_* converters.

    * Make.bat Win32/*
    Preliminary Win32 updates.

    * configure.ac
    Bump version to 0.1.3.

2008-03-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/api_simple.html
    Try once again to convince people that src_simple cannot be used on small
    chunks of a larger piece of audio.

2008-03-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/snr_bw_test.c
    Remove bodgy old throughput calculations.

2008-03-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/benchmark.c tests/throughput_test.c
    Rename former to the latter and make significant improvements.

2008-03-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/old_high_qual_coeffs.h src/old_mid_qual_coeffs.h
    Copy these from the old versions.

    * src/high_qual_coeffs.h src/mid_qual_coeffs.h
    New versions of the coefficients with improved SNR.

2008-02-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * Makefile.am configure.ac
    Add DISTCHECK_CONFIGURE_FLAGS to Makefile.am and a bunch of configure
    cleanups.

2008-01-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/audio_out.c
    Apply patch from Yair K. to fix compiles with OSS v4.

2007-07-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * acinclude.m4
    Add AC_CHECK_SIGNAL macro.

    * configure.ac
    Use AC_CHECK_SIGNAL to check for SIGALRM.

    * tests/callback_hang_test.c
    Use HAVE_SIGGALRM and add empty main function if it doesn't exist.

2007-06-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/*_coeffs.h
    Change the way the coefficients are defined for improved safety.

    * src/src_sinc.c
    Adapt to the above.

2007-05-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_sinc.c
    Change macros into inline functions for better error checking.

    * src/common.h
    Add static inline function fmod_one.

    * src/*.c
    Use fmod_one where appropriate.

2007-05-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests.Makefile.am
    Fix includes for varispeed_test target.

2007-04-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/snr_bw_test.c
    Remove cruft.

    * doc/index.html
    Add link to Foobar 2000 plugin.

    * configure.ac tests/callback_hang_test.c
    Test for functions alarm and signal and only compile test if both are
    available.

2007-01-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.c
    Refactor checking of supplied src ratio against min and max.

    * configure.ac
    Remove -pendantic from CFLAGS and add -std=gnu99.

    * tests/callback_hang_test.c tests/Makefile.am
    Add new test program and hook it into build.

    * src/src_linear.c src/src_sinc.c src/src_zoh.c
    Fix a bug where the src_callback_read () function would hang under varying
    src_ratio.

2007-01-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/api.html doc/api_callback.html doc/api_misc.html
    Update docs to make handling of interleaved data more explicit.

2006-07-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/audio_out.c
    Fix bug arising from last change.

    * configure.ac
    Add -Wpointer-arith to CFLAGS.

2006-07-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/audio_out.c
    Be more explicit about setting the audio output format.

2006-06-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.c src/src_linear.c src/src_sinc.c
    Fix MSVC compiler warnings.

2006-05-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/calc_snr.c
    Fix minor bug in analysis routines.

    * tests/varispeed_test.c tests/snr_bw_test.c
    Fix knock on effects of above change.

2006-05-23  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/Makefile.am
    Update check-asm rule to check src_linear.c and src_zoh.c.

    * src/src_linear.c
    Remove all uses of floor() function.

2006-04-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.[ch] src/Version_script.in
    Add functions src_int_to_float_array and src_float_to_int_array.

    * tests/float_short_test.c
    Update test to including testing of above.

    * doc/api_misc.html
    Update docs for the above addition.

2006-03-31  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/common.h src/src_*.c src/samplerate.c
    Add slots for vari_process and const_process functions.

    * tests/varispeed_test.c tests/Makefile.am
    Add new test and hook into build.

    * tests/util.[ch]
    Add new function reverse_data.

2005-12-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/sndfile-resample.c
    Exit if SRC ratio is 1.0. Suggested by Bram de Jong.

2005-11-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/timewarp-file.c
    New file.

2005-09-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/float_cast.h
    Update to include Cygwin specific fixes.

    * doc/api_callback.html
    Complete the documentation of the callback API.

2005-08-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/termination_test.c
    Rename term_test() to init_term_test() and add extra test functionality
    to sanity test the first sample output after reset.

    * src/src_zoh.c src/src_linear.c
    Fix bug found by new test. Thanks Stas Sergeev for bringint this to my
    attention.

2005-08-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/Makefile.am
    Fix a bug preventing the inclusion of the html API docs in the tarball.

    * src/src_zoh.c src/src_linear.c
    Improve calculation of input_index.
    Fix updating of input_index (thanks to Stas Sergeev).

    * tests/calc_snr.c
    Fix a compile problem when FFTW is not present (thanks to Stas Sergeev).

2005-04-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac src/Makefile.am
    Fix minor problems with generation of shared library version number.

2005-02-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/faq.html
    Add a question about the use of src_simple().

    * src/api_simple.html
    Fix defintion of src_ratio.

2004-12-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac tests/Makefile.am tests/*.c
    Ditch detection and use of libefence. Valgrind is a far better debugging
    tool.

    * INSTALL
    Write complete libsamplerate specific install instructions.

2004-10-06  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/configure.ac src/makefile.am
    Finally fix the bulding of DLLs on Win32/MinGW.

    * tests/makefile.am
    Fix running of tests on Win32/MinGW.

2004-09-30  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac Win32/Makefile.mingw.in
    More support for compiling on Win32 using MinGW. Now uses FFTW3.

    * examples/audio_out.c
    Remove include of <mmreg.h> on win32.

2004-09-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac Win32/Makefile.mingw.in
    Add preliminary support for compiling on Win32 using MinGW.

    * configure.ac
    Bump version to 0.1.2.
    Add --enable-gcc-werror configure option.

    * examples/sndfile-resample.c tests/src-evaluate.c
    Use ISO C standard function remove instead of unlink.

    * Win32/Makefile.msvc
    Add the top level directory to the include path (for sndfile.h).

2004-09-10  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/util.h tests/*.c
    Move macros for ABS, MIN, MAX and ARRAY_LEN to util.h.

    * tests/reset_test.c
    Add test function callback_reset_test() to test for the problem below.

    * src/samplerate.c
    Reset SRC_PRIVATE fields saved_data and saved_frames in src_reset(). Thanks
    to Justin Drury for pointing this out.

2004-08-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_sinc.c
    Fix typos in converter name strings. Thanks to Tom Szilagyi for finding them.

2004-07-18  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac
    Bump version to 0.1.1.

    * doc/*.html Win32/config.h
    Changes for new version.

    * Makefile.am src/Makefile.am
    Add "make check-asm" target which is not used by default.

2004-06-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_sinc.c
    Use fmod() to calculate input_index. This is more resitant to rounding
    errors than input_index -= floor (input_index).

2004-06-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_sinc.c
    Removed redundant field in SINC_FILTER struct.

2004-06-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/sndfile-resample.c
    Modified to restart conversion if clipping has occurred.

2004-06-09  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/benchmark.c
    Added benchmark program.

2004-05-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/callback_test.c
    Improve callback_test to find input/output length mismatches. This also
    catches the bug Mark Deggeller reported.

2004-05-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.c
    Fix a bug in src_callback_read() reported by Mark Deggeller. Data retreived
    but not used during one call to src_callback_read() must be saved for the
    next call.

    * src/common.h
    Add fields saved_frames and saved_data to SF_PRIVATE struct for storing
    data between sucessive calls to src_callback_read().
    Also rearange the fields of SF_PRIVATE.

2004-03-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac
    Use AC_HELP_STRING in AC_ARG_ENABLE statements.

2004-03-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * Win32/config.h Win32/sndfile.h
    Updates for Win32.

2004-02-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * NEWS README
    Finally got around to adding text to these.

    * doc/win32.html doc/history.html
    Minor updates.

2004-01-26  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/common.h
    Changed allowed SRC ratio to range [1/256, 256].

    * configure.ac tests/snr_bw_test.c tests/src-evaluate.c tests/Makefile.am
    Use FFTW3 instead of version 2.

2003-12-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/api.html doc/api_misc.html
    Add documentation for conversions functions.

    * doc/faq.html
    Add Q/A about detecting presence of libsamplerate.

2003-12-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.h src/samplerate.c
    Added functions for short->float and float->short conversions on arrays
    of data. This will make it a little easier for people who need the
    input or output data in shorts rather than floats.

    * configure.ac
    Added tests for CPU clipping mode which was required for the float to
    short conversion.

    * tests/float_short_test.c
    New code for testing the new functionality.

2003-10-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_zoh.c src/src_linear.c
    Fixed an off-by-one indexing issue which was causing distortion at the
    boundaries between calls to src_process().

    * tests/multi_channel_test.c
    Finally passing tests for all three access methods (simple, process and
    callback).

2003-10-27  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/calc_snr.c
    SNR calculation was being screwed up because the peak detector was
    mistaking side lobes caused by the windowded FFT as noise/aliasing peaks.
    Therefore added code to wipe out the troughs between peaks which erases
    the side lobe peaks without affecting the noise/aliasing peaks.

    * tests/multi_channel_test.c
    Added a callback_test to work on multiple channels.

2003-10-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.h
    Add definitions for the callback based API (src_callback_new and
    src_callback_read).

    * doc/*.html
    Add link to faq.html.

    * doc/faq.html
    Add a new question/answer.

    * src/samplerate.c tests/callback_test.c
    Move callback functions (src_callback_new and src_callback_read) from
    callback_test.c to samplerate.c
    Add checking to make sure that an SRC_STATE object created with
    src_callback_new() is not used with src_process() etc.

    * examples/varispeed.c
    Add #include <stdlib.h> to prevent compiler warning.

    * src/samplerate.h
    Add definitions for the callback based API.

    * src/Version_script.in
    Add entries for two new public functions.

2003-10-12  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/callback_test.c
    More work on getting callback based API working.

    * tests/termination_test.c
    Tightened up the test pass crieria yet again. This shows up problems
    with the ZOH and Linear converters.

    * src/src_zoh.c src/src_linear.c
    Fixed problems with converters shown up by improved tests.

2003-09-25  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/api.html
    Be more explicit about the inclusion of <samplerate.h>.

2003-09-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/sndfile-resample.c examples/audio_out.c
    Add include for <stdlib.h>.

    * configure.ac
    Check for libsndfile >= 1.0.6.

    * examples/sndfile-resample.c
    Turn on clipping of output when saving to integer PCM output formats.

2003-08-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/callback_test.c
    Start work on a callback based API. The implementation will be done
    in this test program first and when it is working, the code that does
    the work will be moved back to the library code.

2003-08-19  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/bugs.html
    New file detailing how to submit bug reports for SRC.

2003-08-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * libsamplerate.spec.in
    Apply corrections from Giuliano Pochini.

2003-08-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/snr_bw_test.c
    Added test for conversion ratio of 1.0 for all converters. For this
    conversion ratio, all converters have a better than 149db SNR ratio.

    * src/src_linear.c
    Changes to make this converter work more like src_zoh.c.

2003-05-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/quality.html
    Fixed a couple of broken links pointed out by Anand Kumria.

2003-05-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.h
    Add URL of API documentation to the top of file.

    * doc/api_misc.html
    Clarify use of SRC_DATA struct.

2003-04-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/reset_test.c
    Add call to src_set_ratio() to test that this function has been exported.

2003-03-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * samplerate.pc.in
    Changed 'sndfile' to 'samplerate'.

2003-02-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_zoh.c
    Fixed a bug causing clicks in the output data.

2003-02-07  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.c
    Fixed a compiler warning.

    * tests/termination_test.c
    Tightened up the test pass crieria.

    * src/src_sinc.c
    Fixed bug showed up by new termination tests.

2003-02-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/sndfile-resample.c
    Fixed a bug which was messing up handling of multi-channel files.

    * tests/multi_channel_test.c
    Disabled all the new code.

2003-02-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/multi_channel_test.c
    Rehacking multi-channel tests to find possible problems in src_process()
    when processing multichannel data. Need to use signal to noise ratio
    measurements.

    * tests/Makefile.am
    Mods to add calc_snr.c and utils.c to build of multi_channel_test.

    * tests/util.[ch]
    Add functions for interleaving and de-interleaving data.

2003-01-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * Win32/config.h
    Added Win32 specific #pragma to disable warnings when double precision
    constants are assigned to floats.

    * tests/calc_snr.c
    Added #include <string.h> to prevent compiler warning about use of memset()
    function.

2003-01-13  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.[ch]
    Added function src_set_ratio() at the suggestion of Dr William Bland.

    * doc/api_full.html
    Added docs for above function.

2003-01-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/Makefile.am tests/Makefile.am
    Fixes for Mac OSX.
    Tidy up handling addition of SNDFILE_CFLAGS

2003-01-08  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * Win32/config.h
    Disabled HAVE_STDINT_H for Win32.

    * Win32/unistd.h
    Added empty header file for Win32.

    * src/audio_out.c
    Final fixes to get audio out working on Win32.

2003-01-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_sinc.c
    Phase one or refactoring. Replace use of a circular buffer to hold short
    window of data with a linear buffer.
    Linear buffer requires that data is periodically copied from the end if
    the buffer back to the beginning. However, it also means that the
    calc_output() function no longer needs to calculate the next data index
    modulo the buffer length.
    Since the data index is calculated 40 times (minimum) per output sample,
    and the copy from end of buffer to start of buffer is done every 1000 or
    so output samples, this change results in a significant speedup (up to
    about 50% improvement for SRC_SINC_FASTEST).
    Memory use has increased somewhat (max 6k per channel per converter) due
    to this fix, but that should go down again during next phase of
    refactoring.

    * examples/varispeed-play.c
    Fixed a bug where data_in and data_out buffers were overlapping.

2003-01-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/win32.html
    Completed documentation on compiling for Win32.

    * doc/*.html
    Added links to Win32 compiling information.

    * configure.ac tests/Makefile.am
    Detect libefence and link it to all the test programs if configued
    with --enable-debug.

    * tests/utils.[ch]
    New function force_efence_banner().

    * tests/*test.c
    Add a call to force_efence_banner() to force printing of the Electric Fence
    banner at start of program.

2003-01-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac
    Added --enable-debug configuration flag.

    * tests/termination_test.c
    More modifications to catch corner cases.
    Added extra test to check for negative return values for input_frames_used
    and output_frames_gen fields of SRC_DATA.

    * src/src_zoh.c src/src_linear.c
    Fixed more bugs found using modified streaming_test.

    * src/samplerate.c
    Set input_frames and output_frames of SRC_DATA to zero if they are negative.
    Add check for overlapping SRC_DATA data_in and data_out arrays.

    * doc/api_full.html
    Document the fact that the SRC_DATA->data_in and data_out arrays may not
    overlap. Thanks to Paul Davis for pointing out this documentation oversight.

2002-12-24  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/termination_test.c tests/streaming_test.c
    Merged these two test programs into termination_test.c.

    * tests/Makefile.am
    Modified for above change.

    * src/src_zoh.c src/src_linear.c
    Fixed bug found using modified streaming_test.

2002-12-21  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.c src/src_*.c
    Changed the way multichannel accounting was done.

2002-12-20  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/snr_bw_test.c
    Rearranged order of tests.

2002-12-17  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * doc/lists.html
    Added "subscribe" HREF.

2002-12-15  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/src_zoh.c src/src_linear.c
    Fixed a bug which was causing an incorrent number of output samples to be
    generated for a given conversion ratio and number of input samples.

    * tests/streaming_test.c tests/termination_test.c
    Modified pick up the above problem if it returns.

2002-12-14  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * tests/streaming_test.c
    Modified to mix long and short input buffers. This will help testing of
    smooth switching between standard sinc_process() and long_sinc_process().

2002-12-11  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/audio_out.c
    More hacking to get this working on Win32.

    * tests/src-evaluate.c
    More work.

2002-12-05  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/samplerate.[ch] src/Version_script.in Win32/libsamplerate.def
    Added function src_get_version() to return a version string.

    * examples/sndfile-resample.c
    Add "--version" option to print out a version string.

    * tests/src-evaluate.c
    New file. This program will be used to evaluate other sample rate
    converters for comparison to the rabbit.

    * tests/calc_snr.[ch] tests/snr_bw_test.c
    Minor changes required by src-evaluate program.

2002-12-04  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * Win32/config.h
    New file for Win32. When building for Win32, this file gets copied into the
    src/ directory.

    * Make.bat
    First attempt to see if this works.

    * src/*.[ch]
    Changed name of SRC_PRIVATE filed errno to error because the brain damaged
    Win32 compiler was barfing.

2002-12-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * examples/audio_out.c
    Now working on MacOSX.

    * examples/varispeed-play.c
    Add ability to choose converter.

2002-12-03  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * configure.ac
    Fixes for MacOSX.

    * examples/new-varispeed-play.c examples/varispeed-play.c
    The first file replaces the later.

2002-12-02  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/float_cast.h
    New file for lrint() and lrintf().

    * src/common.h src/src_*.c
    Add workaround for systems without <stdint.h>.
    Add #include "float_cast.h" to pick up replacement lrint() and lrintf()
    functions.

    * examples/audio_out.c
    Fixes for the case where libsndfile is not found.

    * new-varispeed-play.c
    Fixes for Solaris. Now works.

2002-11-29  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * src/high_qual_coeffs.h
    Conrad Parker found a file which produced clicking when run thru the
    SRC_SINC_BEST_QUALITY filter. Recalculated the filter with slightly less
    stringent design parameters and fixed the problem. The band with of the
    new filter is 96.6% while the old one was a little ober 97%.

2002-11-28  Erik de Castro Lopo  <erikd AT mega-nerd DOT com>

    * All files.
    libsamplerate is working. There have been a couple of private releases
    for people to test but no public release.