--- libsamplerate-0.1.7.orig/debian/libsamplerate0-dev.doc-base
+++ libsamplerate-0.1.7/debian/libsamplerate0-dev.doc-base
@@ -0,0 +1,9 @@
+Document: libsamplerate
+Title: Debian libsamplerate Manual
+Author: Erik de Castro Lopo <erikd@mega-nerd.com>
+Abstract: Programming manual and examples for the libsamplerate library.
+Section: Programming
+
+Format: HTML
+Index: /usr/share/doc/libsamplerate0-dev/html/index.html
+Files: /usr/share/doc/libsamplerate0-dev/html/*.html
--- libsamplerate-0.1.7.orig/debian/README.source
+++ libsamplerate-0.1.7/debian/README.source
@@ -0,0 +1,7 @@
+The Debian version of libsamplerate has a couple of small patches applied which
+have not yet been pushed upstream.
+
+On a Debian system you can read about how to apply the debian patches here:
+
+ /usr/share/doc/quilt/README.source
+
--- libsamplerate-0.1.7.orig/debian/copyright
+++ libsamplerate-0.1.7/debian/copyright
@@ -0,0 +1,29 @@
+This package was debianized by Anand Kumria <anand@unknown> on
+Thr, 5 Dec 2002 23:05:38 +1100.
+
+It was downloaded from http://www.mega-nerd.com/SRC/download.html
+
+Upstream Author: Erik de Castro Lopo <erikd@mega-nerd.com>
+
+Copyright:
+
+ Copyright (C) 2002-2008 Erik de Castro Lopo
+
+License:
+
+ This package is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this package; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
--- libsamplerate-0.1.7.orig/debian/libsamplerate0-dev.install
+++ libsamplerate-0.1.7/debian/libsamplerate0-dev.install
@@ -0,0 +1,5 @@
+usr/include/*
+usr/lib/lib*.a
+usr/lib/lib*.la
+usr/lib/lib*.so
+usr/lib/pkgconfig/*
--- libsamplerate-0.1.7.orig/debian/samplerate-programs.dirs
+++ libsamplerate-0.1.7/debian/samplerate-programs.dirs
@@ -0,0 +1 @@
+usr/bin
--- libsamplerate-0.1.7.orig/debian/changelog
+++ libsamplerate-0.1.7/debian/changelog
@@ -0,0 +1,157 @@
+libsamplerate (0.1.7-3) unstable; urgency=low
+
+ * debian/control :
+ - New maintainer (Closes: #546788).
+ - Add DM-Upload-Allowed yes.
+ - Improved package descriptions.
+ - Standards version to 3.8.3.
+ * debian/patches/ debian/rules debian/control :
+ - Use quilt instead of dpatch.
+ * debian/rules :
+ - Do not install example binary varispeed-play which was always intended as
+ a coding demo rather than something usable.
+ * Add file debian/README.source.
+ * Add manpage for sndfile-resample.
+ * Add a patch to fix termination condition bug (Closes: #539878).
+ * Add patch to prevent crashing when input_frames == 0 (Closes: #506722).
+
+ -- Erik de Castro Lopo <erikd@mega-nerd.com> Wed, 7 Oct 2009 21:46:20 +1100
+
+libsamplerate (0.1.7-2) unstable; urgency=low
+
+ * Added callback_test.dpatch to correct rounding error in callback test,
+ closes: #515658.
+
+ -- Samuel Mimram <smimram@debian.org> Tue, 17 Feb 2009 23:35:15 +0100
+
+libsamplerate (0.1.7-1) unstable; urgency=low
+
+ * New upstream release.
+ * Use Homepage field.
+ * Updated compat to 7.
+ * Updated standards version to 3.8.0.
+
+ -- Samuel Mimram <smimram@debian.org> Mon, 16 Feb 2009 10:25:25 +0100
+
+libsamplerate (0.1.4-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Samuel Mimram <smimram@debian.org> Mon, 14 Jul 2008 13:46:21 +0200
+
+libsamplerate (0.1.3-1) unstable; urgency=low
+
+ * New upstream release.
+ * Updated standards version to 3.7.3, no changes needed.
+
+ -- Samuel Mimram <smimram@debian.org> Sat, 05 Apr 2008 15:28:40 +0200
+
+libsamplerate (0.1.2-5) unstable; urgency=low
+
+ * Using dpatch to handle patches.
+ * Added api.dpatch to correct links in the documentation, closes: #423590.
+
+ -- Samuel Mimram <smimram@debian.org> Tue, 22 May 2007 22:06:50 +0200
+
+libsamplerate (0.1.2-4) unstable; urgency=low
+
+ * Correctly install varispeed-play, closes: #421422.
+
+ -- Samuel Mimram <smimram@debian.org> Sun, 29 Apr 2007 00:17:06 +0200
+
+libsamplerate (0.1.2-3) unstable; urgency=low
+
+ * Adopting the package, closes: #418081.
+ * Rephrased samplerate-programs package description, closes: #345745.
+ * Updated standards version to 3.7.2, no changes needed.
+
+ -- Samuel Mimram <smimram@debian.org> Sat, 07 Apr 2007 01:36:51 +0200
+
+libsamplerate (0.1.2-2) unstable; urgency=low
+
+ * Previous upload was rejected by ftp-master because they felt that
+ having only a single binary in samplerate-programs was not a good
+ idea.
+ * Include all example programs instead.
+
+ -- Anand Kumria <wildfire@progsoc.org> Sat, 26 Nov 2005 09:44:31 +1100
+
+libsamplerate (0.1.2-1) unstable; urgency=low
+
+ * New upstream release (Closes: #333478)
+ * Include sample programs (Closes: #297138)
+ * Install all docs (Closes: #275390)
+
+ -- Anand Kumria <wildfire@progsoc.org> Wed, 26 Oct 2005 14:21:42 +1000
+
+libsamplerate (0.1.1-2) unstable; urgency=low
+
+ * Install documentation (Closes: #262921)
+
+ -- Anand Kumria <wildfire@progsoc.org> Mon, 23 Aug 2004 09:27:09 +1000
+
+libsamplerate (0.1.1-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Anand Kumria <wildfire@progsoc.org> Sat, 31 Jul 2004 18:15:20 +1000
+
+libsamplerate (0.1.0-2) unstable; urgency=low
+
+ * Include upstreams documentation
+
+ -- Anand Kumria <wildfire@progsoc.org> Wed, 17 Mar 2004 01:47:49 +1100
+
+libsamplerate (0.1.0-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Anand Kumria <wildfire@progsoc.org> Tue, 16 Mar 2004 23:29:17 +1100
+
+libsamplerate (0.0.15-2) unstable; urgency=low
+
+ * Depend upon pkg-config (Closes: #197638)
+
+ -- Anand Kumria <wildfire@progsoc.org> Mon, 30 Jun 2003 00:08:30 +1000
+
+libsamplerate (0.0.15-1) unstable; urgency=low
+
+ * New upstream version
+ * Switch to libdevel
+
+ -- Anand Kumria <wildfire@progsoc.org> Sat, 3 May 2003 21:59:33 +1000
+
+libsamplerate (0.0.14-1) unstable; urgency=low
+
+ * New upstream release
+ * Update to policy 3.5.8.0
+
+ -- Anand Kumria <wildfire@progsoc.org> Sun, 23 Mar 2003 12:17:37 +1100
+
+libsamplerate (0.0.13-3) unstable; urgency=low
+
+ * Fix speeling (Closes: #172484)
+ * Improve description
+ * Add dependancy on libsndfile1 and perform 'make check'
+
+ -- Anand Kumria <wildfire@progsoc.org> Wed, 25 Dec 2002 12:58:43 +1100
+
+libsamplerate (0.0.13-2) unstable; urgency=low
+
+ * Provide .la and pkgconfig files
+ * Remove .ex files from debian
+
+ -- Anand Kumria <wildfire@progsoc.org> Sat, 7 Dec 2002 14:16:24 +1100
+
+libsamplerate (0.0.13-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Anand Kumria <wildfire@progsoc.org> Sat, 7 Dec 2002 03:01:21 +1100
+
+libsamplerate (0.0.12-1) unstable; urgency=low
+
+ * Initial Release.
+
+ -- Anand Kumria <wildfire@progsoc.org> Thu, 5 Dec 2002 23:05:38 +1100
+
--- libsamplerate-0.1.7.orig/debian/samplerate-programs.install
+++ libsamplerate-0.1.7/debian/samplerate-programs.install
@@ -0,0 +1 @@
+usr/bin/*
--- libsamplerate-0.1.7.orig/debian/compat
+++ libsamplerate-0.1.7/debian/compat
@@ -0,0 +1 @@
+7
--- libsamplerate-0.1.7.orig/debian/libsamplerate0-dev.examples
+++ libsamplerate-0.1.7/debian/libsamplerate0-dev.examples
@@ -0,0 +1,2 @@
+examples/*.c
+examples/*.h
--- libsamplerate-0.1.7.orig/debian/libsamplerate0.install
+++ libsamplerate-0.1.7/debian/libsamplerate0.install
@@ -0,0 +1 @@
+usr/lib/lib*.so.*
--- libsamplerate-0.1.7.orig/debian/libsamplerate0-dev.docs
+++ libsamplerate-0.1.7/debian/libsamplerate0-dev.docs
@@ -0,0 +1,2 @@
+NEWS
+README
--- libsamplerate-0.1.7.orig/debian/rules
+++ libsamplerate-0.1.7/debian/rules
@@ -0,0 +1,80 @@
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+include /usr/share/quilt/quilt.make
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
+ CFLAGS += -g
+endif
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+ INSTALL_PROGRAM += -s
+endif
+
+config.status: configure
+ dh_testdir
+ ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
+
+
+build: patch build-stamp
+build-stamp: config.status
+ dh_testdir
+
+ $(MAKE)
+ $(MAKE) check
+
+ touch build-stamp
+
+clean: unpatch
+ dh_testdir
+ dh_testroot
+ rm -f build-stamp
+
+ [ ! -f Makefile ] || $(MAKE) distclean
+
+ dh_clean
+
+install: build
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_installdirs
+
+ $(MAKE) install prefix=$(CURDIR)/debian/tmp/usr
+ install -D doc/*.html doc/*.png doc/*.css $(CURDIR)/debian/libsamplerate0-dev/usr/share/doc/libsamplerate0-dev/html/
+
+binary-indep: build install
+
+binary-arch: build install
+ dh_testdir
+ dh_testroot
+ dh_install --sourcedir=debian/tmp --list-missing
+
+ # This line can be removed when the man page get pushed upstream.
+ dh_installman -psamplerate-programs debian/sndfile-resample.1
+
+ dh_installdocs -a
+ dh_installexamples
+ dh_installman
+ dh_installchangelogs ChangeLog
+ dh_link
+ dh_strip
+ dh_compress
+ dh_fixperms
+ dh_makeshlibs
+ dh_installdeb
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install patch unpatch
--- libsamplerate-0.1.7.orig/debian/libsamplerate0-dev.dirs
+++ libsamplerate-0.1.7/debian/libsamplerate0-dev.dirs
@@ -0,0 +1 @@
+usr/share/doc/libsamplerate0-dev/html
--- libsamplerate-0.1.7.orig/debian/watch
+++ libsamplerate-0.1.7/debian/watch
@@ -0,0 +1,3 @@
+version=3
+
+http://www.mega-nerd.com/SRC/download.html libsamplerate-(.*)\.tar\.gz
--- libsamplerate-0.1.7.orig/debian/control
+++ libsamplerate-0.1.7/debian/control
@@ -0,0 +1,65 @@
+Source: libsamplerate
+Section: sound
+Priority: optional
+Maintainer: Erik de Castro Lopo <erikd@mega-nerd.com>
+DM-Upload-Allowed: yes
+Build-Depends: debhelper (>> 7.0.0), fftw3-dev, libsndfile1-dev, quilt
+Standards-Version: 3.8.3
+Homepage: http://www.mega-nerd.com/SRC/
+
+Package: libsamplerate0
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}
+Description: Audio sample rate conversion library
+ libsamplerate (aka Secret Rabbit Code) is a library for audio rate conversion.
+ .
+ libsamplerate currently provides three different sample rate conversion
+ algorithms; zero order hold, linear interpolation and FIR filter interpolation
+ (using filters derived from the mathematical SINC function). The first two
+ algorithms (zero order hold and linear) are included for completeness and are
+ not recommended for any application where high quality sample rate conversion
+ is required. For the FIR/Sinc algorithm, three converters are provided;
+ SRC_SINC_FASTEST, SRC_SINC_MEDIUM_QUALITY and SRC_SINC_BEST_QUALITY to allow a
+ trade off between conversion speed and conversion quality.
+ .
+ libsamplerate is capable of downsampling to 1/256 of the original sample rate
+ and upsampling to 256 times the original sample rate. It is also capable of
+ time varying conversions for vary speed effects and synchronising of two
+ unlocked sample rates.
+
+Package: libsamplerate0-dev
+Provides: libsamplerate-dev
+Conflicts: libsamplerate-dev
+Section: libdevel
+Architecture: any
+Depends: libsamplerate0 (= ${binary:Version}), pkg-config
+Description: Development files for audio sample rate conversion
+ libsamplerate (aka Secret Rabbit Code) is a library for audio rate conversion.
+ .
+ libsamplerate currently provides three different sample rate conversion
+ algorithms; zero order hold, linear interpolation and FIR filter interpolation
+ (using filters derived from the mathematical SINC function). The first two
+ algorithms (zero order hold and linear) are included for completeness and are
+ not recommended for any application where high quality sample rate conversion
+ is required. For the FIR/Sinc algorithm, three converters are provided;
+ SRC_SINC_FASTEST, SRC_SINC_MEDIUM_QUALITY and SRC_SINC_BEST_QUALITY to allow a
+ trade off between conversion speed and conversion quality.
+ .
+ libsamplerate is capable of downsampling to 1/256 of the original sample rate
+ and upsampling to 256 times the original sample rate. It is also capable of
+ time varying conversions for vary speed effects and synchronising of two
+ unlocked sample rates.
+ .
+ This package contains the library header files and API documentation.
+
+Package: samplerate-programs
+Section: utils
+Architecture: any
+Depends: ${shlibs:Depends}
+Description: Sample programs that use libsamplerate
+ This package contains simple example programs for resampling sound files with
+ the libsamplerate library.
+ .
+ Currently, the only binary included is sndfile-resample which uses libsndfile
+ to read and write audio files and libsamplerate to do the rate conversion.
--- libsamplerate-0.1.7.orig/debian/sndfile-resample.1
+++ libsamplerate-0.1.7/debian/sndfile-resample.1
@@ -0,0 +1,29 @@
+.TH SNDFILE-RESAMPLE 1 "October 7, 2009"
+.SH NAME
+sndfile-resample \- convert an audio file from one sample rate to another
+.SH SYNOPSIS
+.B sndfile-resample
+.RI "-to <new sample rate> [\-c <number>] <input file> <output file>"
+.br
+.B sndfile-resample
+.RI "-by <amount> [\-c <number>] <input file> <output file>"
+.SH DESCRIPTION
+sndfile-resample converts an audio file at one sample rate to a new usually
+different sample rate. It uses libsndfile (http://www.mega-nerd.com/libsndfile/)
+to read the input file and write the output file and uses libsamplerate
+(http://www.mega-nerd.com/SRC/) to do the resampling. It works on any file
+format supported by libsndfile with any number of channels (limited only by host
+memory).
+
+The optional \-c argument allows the converter type to be chosen from
+the following list :
+
+ 0 : Best Sinc Interpolator
+ 1 : Medium Sinc Interpolator (default)
+ 2 : Fastest Sinc Interpolator
+ 3 : ZOH Interpolator
+ 4 : Linear Interpolator
+
+.SH AUTHOR
+This manual page was written by Erik de Castro Lopo <erikd@mega-nerd.com>.
+
--- libsamplerate-0.1.7.orig/debian/patches/fix_zero_input_bug.diff
+++ libsamplerate-0.1.7/debian/patches/fix_zero_input_bug.diff
@@ -0,0 +1,151 @@
+From: Erik de Castro Lopo <erikd@mega-nerd.com>
+Date: Wed, 7 Oct 2009 21:19:34 +1100
+Subject: src_simple() causes a crash with certain inputs
+Origin: upstream
+Bug-Debian: http://bugs.debian.org/506722
+
+Index: libsamplerate-0.1.7/src/src_linear.c
+===================================================================
+--- libsamplerate-0.1.7.orig/src/src_linear.c
++++ libsamplerate-0.1.7/src/src_linear.c
+@@ -51,20 +51,23 @@ typedef struct
+
+ /*----------------------------------------------------------------------------------------
+ */
+
+ static int
+ linear_vari_process (SRC_PRIVATE *psrc, SRC_DATA *data)
+ { LINEAR_DATA *priv ;
+ double src_ratio, input_index, rem ;
+ int ch ;
+
++ if (data->input_frames <= 0)
++ return SRC_ERR_NO_ERROR ;
++
+ if (psrc->private_data == NULL)
+ return SRC_ERR_NO_PRIVATE ;
+
+ priv = (LINEAR_DATA*) psrc->private_data ;
+
+ if (priv->reset)
+ { /* If we have just been reset, set the last_value data. */
+ for (ch = 0 ; ch < priv->channels ; ch++)
+ priv->last_value [ch] = data->data_in [ch] ;
+ priv->reset = 0 ;
+Index: libsamplerate-0.1.7/src/src_zoh.c
+===================================================================
+--- libsamplerate-0.1.7.orig/src/src_zoh.c
++++ libsamplerate-0.1.7/src/src_zoh.c
+@@ -49,20 +49,23 @@ typedef struct
+
+ /*----------------------------------------------------------------------------------------
+ */
+
+ static int
+ zoh_vari_process (SRC_PRIVATE *psrc, SRC_DATA *data)
+ { ZOH_DATA *priv ;
+ double src_ratio, input_index, rem ;
+ int ch ;
+
++ if (data->input_frames <= 0)
++ return SRC_ERR_NO_ERROR ;
++
+ if (psrc->private_data == NULL)
+ return SRC_ERR_NO_PRIVATE ;
+
+ priv = (ZOH_DATA*) psrc->private_data ;
+
+ if (priv->reset)
+ { /* If we have just been reset, set the last_value data. */
+ for (ch = 0 ; ch < priv->channels ; ch++)
+ priv->last_value [ch] = data->data_in [ch] ;
+ priv->reset = 0 ;
+Index: libsamplerate-0.1.7/tests/misc_test.c
+===================================================================
+--- libsamplerate-0.1.7.orig/tests/misc_test.c
++++ libsamplerate-0.1.7/tests/misc_test.c
+@@ -20,35 +20,41 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+ #include <samplerate.h>
+
+ #include "util.h"
+
+ static void name_test (void) ;
+ static void error_test (void) ;
+ static void src_ratio_test (void) ;
++static void zero_input_test (int converter) ;
+
+ int
+ main (void)
+ {
+ puts ("") ;
+
+ printf (" version : %s\n\n", src_get_version ()) ;
+
+ /* Current max converter is SRC_LINEAR. */
+ name_test () ;
+
+ error_test () ;
+
+ src_ratio_test () ;
+
++ zero_input_test (SRC_ZERO_ORDER_HOLD) ;
++ zero_input_test (SRC_LINEAR) ;
++ zero_input_test (SRC_SINC_FASTEST) ;
++
++ puts ("") ;
+ return 0 ;
+ } /* main */
+
+ static void
+ name_test (void)
+ { const char *name ;
+ int k = 0 ;
+
+ puts (" name_test :") ;
+
+@@ -128,10 +134,42 @@ error_test (void)
+
+ if (errors != 0)
+ { printf ("\n\nLine %d : Missing error numbers above.\n\n", __LINE__) ;
+ exit (1) ;
+ } ;
+
+ puts ("") ;
+
+ return ;
+ } /* error_test */
++
++static void
++zero_input_test (int converter)
++{ SRC_DATA data ;
++ SRC_STATE *state ;
++ float out [100] ;
++ int error ;
++
++ printf (" %s (%-26s) ........ ", __func__, src_get_name (converter)) ;
++ fflush (stdout) ;
++
++ if ((state = src_new (converter, 1, &error)) == NULL)
++ { printf ("\n\nLine %d : src_new failed : %s.\n\n", __LINE__, src_strerror (error)) ;
++ exit (1) ;
++ } ;
++
++ data.data_in = (float *) 0xdeadbeef ;
++ data.input_frames = 0 ;
++ data.data_out = out ;
++ data.output_frames = ARRAY_LEN (out) ;
++ data.end_of_input = 0 ;
++ data.src_ratio = 1.0 ;
++
++ if ((error = src_process (state, &data)))
++ { printf ("\n\nLine %d : src_new failed : %s.\n\n", __LINE__, src_strerror (error)) ;
++ exit (1) ;
++ } ;
++
++ state = src_delete (state) ;
++
++ puts ("ok") ;
++} /* zero_input_test */
--- libsamplerate-0.1.7.orig/debian/patches/fix_termination_bug.diff
+++ libsamplerate-0.1.7/debian/patches/fix_termination_bug.diff
@@ -0,0 +1,111 @@
+From: Erik de Castro Lopo <erikd@mega-nerd.com>
+Date: Wed, 7 Oct 2009 20:37:12 +1100
+Subject: src_simple() causes a crash with certain inputs
+Origin: upstream
+Bug-Debian: http://bugs.debian.org/539878
+
+Index: libsamplerate-0.1.7/src/src_sinc.c
+===================================================================
+--- libsamplerate-0.1.7.orig/src/src_sinc.c
++++ libsamplerate-0.1.7/src/src_sinc.c
+@@ -1187,18 +1187,21 @@ prepare_data (SINC_FILTER *filter, SRC_D
+ memmove (filter->buffer, filter->buffer + filter->b_current - half_filter_chan_len,
+ (half_filter_chan_len + len) * sizeof (filter->buffer [0])) ;
+
+ filter->b_current = half_filter_chan_len ;
+ filter->b_end = filter->b_current + len ;
+ } ;
+
+ filter->b_real_end = filter->b_end ;
+ len = half_filter_chan_len + 5 ;
+
++ if (len < 0 || filter->b_end + len > filter->b_len)
++ len = filter->b_len - filter->b_end ;
++
+ memset (filter->buffer + filter->b_end, 0, len * sizeof (filter->buffer [0])) ;
+ filter->b_end += len ;
+ } ;
+
+ return 0 ;
+ } /* prepare_data */
+
+
+Index: libsamplerate-0.1.7/tests/termination_test.c
+===================================================================
+--- libsamplerate-0.1.7.orig/tests/termination_test.c
++++ libsamplerate-0.1.7/tests/termination_test.c
+@@ -20,20 +20,21 @@
+ #include <stdlib.h>
+ #include <math.h>
+
+ #include <samplerate.h>
+
+ #include "util.h"
+
+ #define SHORT_BUFFER_LEN 2048
+ #define LONG_BUFFER_LEN ((1 << 16) - 20)
+
++static void simple_test (int converter) ;
+ static void stream_test (int converter, double ratio) ;
+ static void init_term_test (int converter, double ratio) ;
+
+ static int next_block_length (int reset) ;
+
+ int
+ main (void)
+ { static double src_ratios [] =
+ { 0.999900, 1.000100, 0.789012, 1.200000, 0.333333, 3.100000,
+ 0.125000, 8.000000, 0.099900, 9.990000, 0.100000, 10.00000
+@@ -60,24 +61,52 @@ main (void)
+
+ puts ("\n Sinc interpolator:") ;
+ for (k = 0 ; k < ARRAY_LEN (src_ratios) ; k++)
+ init_term_test (SRC_SINC_FASTEST, src_ratios [k]) ;
+ puts ("") ;
+ for (k = 0 ; k < ARRAY_LEN (src_ratios) ; k++)
+ stream_test (SRC_SINC_FASTEST, src_ratios [k]) ;
+
+ puts ("") ;
+
++ simple_test (SRC_SINC_FASTEST) ;
++
+ return 0 ;
+ } /* main */
+
+ static void
++simple_test (int converter)
++{
++ int ilen = 199030, olen = 1000, error ;
++
++ {
++ float in [ilen] ;
++ float out [olen] ;
++ double ratio = (1.0 * olen) / ilen ;
++ SRC_DATA src_data =
++ { in, out,
++ ilen, olen,
++ 0, 0, 0,
++ ratio
++ } ;
++
++ error = src_simple (&src_data, converter, 1) ;
++ if (error)
++ { printf ("\n\nLine %d : %s\n\n", __LINE__, src_strerror (error)) ;
++ exit (1) ;
++ } ;
++ } ;
++
++ return ;
++} /* simple_test */
++
++static void
+ init_term_test (int converter, double src_ratio)
+ { static float input [SHORT_BUFFER_LEN], output [SHORT_BUFFER_LEN] ;
+
+ SRC_DATA src_data ;
+
+ int k, input_len, output_len, error, terminate ;
+
+ printf ("\tinit_term_test (SRC ratio = %7.4f) .......... ", src_ratio) ;
+ fflush (stdout) ;
+
--- libsamplerate-0.1.7.orig/debian/patches/api.diff
+++ libsamplerate-0.1.7/debian/patches/api.diff
@@ -0,0 +1,47 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## api.dpatch by Samuel Mimram <smimram@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Correct links in the documentation, see #423590.
+
+@DPATCH@
+diff -urNad libsamplerate-0.1.2~/doc/api.html libsamplerate-0.1.2/doc/api.html
+--- libsamplerate-0.1.2~/doc/api.html 2004-09-12 23:11:14.000000000 +0200
++++ libsamplerate-0.1.2/doc/api.html 2007-05-22 22:01:21.000000000 +0200
+@@ -74,13 +74,13 @@
+ The API allows three methods for accessing the capabilies of the library:
+ </P>
+ <UL>
+- <LI>A <A HREF="api_simple.html">simple interface</A> which can sample rate convert
++ <LI>A <A HREF="http://www.mega-nerd.com/SRC/api_simple.html">simple interface</A> which can sample rate convert
+ a single block of samples (one or more channels) in one go.
+ The simple API is less capable than the full API.
+- <LI>A <A HREF="api_full.html">more fully featured interface</A> which allows time
++ <LI>A <A HREF="http://www.mega-nerd.com/SRC/api_full.html">more fully featured interface</A> which allows time
+ varying sample rate conversion on streaming data (again one or more
+ channels).
+- <LI>A <A HREF="api_callback.html">callback interface</A> which has the same
++ <LI>A <A HREF="http://www.mega-nerd.com/SRC/api_callback.html">callback interface</A> which has the same
+ functionality as the interface above but allows the details of input and
+ output to be separated.
+ The output is generated by call a read function and the library calls a user
+@@ -92,15 +92,15 @@
+ The parts of the API which are common to both are:
+ </P>
+ <UL>
+- <LI> The <A HREF="api_misc.html#ErrorReporting">error reporting</A> mechanisim.
+- <LI> The available <A HREF="api_misc.html#Converters">converter</A> types.
+- <LI> The <A HREF="api_misc.html#SRC_DATA">SRC_DATA</A> struct.
++ <LI> The <A HREF="http://www.mega-nerd.com/SRC/api_misc.html#ErrorReporting">error reporting</A> mechanisim.
++ <LI> The available <A HREF="http://www.mega-nerd.com/SRC/api_misc.html#Converters">converter</A> types.
++ <LI> The <A HREF="http://www.mega-nerd.com/SRC/api_misc.html#SRC_DATA">SRC_DATA</A> struct.
+ </UL>
+ <P>
+ All three versions of the API are restricted to operating on buffers of ISO C
+ Standard <B>float</B> data.
+ However, there are two
+- <A HREF="api_misc.html#Aux">auxillary functions</A>
++ <A HREF="http://www.mega-nerd.com/SRC/api_misc.html#Aux">auxillary functions</A>
+ for converting arrays of float data to and from short data.
+ </P>
+
--- libsamplerate-0.1.7.orig/debian/patches/series
+++ libsamplerate-0.1.7/debian/patches/series
@@ -0,0 +1,4 @@
+api.diff
+callback_test.diff
+fix_termination_bug.diff
+fix_zero_input_bug.diff
--- libsamplerate-0.1.7.orig/debian/patches/callback_test.diff
+++ libsamplerate-0.1.7/debian/patches/callback_test.diff
@@ -0,0 +1,25 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## callback_test.dpatch by Samuel Mimram <smimram@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fix floating point errors in callback test.
+
+@DPATCH@
+diff -urNad libsamplerate-0.1.7~/tests/callback_test.c libsamplerate-0.1.7/tests/callback_test.c
+--- libsamplerate-0.1.7~/tests/callback_test.c 2008-07-10 01:52:31.000000000 +0200
++++ libsamplerate-0.1.7/tests/callback_test.c 2009-02-17 23:33:56.000000000 +0100
+@@ -137,11 +137,11 @@
+
+ src_state = src_delete (src_state) ;
+
+- if (fabs (read_total - src_ratio * ARRAY_LEN (test_callback_data.data)) > src_ratio)
++ if (fabs (read_total / src_ratio - ARRAY_LEN (test_callback_data.data)) > 2.0)
+ { printf ("\n\nLine %d : input / output length mismatch.\n\n", __LINE__) ;
+ printf (" input len : %d\n", ARRAY_LEN (test_callback_data.data)) ;
+- printf (" output len : %ld (should be %g +/- %g)\n\n", read_total,
+- floor (0.5 + src_ratio * ARRAY_LEN (test_callback_data.data)), ceil (src_ratio)) ;
++ printf (" output len : %ld (should be %g +/- 2)\n\n", read_total,
++ floor (0.5 + src_ratio * ARRAY_LEN (test_callback_data.data))) ;
+ exit (1) ;
+ } ;
+