ref: 0fcc45fde036246ed3215f767cc038ba75838168
dir: /ChangeLog/
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.