From e8182f4d33a93374e586127e88c3d18fd9c13ffc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 23 Nov 2007 08:48:50 +0000 Subject: gst/speexresample/: Add functions to push the remaining samples and to get the latency of the resampler. These will g... Original commit message from CVS: * gst/speexresample/resample.c: (speex_resampler_get_latency), (speex_resampler_drain_float), (speex_resampler_drain_int), (speex_resampler_drain_interleaved_float), (speex_resampler_drain_interleaved_int): * gst/speexresample/speex_resampler.h: * gst/speexresample/speex_resampler_wrapper.h: Add functions to push the remaining samples and to get the latency of the resampler. These will get added to Speex SVN in this or a slightly changed form at some point too and should get merged then again. * gst/speexresample/gstspeexresample.c: (gst_speex_resample_init), (gst_speex_resample_init_state), (gst_speex_resample_transform_size), (gst_speex_resample_push_drain), (gst_speex_resample_event), (gst_speex_fix_output_buffer), (gst_speex_resample_process), (gst_speex_resample_query), (gst_speex_resample_query_type): Drop the prepending zeroes and output the remaining samples on EOS. Also properly implement the latency query for this. speexresample should be completely ready for production use now. --- gst/speexresample/speex_resampler_wrapper.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'gst/speexresample/speex_resampler_wrapper.h') diff --git a/gst/speexresample/speex_resampler_wrapper.h b/gst/speexresample/speex_resampler_wrapper.h index 25f5576d..bfd0b0a8 100644 --- a/gst/speexresample/speex_resampler_wrapper.h +++ b/gst/speexresample/speex_resampler_wrapper.h @@ -67,6 +67,9 @@ void resample_float_resampler_get_ratio (SpeexResamplerState * st, void resample_int_resampler_get_ratio (SpeexResamplerState * st, guint32 * ratio_num, guint32 * ratio_den); +int resample_float_resampler_get_latency (SpeexResamplerState * st); +int resample_int_resampler_get_latency (SpeexResamplerState * st); + int resample_float_resampler_set_quality (SpeexResamplerState * st, gint quality); int resample_int_resampler_set_quality (SpeexResamplerState * st, gint quality); @@ -74,6 +77,15 @@ int resample_int_resampler_set_quality (SpeexResamplerState * st, gint quality); int resample_float_resampler_reset_mem (SpeexResamplerState * st); int resample_int_resampler_reset_mem (SpeexResamplerState * st); +int +resample_float_resampler_drain_interleaved_float (SpeexResamplerState + * st, gfloat * out, guint32 * out_len); +int resample_int_resampler_drain_interleaved_int (SpeexResamplerState + * st, gint16 * out, guint32 * out_len); + +int resample_float_resampler_skip_zeros (SpeexResamplerState * st); +int resample_int_resampler_skip_zeros (SpeexResamplerState * st); + #define resample_resampler_strerror resample_int_resampler_strerror const char *resample_resampler_strerror (gint err); -- cgit v1.2.1