diff options
Diffstat (limited to 'gst/speexresample/speex_resampler.h')
-rw-r--r-- | gst/speexresample/speex_resampler.h | 149 |
1 files changed, 66 insertions, 83 deletions
diff --git a/gst/speexresample/speex_resampler.h b/gst/speexresample/speex_resampler.h index ad832c54..a00c37c8 100644 --- a/gst/speexresample/speex_resampler.h +++ b/gst/speexresample/speex_resampler.h @@ -41,8 +41,6 @@ #ifdef OUTSIDE_SPEEX -#include <glib.h> - /********* WARNING: MENTAL SANITY ENDS HERE *************/ /* If the resampler is defined outside of Speex, we change the symbol names so that @@ -55,7 +53,7 @@ #define CAT_PREFIX2(a,b) a ## b #define CAT_PREFIX(a,b) CAT_PREFIX2(a, b) - + #define speex_resampler_init CAT_PREFIX(RANDOM_PREFIX,_resampler_init) #define speex_resampler_init_frac CAT_PREFIX(RANDOM_PREFIX,_resampler_init_frac) #define speex_resampler_destroy CAT_PREFIX(RANDOM_PREFIX,_resampler_destroy) @@ -83,15 +81,20 @@ #define spx_int32_t gint32 #define spx_uint16_t guint16 #define spx_uint32_t guint32 - + #else /* OUTSIDE_SPEEX */ -#include "speex/speex_types.h" +#ifdef _BUILD_SPEEX +# include "speex_types.h" +#else +# include <speex/speex_types.h> +#endif #endif /* OUTSIDE_SPEEX */ #ifdef __cplusplus -extern "C" { +extern "C" +{ #endif #define SPEEX_RESAMPLER_QUALITY_MAX 10 @@ -100,18 +103,19 @@ extern "C" { #define SPEEX_RESAMPLER_QUALITY_VOIP 3 #define SPEEX_RESAMPLER_QUALITY_DESKTOP 5 -enum { - RESAMPLER_ERR_SUCCESS = 0, - RESAMPLER_ERR_ALLOC_FAILED = 1, - RESAMPLER_ERR_BAD_STATE = 2, - RESAMPLER_ERR_INVALID_ARG = 3, - RESAMPLER_ERR_PTR_OVERLAP = 4, - - RESAMPLER_ERR_MAX_ERROR -}; + enum + { + RESAMPLER_ERR_SUCCESS = 0, + RESAMPLER_ERR_ALLOC_FAILED = 1, + RESAMPLER_ERR_BAD_STATE = 2, + RESAMPLER_ERR_INVALID_ARG = 3, + RESAMPLER_ERR_PTR_OVERLAP = 4, + + RESAMPLER_ERR_MAX_ERROR + }; -struct SpeexResamplerState_; -typedef struct SpeexResamplerState_ SpeexResamplerState; + struct SpeexResamplerState_; + typedef struct SpeexResamplerState_ SpeexResamplerState; /** Create a new resampler with integer input and output rates. * @param nb_channels Number of channels to be processed @@ -122,11 +126,8 @@ typedef struct SpeexResamplerState_ SpeexResamplerState; * @return Newly created resampler state * @retval NULL Error: not enough memory */ -SpeexResamplerState *speex_resampler_init(spx_uint32_t nb_channels, - spx_uint32_t in_rate, - spx_uint32_t out_rate, - int quality, - int *err); + SpeexResamplerState *speex_resampler_init (spx_uint32_t nb_channels, + spx_uint32_t in_rate, spx_uint32_t out_rate, int quality, int *err); /** Create a new resampler with fractional input/output rates. The sampling * rate ratio is an arbitrary rational number with both the numerator and @@ -141,18 +142,15 @@ SpeexResamplerState *speex_resampler_init(spx_uint32_t nb_channels, * @return Newly created resampler state * @retval NULL Error: not enough memory */ -SpeexResamplerState *speex_resampler_init_frac(spx_uint32_t nb_channels, - spx_uint32_t ratio_num, - spx_uint32_t ratio_den, - spx_uint32_t in_rate, - spx_uint32_t out_rate, - int quality, - int *err); + SpeexResamplerState *speex_resampler_init_frac (spx_uint32_t nb_channels, + spx_uint32_t ratio_num, + spx_uint32_t ratio_den, + spx_uint32_t in_rate, spx_uint32_t out_rate, int quality, int *err); /** Destroy a resampler state. * @param st Resampler state */ -void speex_resampler_destroy(SpeexResamplerState *st); + void speex_resampler_destroy (SpeexResamplerState * st); /** Resample a float array. The input and output buffers must *not* overlap. * @param st Resampler state @@ -164,12 +162,10 @@ void speex_resampler_destroy(SpeexResamplerState *st); * @param out Output buffer * @param out_len Size of the output buffer. Returns the number of samples written */ -int speex_resampler_process_float(SpeexResamplerState *st, - spx_uint32_t channel_index, - const float *in, - spx_uint32_t *in_len, - float *out, - spx_uint32_t *out_len); + int speex_resampler_process_float (SpeexResamplerState * st, + spx_uint32_t channel_index, + const float *in, + spx_uint32_t * in_len, float *out, spx_uint32_t * out_len); /** Resample an int array. The input and output buffers must *not* overlap. * @param st Resampler state @@ -181,12 +177,10 @@ int speex_resampler_process_float(SpeexResamplerState *st, * @param out Output buffer * @param out_len Size of the output buffer. Returns the number of samples written */ -int speex_resampler_process_int(SpeexResamplerState *st, - spx_uint32_t channel_index, - const spx_int16_t *in, - spx_uint32_t *in_len, - spx_int16_t *out, - spx_uint32_t *out_len); + int speex_resampler_process_int (SpeexResamplerState * st, + spx_uint32_t channel_index, + const spx_int16_t * in, + spx_uint32_t * in_len, spx_int16_t * out, spx_uint32_t * out_len); /** Resample an interleaved float array. The input and output buffers must *not* overlap. * @param st Resampler state @@ -197,11 +191,9 @@ int speex_resampler_process_int(SpeexResamplerState *st, * @param out_len Size of the output buffer. Returns the number of samples written. * This is all per-channel. */ -int speex_resampler_process_interleaved_float(SpeexResamplerState *st, - const float *in, - spx_uint32_t *in_len, - float *out, - spx_uint32_t *out_len); + int speex_resampler_process_interleaved_float (SpeexResamplerState * st, + const float *in, + spx_uint32_t * in_len, float *out, spx_uint32_t * out_len); /** Resample an interleaved int array. The input and output buffers must *not* overlap. * @param st Resampler state @@ -212,29 +204,25 @@ int speex_resampler_process_interleaved_float(SpeexResamplerState *st, * @param out_len Size of the output buffer. Returns the number of samples written. * This is all per-channel. */ -int speex_resampler_process_interleaved_int(SpeexResamplerState *st, - const spx_int16_t *in, - spx_uint32_t *in_len, - spx_int16_t *out, - spx_uint32_t *out_len); + int speex_resampler_process_interleaved_int (SpeexResamplerState * st, + const spx_int16_t * in, + spx_uint32_t * in_len, spx_int16_t * out, spx_uint32_t * out_len); /** Set (change) the input/output sampling rates (integer value). * @param st Resampler state * @param in_rate Input sampling rate (integer number of Hz). * @param out_rate Output sampling rate (integer number of Hz). */ -int speex_resampler_set_rate(SpeexResamplerState *st, - spx_uint32_t in_rate, - spx_uint32_t out_rate); + int speex_resampler_set_rate (SpeexResamplerState * st, + spx_uint32_t in_rate, spx_uint32_t out_rate); /** Get the current input/output sampling rates (integer value). * @param st Resampler state * @param in_rate Input sampling rate (integer number of Hz) copied. * @param out_rate Output sampling rate (integer number of Hz) copied. */ -void speex_resampler_get_rate(SpeexResamplerState *st, - spx_uint32_t *in_rate, - spx_uint32_t *out_rate); + void speex_resampler_get_rate (SpeexResamplerState * st, + spx_uint32_t * in_rate, spx_uint32_t * out_rate); /** Set (change) the input/output sampling rates and resampling ratio * (fractional values in Hz supported). @@ -244,11 +232,9 @@ void speex_resampler_get_rate(SpeexResamplerState *st, * @param in_rate Input sampling rate rounded to the nearest integer (in Hz). * @param out_rate Output sampling rate rounded to the nearest integer (in Hz). */ -int speex_resampler_set_rate_frac(SpeexResamplerState *st, - spx_uint32_t ratio_num, - spx_uint32_t ratio_den, - spx_uint32_t in_rate, - spx_uint32_t out_rate); + int speex_resampler_set_rate_frac (SpeexResamplerState * st, + spx_uint32_t ratio_num, + spx_uint32_t ratio_den, spx_uint32_t in_rate, spx_uint32_t out_rate); /** Get the current resampling ratio. This will be reduced to the least * common denominator. @@ -256,63 +242,60 @@ int speex_resampler_set_rate_frac(SpeexResamplerState *st, * @param ratio_num Numerator of the sampling rate ratio copied * @param ratio_den Denominator of the sampling rate ratio copied */ -void speex_resampler_get_ratio(SpeexResamplerState *st, - spx_uint32_t *ratio_num, - spx_uint32_t *ratio_den); + void speex_resampler_get_ratio (SpeexResamplerState * st, + spx_uint32_t * ratio_num, spx_uint32_t * ratio_den); /** Set (change) the conversion quality. * @param st Resampler state * @param quality Resampling quality between 0 and 10, where 0 has poor * quality and 10 has very high quality. */ -int speex_resampler_set_quality(SpeexResamplerState *st, - int quality); + int speex_resampler_set_quality (SpeexResamplerState * st, int quality); /** Get the conversion quality. * @param st Resampler state * @param quality Resampling quality between 0 and 10, where 0 has poor * quality and 10 has very high quality. */ -void speex_resampler_get_quality(SpeexResamplerState *st, - int *quality); + void speex_resampler_get_quality (SpeexResamplerState * st, int *quality); /** Set (change) the input stride. * @param st Resampler state * @param stride Input stride */ -void speex_resampler_set_input_stride(SpeexResamplerState *st, - spx_uint32_t stride); + void speex_resampler_set_input_stride (SpeexResamplerState * st, + spx_uint32_t stride); /** Get the input stride. * @param st Resampler state * @param stride Input stride copied */ -void speex_resampler_get_input_stride(SpeexResamplerState *st, - spx_uint32_t *stride); + void speex_resampler_get_input_stride (SpeexResamplerState * st, + spx_uint32_t * stride); /** Set (change) the output stride. * @param st Resampler state * @param stride Output stride */ -void speex_resampler_set_output_stride(SpeexResamplerState *st, - spx_uint32_t stride); + void speex_resampler_set_output_stride (SpeexResamplerState * st, + spx_uint32_t stride); /** Get the output stride. * @param st Resampler state copied * @param stride Output stride */ -void speex_resampler_get_output_stride(SpeexResamplerState *st, - spx_uint32_t *stride); + void speex_resampler_get_output_stride (SpeexResamplerState * st, + spx_uint32_t * stride); /** Get the latency in input samples introduced by the resampler. * @param st Resampler state */ -int speex_resampler_get_input_latency(SpeexResamplerState *st); + int speex_resampler_get_input_latency (SpeexResamplerState * st); /** Get the latency in output samples introduced by the resampler. * @param st Resampler state */ -int speex_resampler_get_output_latency(SpeexResamplerState *st); + int speex_resampler_get_output_latency (SpeexResamplerState * st); /** Make sure that the first samples to go out of the resamplers don't have * leading zeros. This is only useful before starting to use a newly created @@ -322,18 +305,18 @@ int speex_resampler_get_output_latency(SpeexResamplerState *st); * is the same for the first frame). * @param st Resampler state */ -int speex_resampler_skip_zeros(SpeexResamplerState *st); + int speex_resampler_skip_zeros (SpeexResamplerState * st); /** Reset a resampler so a new (unrelated) stream can be processed. * @param st Resampler state */ -int speex_resampler_reset_mem(SpeexResamplerState *st); + int speex_resampler_reset_mem (SpeexResamplerState * st); /** Returns the English meaning for an error code * @param err Error code * @return English string */ -const char *speex_resampler_strerror(int err); + const char *speex_resampler_strerror (int err); #ifdef __cplusplus } |