summaryrefslogtreecommitdiff
path: root/libswresample
diff options
context:
space:
mode:
authorClément Bœsch <ubitux@gmail.com>2011-11-17 11:20:29 +0100
committerClément Bœsch <ubitux@gmail.com>2011-11-17 17:56:55 +0100
commit68d3144e89e73de1977a58ed9f0f6ea85ecc43c3 (patch)
tree2915d0512f6f47617a0357fb2d646559e96f1048 /libswresample
parentacd56efbeb1a436403b3da07552922e49a721081 (diff)
swr: doxycomment public API.
Diffstat (limited to 'libswresample')
-rw-r--r--libswresample/swresample.h61
1 files changed, 48 insertions, 13 deletions
diff --git a/libswresample/swresample.h b/libswresample/swresample.h
index 017919b54f..67845940ac 100644
--- a/libswresample/swresample.h
+++ b/libswresample/swresample.h
@@ -18,6 +18,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+/**
+ * @file
+ * libswresample public header
+ */
+
#ifndef SWR_H
#define SWR_H
@@ -28,9 +33,9 @@
#define LIBSWRESAMPLE_VERSION_MINOR 3
#define LIBSWRESAMPLE_VERSION_MICRO 0
-#define SWR_CH_MAX 16
+#define SWR_CH_MAX 16 ///< Maximum number of channels
-#define SWR_FLAG_RESAMPLE 1///< Force resampling even if equal sample rate
+#define SWR_FLAG_RESAMPLE 1 ///< Force resampling even if equal sample rate
//TODO use int resample ?
//long term TODO can we enable this dynamically?
@@ -39,21 +44,43 @@ struct SwrContext;
/**
* Allocate SwrContext.
- * @see swr_init(),swr_free()
- * @return NULL on error
+ *
+ * If you use this function you will need to set the parameters (manually or
+ * with swr_alloc_set_opts()) before calling swr_init().
+ *
+ * @see swr_alloc_set_opts(), swr_init(), swr_free()
+ * @return NULL on error, allocated context otherwise
*/
struct SwrContext *swr_alloc(void);
/**
* Initialize context after user parameters have been set.
- * @return negativo n error
+ *
+ * @return AVERROR error code in case of failure.
*/
int swr_init(struct SwrContext *s);
/**
- * Allocate SwrContext.
- * @see swr_init(),swr_free()
- * @return NULL on error
+ * Allocate SwrContext if needed and set/reset common parameters.
+ *
+ * This function does not require s to be allocated with swr_alloc(). On the
+ * other hand, swr_alloc() can use swr_alloc_set_opts() to set the parameters
+ * on the allocated context.
+ *
+ * @param s Swr context, can be NULL
+ * @param out_ch_layout output channel layout (AV_CH_LAYOUT_*)
+ * @param out_sample_fmt output sample format (AV_SAMPLE_FMT_*). Use +0x100 for planar audio
+ * @param out_sample_rate output sample rate (frequency in Hz)
+ * @param in_ch_layout input channel layout (AV_CH_LAYOUT_*)
+ * @param in_sample_fmt input sample format (AV_SAMPLE_FMT_*). Use +0x100 for planar audio
+ * @param in_sample_rate input sample rate (frequency in Hz)
+ * @param channel_map customized input channel mapping (array of channel
+ * indexes, -1 for a muted channel), can be NULL
+ * @param log_offset logging level offset
+ * @param log_ctx parent logging context, can be NULL
+ *
+ * @see swr_init(), swr_free()
+ * @return NULL on error, allocated context otherwise
*/
struct SwrContext *swr_alloc_set_opts(struct SwrContext *s,
int64_t out_ch_layout, enum AVSampleFormat out_sample_fmt, int out_sample_rate,
@@ -61,22 +88,30 @@ struct SwrContext *swr_alloc_set_opts(struct SwrContext *s,
const int *channel_map, int log_offset, void *log_ctx);
/**
- * Free the given SwrContext.
- * And set the pointer to NULL
+ * Free the given SwrContext and set the pointer to NULL.
*/
void swr_free(struct SwrContext **s);
/**
* Convert audio.
*
- * in & in_count can be set to 0 to flush the last few samples out at the end.
- * @param in_count Number of input samples available in one channel.
- * @param out_count Amount of space available for output in samples per channel.
+ * in and in_count can be set to 0 to flush the last few samples out at the
+ * end.
+ *
+ * @param s allocated Swr context, with parameters set
+ * @param out output buffers, only the first one need be set in case of packed audio
+ * @param out_count amount of space available for output in samples per channel
+ * @param in input buffers, only the first one need to be set in case of packed audio
+ * @param in_count number of input samples available in one channel
+ *
* @return number of samples output per channel
*/
int swr_convert(struct SwrContext *s, uint8_t *out[SWR_CH_MAX], int out_count,
const uint8_t *in [SWR_CH_MAX], int in_count);
+/**
+ * Activate resampling compensation.
+ */
void swr_compensate(struct SwrContext *s, int sample_delta, int compensation_distance);
#endif