summaryrefslogtreecommitdiffstats
path: root/gst/speexresample/speex_resampler.h
diff options
context:
space:
mode:
Diffstat (limited to 'gst/speexresample/speex_resampler.h')
-rw-r--r--gst/speexresample/speex_resampler.h149
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
}