ref: f2e382343880152fc5b34d55aa162d1b25ddf1b7
parent: 1442221b7544833dd6b50beb22135a7e17d85ccf
author: Erik de Castro Lopo <erikd@mega-nerd.com>
date: Wed Oct 7 17:51:00 EDT 2009
tests/misc_test.c : Add zero_input_test() from debian bug #506722.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+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.
+
2009-09-16 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* M4/endian.m4
--- a/tests/misc_test.c
+++ b/tests/misc_test.c
@@ -27,6 +27,7 @@
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)
@@ -42,6 +43,11 @@
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 */
@@ -135,3 +141,35 @@
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 */