libsamplerate (0.1.7-3) debian-dir only changes

Summary

 debian/README.source                    |    7 +
 debian/changelog                        |  157 ++++++++++++++++++++++++++++++++
 debian/compat                           |    1 
 debian/control                          |   65 +++++++++++++
 debian/copyright                        |   29 +++++
 debian/libsamplerate0-dev.dirs          |    1 
 debian/libsamplerate0-dev.doc-base      |    9 +
 debian/libsamplerate0-dev.docs          |    2 
 debian/libsamplerate0-dev.examples      |    2 
 debian/libsamplerate0-dev.install       |    5 +
 debian/libsamplerate0.install           |    1 
 debian/patches/api.diff                 |   47 +++++++++
 debian/patches/callback_test.diff       |   25 +++++
 debian/patches/fix_termination_bug.diff |  111 ++++++++++++++++++++++
 debian/patches/fix_zero_input_bug.diff  |  151 ++++++++++++++++++++++++++++++
 debian/patches/series                   |    4 
 debian/rules                            |   80 ++++++++++++++++
 debian/samplerate-programs.dirs         |    1 
 debian/samplerate-programs.install      |    1 
 debian/sndfile-resample.1               |   29 +++++
 debian/watch                            |    3 
 21 files changed, 731 insertions(+)

    
download this patch

Patch contents

--- 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) ;
+ 		} ;
+