1 2013-03-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
4 Fix a read beyond end of coefficent array problem uncovered by gcc-4.8's
5 -fsanitize=address feature and reported by Cristian RodrÃguez.
7 Since this is reading filter coefficients from rodata memory and no write
8 is possible, is is not exploitable from a security point of view.
10 Solution was to reduce the half_coeff_len value for each filter by one.
12 2013-01-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
14 * src/samplerate.h src/common.h
15 Make SRC_DATA const correct. Thanks to Nikos Chantziaras for the suggestion.
17 2012-10-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
19 * examples/sndfile-resample.c
20 Add a --no-normalize cmd line option. Thanks to Adriano Moura for the
23 2012-09-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
25 * tests/varispeed_test.c
28 2012-08-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
30 * src/common.h src/samplerate.c
31 Add SRC_ERR_BAD_INTERNAL_STATE error number and string.
32 Move function is_bad_src_ratio() to common.h.
34 * src/src_linear.c src/src_sinc.c src/src_zoh.c
35 Validate internally stashed src_ratio value.
37 2012-08-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
39 * tests/multi_channel_test.c tests/snr_bw_test.c tests/varispeed_test.c
40 Use fftw_cleanup() to remove all memory leaks reported by valgrind.
43 Specify GPLv2 or GPLv3.
45 2012-08-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
48 Cleanup calculation of float_increment.
50 2012-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
53 Fix error message for error SRC_ERR_BAD_DATA_PTR. Thanks for oneman in
56 * examples/audio_out.c
57 Minor tweaks to Windows and OSX code.
59 2011-11-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
62 Removed unused typedef struct SRC_CB_DATA.
64 * examples/varispeed-play.c
65 Rewrite to use the callback version of the API. This new version is far
66 simpler and far easier to understand.
68 2011-11-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
70 * configure.ac examples/Makefile.am
71 Detect ALSA and use it in varispeed-play.
73 * examples/audio_out.[ch]
74 On Linux used ALSA instead of OSS when available.
76 * src/samplerate.c src/src_linear.c src/src_zoh.c \
77 examples/sndfile-resample.c examples/timewarp-file.c
78 Fix warnings from the Goanna static analysis tool.
80 2011-08-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
83 Add symbol support for kfreebsd-*-gnu-*.
85 * configure.ac doc/Makefile.am
86 Improve installation of html docs.
88 * examples/audio_out.c tests/callback_hang_test.c
89 Fix compiler warnings.
91 * NEWS README Win32/config.h doc/*.html
92 Updates for 0.1.8 release.
97 2011-02-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
100 Rename function print_cpu_name() to get_cpu_name(). Add code for Mac OSX and
103 * tests/multichan_throughput_test.c tests/throughput_test.c
104 Update to use get_cpu_name().
106 2010-11-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
109 Fix typo in comments.
111 2010-10-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
113 * src/fastest_coeffs.h src/high_qual_coeffs.h src/mid_qual_coeffs.h
114 Fix typo in comments.
122 2010-09-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
125 Add lrint/lrintf version for Win64. Thanks to Dmitry Baikov.
127 2010-01-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
129 * examples/sndfile-resample.c
130 Prevent creation of double length output files when conversion is restarted
131 due to clipping of the output when the format is FLAC. This problem arises
132 due to libsndfile's in ability to seek in a FLAC file during write.
134 * src/samplerate.h tests/termination_test.c
135 Revert change that moved the src_ratio field to the start of SRC_DATA
136 struct. This change does have some merit, but is not worth it considering
137 that its an API change. This idea will be reconsidered when the API does
140 2009-12-01 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
145 * Win32/Makefile.msvc
146 Add /Zm200 to CFLAGS.
148 2009-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
151 Add macro UNUSED for marking function parameters as unused.
153 2009-10-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
156 Add zero_input_test() from debian bug #506722.
158 * src/src_linear.c src/src_zoh.c
159 Fix for bug in zero_input_test(). Both these converters crashed if the
160 input_frames field of SRC_DATA was zero.
162 2009-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
165 Fix detection of CPU endian-ness when cross compiling.
167 2009-08-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
169 * tests/termination_test.c
170 Add test to detect a particular kind of termination error.
173 Fix a termination condition bug.
175 2009-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
178 Change definition of SRC_STATE to be kinder to some slightly broken
179 compilers. Thanks to Rob Brown for suggesting this fix.
181 2009-04-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
183 * M4/check_signal.m4 M4/clip_mode.m4 M4/lrint.m4 M4/lrintf.m4
184 New files used instead of acinclude.m4.
186 2009-04-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
189 Move src_ratio field to the start of the SRC_DATA struct to ensure it gets
190 aligned correctly when either the library or client code gets compiled with
194 Bump version to 1.0.0 due to API change.
196 2009-02-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
198 * Win32/Makefile.msvc
199 Add /Zm1000 to the CFLAGS as suggested by Kun Niu.
201 * doc/api_full.html doc/api_callback.html
202 Improve explanation of use of src_set_ratio() function.
204 2009-02-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
206 * src/common.h src/samplerate.c
207 Add new error value SRC_ERR_SINC_PREPARE_DATA_BAD_LEN.
210 Add WARN_UNUSED macro.
213 Fix a segfault which occurs when memcpy is passed a bad length parameter.
214 This bug has zero security implications beyond the ability to cause a
215 program hitting this bug to exit immediately with a segfault.
216 See : http://www.mega-nerd.com/erikd/Blog/2009/Feb/14/index.html
217 Thanks to David Cournapeau and Lev Givon for the bug report.
219 * doc/win32.html Makefile.am configure.ac
220 Reinstate Win32/MSVC compile instructions.
223 Update for new release.
228 2009-02-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
230 * src/common.h src/samplerate.c
231 Fix SRC_ERR_BAD_SRC_RATIO error string. Thanks David Cournapeau.
233 2009-01-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
236 Replace C99 "variable length arrays" with arrays allocated on the heap so
237 that libsamplerate can be compiled with crappy compilers like MSVC.
239 2009-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
241 * configure.ac NEWS README doc/*.html
242 Updates for 0.1.6 release.
244 2009-01-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
246 * tests/termination_test.c
247 Fix termination test error on x86_64. Error probably due to difference in
250 2009-01-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
253 Update win32 compile instructions to explain that this release cannot be
254 compiled using the microsoft compiler.
256 * NEWS README doc/*.html
257 Updates for 0.1.5 release.
259 * Makefile.am configure.ac
260 Remove Win32 directory from distributed tarball.
262 2008-12-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
264 * tests/multi_channel_test.c tests/multichan_throughput_test.c
265 Update tests to make sure tests include tests for 10 channels.
268 Make 6 channel Sinc conversion another special case.
269 Use Duff's Device to speed up the multi-channel case.
271 * tests/multi_channel_test.c
272 Only test 1, 2 and 3 channels for ZOH and linear converters.
274 2008-12-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
277 Move variable definition out one scope level to avoid warnings from static
278 analysis tools. Thanks Erik Hovland.
281 Make sure FILE* is closed. Thanks Erik Hovland.
283 * tests/multi_channel_test.c tests/multichan_throughput_test.c
284 Update tests to make sure tests include tests for 6 channels with the Sinc
287 2008-12-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
289 * tests/multichan_throughput_test.c
290 Do throughput test on all three SINC based converters.
293 Rejig converter so filter coefficients are calculated once per frame and
294 special case channel counts of 1, 2 and 4.
296 2008-12-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
298 * src/samplerate.c examples/audio_out.c tests/*.c
299 Fix a couple of very minor warnings uncovered by Erik Hovland using a
300 static analysis tool.
303 Fix a potential memory leak. Thanks to Peter G. Vavaroutsos for point this
306 * tests/multi_channel_test.c
309 2008-12-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
311 * reconfigure.mk autogen.sh
312 Remove the first, add the second.
317 * tests/multichan_throughput_test.c tests/Makefile.am
318 Add new test and hook into build.
320 2008-11-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
323 Update best converter specs.
325 2008-10-22 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
327 * examples/audio_out.c
328 Fix gcc-4.3 compiler warning.
330 2008-10-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
333 Add Q/A about accuracy of src_ratio field of SRC_DATA struct.
335 2008-10-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
338 Fix minor typo. Thanks to Sean Wood.
340 2008-09-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
343 Optimization. About a 5% improvement in throughput.
345 2008-09-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
348 Add function print_cpu_name.
350 * tests/throughput_test.c
351 Add ability to do best-of N runs, print CPU type.
353 2008-09-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
358 2008-07-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
361 Fix a valgrind warning which occured when the call back function returns
362 a count of zero without modifying the pointer value. Thanks to Paul Kelly.
364 * tests/callback_test.c
365 Add a callback test where the callback returns a zero count without setting
366 the data pointer. The problem can only be detected when run under valgrind.
368 2008-07-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
371 Remove use of llrint because sizeof (increment_t) is guaranteed not to be 8.
373 * tests/callback_test.c
374 Test with 2 channels for improved generality. Simplify setup.
376 * src/src_linear.c src/src_zoh.c
377 Change local variable names to be the same across these two files for easier
381 Fix a bug where the the converter was reading beyond the end of the input.
382 Thanks to Paul Kelly for the bug report.
384 2008-07-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
386 * tests/downsample_test.c
387 New test file to test for buffer overrun bugs at extreme low conversion
391 Hook above test program into build.
394 Fix buffer overrrun bug at extreme low conversion ratios. Thanks to Russell
395 O'Connor for the report.
397 * configure.ac NEWS README doc/*.html
398 Update for 0.1.4 release.
400 2008-05-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
403 Make use of libsndfile optional. Patch from Samuli Suominen.
405 2008-04-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
407 * Win32/libsamplerate-0.def
408 Add src_int_to_float/float_to_int_array to exports.
410 * examples/sndfile-resample.c
411 Add printing of libsndfile version, modify libsamplerate version.
413 2008-03-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
416 Final documentation tweaks for release.
418 2008-03-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
420 * tests/throughput_test.c
421 Include config.h and float_cast.h." -- tests/throughput_test.c
424 Bunch more Win32 updates.
426 2008-03-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
429 Remove all traces of old SRC_OLD_SINC_* converters.
432 Preliminary Win32 updates.
435 Bump version to 0.1.3.
437 2008-03-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
439 * doc/api_simple.html
440 Try once again to convince people that src_simple cannot be used on small
441 chunks of a larger piece of audio.
443 2008-03-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
445 * tests/snr_bw_test.c
446 Remove bodgy old throughput calculations.
448 2008-03-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
450 * tests/benchmark.c tests/throughput_test.c
451 Rename former to the latter and make significant improvements.
453 2008-03-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
455 * src/old_high_qual_coeffs.h src/old_mid_qual_coeffs.h
456 Copy these from the old versions.
458 * src/high_qual_coeffs.h src/mid_qual_coeffs.h
459 New versions of the coefficients with improved SNR.
461 2008-02-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
463 * Makefile.am configure.ac
464 Add DISTCHECK_CONFIGURE_FLAGS to Makefile.am and a bunch of configure
467 2008-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
469 * examples/audio_out.c
470 Apply patch from Yair K. to fix compiles with OSS v4.
472 2007-07-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
475 Add AC_CHECK_SIGNAL macro.
478 Use AC_CHECK_SIGNAL to check for SIGALRM.
480 * tests/callback_hang_test.c
481 Use HAVE_SIGGALRM and add empty main function if it doesn't exist.
483 2007-06-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
486 Change the way the coefficients are defined for improved safety.
491 2007-05-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
494 Change macros into inline functions for better error checking.
497 Add static inline function fmod_one.
500 Use fmod_one where appropriate.
502 2007-05-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
505 Fix includes for varispeed_test target.
507 2007-04-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
509 * tests/snr_bw_test.c
513 Add link to Foobar 2000 plugin.
515 * configure.ac tests/callback_hang_test.c
516 Test for functions alarm and signal and only compile test if both are
519 2007-01-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
522 Refactor checking of supplied src ratio against min and max.
525 Remove -pendantic from CFLAGS and add -std=gnu99.
527 * tests/callback_hang_test.c tests/Makefile.am
528 Add new test program and hook it into build.
530 * src/src_linear.c src/src_sinc.c src/src_zoh.c
531 Fix a bug where the src_callback_read () function would hang under varying
534 2007-01-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
536 * doc/api.html doc/api_callback.html doc/api_misc.html
537 Update docs to make handling of interleaved data more explicit.
539 2006-07-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
541 * examples/audio_out.c
542 Fix bug arising from last change.
545 Add -Wpointer-arith to CFLAGS.
547 2006-07-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
549 * examples/audio_out.c
550 Be more explicit about setting the audio output format.
552 2006-06-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
554 * src/samplerate.c src/src_linear.c src/src_sinc.c
555 Fix MSVC compiler warnings.
557 2006-05-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
560 Fix minor bug in analysis routines.
562 * tests/varispeed_test.c tests/snr_bw_test.c
563 Fix knock on effects of above change.
565 2006-05-23 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
568 Update check-asm rule to check src_linear.c and src_zoh.c.
571 Remove all uses of floor() function.
573 2006-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
575 * src/samplerate.[ch] src/Version_script.in
576 Add functions src_int_to_float_array and src_float_to_int_array.
578 * tests/float_short_test.c
579 Update test to including testing of above.
582 Update docs for the above addition.
584 2006-03-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
586 * src/common.h src/src_*.c src/samplerate.c
587 Add slots for vari_process and const_process functions.
589 * tests/varispeed_test.c tests/Makefile.am
590 Add new test and hook into build.
593 Add new function reverse_data.
595 2005-12-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
597 * examples/sndfile-resample.c
598 Exit if SRC ratio is 1.0. Suggested by Bram de Jong.
600 2005-11-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
602 * examples/timewarp-file.c
605 2005-09-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
608 Update to include Cygwin specific fixes.
610 * doc/api_callback.html
611 Complete the documentation of the callback API.
613 2005-08-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
615 * tests/termination_test.c
616 Rename term_test() to init_term_test() and add extra test functionality
617 to sanity test the first sample output after reset.
619 * src/src_zoh.c src/src_linear.c
620 Fix bug found by new test. Thanks Stas Sergeev for bringint this to my
623 2005-08-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
626 Fix a bug preventing the inclusion of the html API docs in the tarball.
628 * src/src_zoh.c src/src_linear.c
629 Improve calculation of input_index.
630 Fix updating of input_index (thanks to Stas Sergeev).
633 Fix a compile problem when FFTW is not present (thanks to Stas Sergeev).
635 2005-04-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
637 * configure.ac src/Makefile.am
638 Fix minor problems with generation of shared library version number.
640 2005-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
643 Add a question about the use of src_simple().
645 * src/api_simple.html
646 Fix defintion of src_ratio.
648 2004-12-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
650 * configure.ac tests/Makefile.am tests/*.c
651 Ditch detection and use of libefence. Valgrind is a far better debugging
655 Write complete libsamplerate specific install instructions.
657 2004-10-06 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
659 * src/configure.ac src/makefile.am
660 Finally fix the bulding of DLLs on Win32/MinGW.
663 Fix running of tests on Win32/MinGW.
665 2004-09-30 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
667 * configure.ac Win32/Makefile.mingw.in
668 More support for compiling on Win32 using MinGW. Now uses FFTW3.
670 * examples/audio_out.c
671 Remove include of <mmreg.h> on win32.
673 2004-09-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
675 * configure.ac Win32/Makefile.mingw.in
676 Add preliminary support for compiling on Win32 using MinGW.
679 Bump version to 0.1.2.
680 Add --enable-gcc-werror configure option.
682 * examples/sndfile-resample.c tests/src-evaluate.c
683 Use ISO C standard function remove instead of unlink.
685 * Win32/Makefile.msvc
686 Add the top level directory to the include path (for sndfile.h).
688 2004-09-10 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
690 * tests/util.h tests/*.c
691 Move macros for ABS, MIN, MAX and ARRAY_LEN to util.h.
694 Add test function callback_reset_test() to test for the problem below.
697 Reset SRC_PRIVATE fields saved_data and saved_frames in src_reset(). Thanks
698 to Justin Drury for pointing this out.
700 2004-08-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
703 Fix typos in converter name strings. Thanks to Tom Szilagyi for finding them.
705 2004-07-18 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
708 Bump version to 0.1.1.
710 * doc/*.html Win32/config.h
711 Changes for new version.
713 * Makefile.am src/Makefile.am
714 Add "make check-asm" target which is not used by default.
716 2004-06-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
719 Use fmod() to calculate input_index. This is more resitant to rounding
720 errors than input_index -= floor (input_index).
722 2004-06-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
725 Removed redundant field in SINC_FILTER struct.
727 2004-06-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
729 * examples/sndfile-resample.c
730 Modified to restart conversion if clipping has occurred.
732 2004-06-09 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
735 Added benchmark program.
737 2004-05-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
739 * tests/callback_test.c
740 Improve callback_test to find input/output length mismatches. This also
741 catches the bug Mark Deggeller reported.
743 2004-05-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
746 Fix a bug in src_callback_read() reported by Mark Deggeller. Data retreived
747 but not used during one call to src_callback_read() must be saved for the
751 Add fields saved_frames and saved_data to SF_PRIVATE struct for storing
752 data between sucessive calls to src_callback_read().
753 Also rearange the fields of SF_PRIVATE.
755 2004-03-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
758 Use AC_HELP_STRING in AC_ARG_ENABLE statements.
760 2004-03-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
762 * Win32/config.h Win32/sndfile.h
765 2004-02-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
768 Finally got around to adding text to these.
770 * doc/win32.html doc/history.html
773 2004-01-26 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
776 Changed allowed SRC ratio to range [1/256, 256].
778 * configure.ac tests/snr_bw_test.c tests/src-evaluate.c tests/Makefile.am
779 Use FFTW3 instead of version 2.
781 2003-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
783 * doc/api.html doc/api_misc.html
784 Add documentation for conversions functions.
787 Add Q/A about detecting presence of libsamplerate.
789 2003-12-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
791 * src/samplerate.h src/samplerate.c
792 Added functions for short->float and float->short conversions on arrays
793 of data. This will make it a little easier for people who need the
794 input or output data in shorts rather than floats.
797 Added tests for CPU clipping mode which was required for the float to
800 * tests/float_short_test.c
801 New code for testing the new functionality.
803 2003-10-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
805 * src/src_zoh.c src/src_linear.c
806 Fixed an off-by-one indexing issue which was causing distortion at the
807 boundaries between calls to src_process().
809 * tests/multi_channel_test.c
810 Finally passing tests for all three access methods (simple, process and
813 2003-10-27 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
816 SNR calculation was being screwed up because the peak detector was
817 mistaking side lobes caused by the windowded FFT as noise/aliasing peaks.
818 Therefore added code to wipe out the troughs between peaks which erases
819 the side lobe peaks without affecting the noise/aliasing peaks.
821 * tests/multi_channel_test.c
822 Added a callback_test to work on multiple channels.
824 2003-10-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
827 Add definitions for the callback based API (src_callback_new and
831 Add link to faq.html.
834 Add a new question/answer.
836 * src/samplerate.c tests/callback_test.c
837 Move callback functions (src_callback_new and src_callback_read) from
838 callback_test.c to samplerate.c
839 Add checking to make sure that an SRC_STATE object created with
840 src_callback_new() is not used with src_process() etc.
842 * examples/varispeed.c
843 Add #include <stdlib.h> to prevent compiler warning.
846 Add definitions for the callback based API.
848 * src/Version_script.in
849 Add entries for two new public functions.
851 2003-10-12 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
853 * tests/callback_test.c
854 More work on getting callback based API working.
856 * tests/termination_test.c
857 Tightened up the test pass crieria yet again. This shows up problems
858 with the ZOH and Linear converters.
860 * src/src_zoh.c src/src_linear.c
861 Fixed problems with converters shown up by improved tests.
863 2003-09-25 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
866 Be more explicit about the inclusion of <samplerate.h>.
868 2003-09-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
870 * examples/sndfile-resample.c examples/audio_out.c
871 Add include for <stdlib.h>.
874 Check for libsndfile >= 1.0.6.
876 * examples/sndfile-resample.c
877 Turn on clipping of output when saving to integer PCM output formats.
879 2003-08-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
881 * tests/callback_test.c
882 Start work on a callback based API. The implementation will be done
883 in this test program first and when it is working, the code that does
884 the work will be moved back to the library code.
886 2003-08-19 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
889 New file detailing how to submit bug reports for SRC.
891 2003-08-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
893 * libsamplerate.spec.in
894 Apply corrections from Giuliano Pochini.
896 2003-08-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
898 * tests/snr_bw_test.c
899 Added test for conversion ratio of 1.0 for all converters. For this
900 conversion ratio, all converters have a better than 149db SNR ratio.
903 Changes to make this converter work more like src_zoh.c.
905 2003-05-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
908 Fixed a couple of broken links pointed out by Anand Kumria.
910 2003-05-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
913 Add URL of API documentation to the top of file.
916 Clarify use of SRC_DATA struct.
918 2003-04-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
921 Add call to src_set_ratio() to test that this function has been exported.
923 2003-03-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
926 Changed 'sndfile' to 'samplerate'.
928 2003-02-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
931 Fixed a bug causing clicks in the output data.
933 2003-02-07 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
936 Fixed a compiler warning.
938 * tests/termination_test.c
939 Tightened up the test pass crieria.
942 Fixed bug showed up by new termination tests.
944 2003-02-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
946 * examples/sndfile-resample.c
947 Fixed a bug which was messing up handling of multi-channel files.
949 * tests/multi_channel_test.c
950 Disabled all the new code.
952 2003-02-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
954 * tests/multi_channel_test.c
955 Rehacking multi-channel tests to find possible problems in src_process()
956 when processing multichannel data. Need to use signal to noise ratio
960 Mods to add calc_snr.c and utils.c to build of multi_channel_test.
963 Add functions for interleaving and de-interleaving data.
965 2003-01-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
968 Added Win32 specific #pragma to disable warnings when double precision
969 constants are assigned to floats.
972 Added #include <string.h> to prevent compiler warning about use of memset()
975 2003-01-13 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
977 * src/samplerate.[ch]
978 Added function src_set_ratio() at the suggestion of Dr William Bland.
981 Added docs for above function.
983 2003-01-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
985 * examples/Makefile.am tests/Makefile.am
987 Tidy up handling addition of SNDFILE_CFLAGS
989 2003-01-08 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
992 Disabled HAVE_STDINT_H for Win32.
995 Added empty header file for Win32.
998 Final fixes to get audio out working on Win32.
1000 2003-01-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1003 Phase one or refactoring. Replace use of a circular buffer to hold short
1004 window of data with a linear buffer.
1005 Linear buffer requires that data is periodically copied from the end if
1006 the buffer back to the beginning. However, it also means that the
1007 calc_output() function no longer needs to calculate the next data index
1008 modulo the buffer length.
1009 Since the data index is calculated 40 times (minimum) per output sample,
1010 and the copy from end of buffer to start of buffer is done every 1000 or
1011 so output samples, this change results in a significant speedup (up to
1012 about 50% improvement for SRC_SINC_FASTEST).
1013 Memory use has increased somewhat (max 6k per channel per converter) due
1014 to this fix, but that should go down again during next phase of
1017 * examples/varispeed-play.c
1018 Fixed a bug where data_in and data_out buffers were overlapping.
1020 2003-01-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1023 Completed documentation on compiling for Win32.
1026 Added links to Win32 compiling information.
1028 * configure.ac tests/Makefile.am
1029 Detect libefence and link it to all the test programs if configued
1030 with --enable-debug.
1033 New function force_efence_banner().
1036 Add a call to force_efence_banner() to force printing of the Electric Fence
1037 banner at start of program.
1039 2003-01-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1042 Added --enable-debug configuration flag.
1044 * tests/termination_test.c
1045 More modifications to catch corner cases.
1046 Added extra test to check for negative return values for input_frames_used
1047 and output_frames_gen fields of SRC_DATA.
1049 * src/src_zoh.c src/src_linear.c
1050 Fixed more bugs found using modified streaming_test.
1053 Set input_frames and output_frames of SRC_DATA to zero if they are negative.
1054 Add check for overlapping SRC_DATA data_in and data_out arrays.
1057 Document the fact that the SRC_DATA->data_in and data_out arrays may not
1058 overlap. Thanks to Paul Davis for pointing out this documentation oversight.
1060 2002-12-24 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1062 * tests/termination_test.c tests/streaming_test.c
1063 Merged these two test programs into termination_test.c.
1066 Modified for above change.
1068 * src/src_zoh.c src/src_linear.c
1069 Fixed bug found using modified streaming_test.
1071 2002-12-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1073 * src/samplerate.c src/src_*.c
1074 Changed the way multichannel accounting was done.
1076 2002-12-20 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1078 * tests/snr_bw_test.c
1079 Rearranged order of tests.
1081 2002-12-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1084 Added "subscribe" HREF.
1086 2002-12-15 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1088 * src/src_zoh.c src/src_linear.c
1089 Fixed a bug which was causing an incorrent number of output samples to be
1090 generated for a given conversion ratio and number of input samples.
1092 * tests/streaming_test.c tests/termination_test.c
1093 Modified pick up the above problem if it returns.
1095 2002-12-14 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1097 * tests/streaming_test.c
1098 Modified to mix long and short input buffers. This will help testing of
1099 smooth switching between standard sinc_process() and long_sinc_process().
1101 2002-12-11 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1103 * examples/audio_out.c
1104 More hacking to get this working on Win32.
1106 * tests/src-evaluate.c
1109 2002-12-05 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1111 * src/samplerate.[ch] src/Version_script.in Win32/libsamplerate.def
1112 Added function src_get_version() to return a version string.
1114 * examples/sndfile-resample.c
1115 Add "--version" option to print out a version string.
1117 * tests/src-evaluate.c
1118 New file. This program will be used to evaluate other sample rate
1119 converters for comparison to the rabbit.
1121 * tests/calc_snr.[ch] tests/snr_bw_test.c
1122 Minor changes required by src-evaluate program.
1124 2002-12-04 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1127 New file for Win32. When building for Win32, this file gets copied into the
1131 First attempt to see if this works.
1134 Changed name of SRC_PRIVATE filed errno to error because the brain damaged
1135 Win32 compiler was barfing.
1137 2002-12-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1139 * examples/audio_out.c
1140 Now working on MacOSX.
1142 * examples/varispeed-play.c
1143 Add ability to choose converter.
1145 2002-12-03 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1150 * examples/new-varispeed-play.c examples/varispeed-play.c
1151 The first file replaces the later.
1153 2002-12-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1156 New file for lrint() and lrintf().
1158 * src/common.h src/src_*.c
1159 Add workaround for systems without <stdint.h>.
1160 Add #include "float_cast.h" to pick up replacement lrint() and lrintf()
1163 * examples/audio_out.c
1164 Fixes for the case where libsndfile is not found.
1166 * new-varispeed-play.c
1167 Fixes for Solaris. Now works.
1169 2002-11-29 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1171 * src/high_qual_coeffs.h
1172 Conrad Parker found a file which produced clicking when run thru the
1173 SRC_SINC_BEST_QUALITY filter. Recalculated the filter with slightly less
1174 stringent design parameters and fixed the problem. The band with of the
1175 new filter is 96.6% while the old one was a little ober 97%.
1177 2002-11-28 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
1180 libsamplerate is working. There have been a couple of private releases
1181 for people to test but no public release.