diff options
author | Anton Khirnov <anton@khirnov.net> | 2012-05-04 19:22:38 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2012-05-14 21:36:11 +0200 |
commit | a2cd9be212fca02dd3d6ee65cb6ab9f84c5e28e5 (patch) | |
tree | ea5dd3dbc99b98de0c872d6fd23d8f543af4a12a /libavfilter/buffersink.h | |
parent | 4c66c4071830e74afa1aea3df52059ab163c1ddb (diff) | |
download | ffmpeg-a2cd9be212fca02dd3d6ee65cb6ab9f84c5e28e5.tar.gz |
lavfi: add an audio buffer sink.
Diffstat (limited to 'libavfilter/buffersink.h')
-rw-r--r-- | libavfilter/buffersink.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/libavfilter/buffersink.h b/libavfilter/buffersink.h index e579b9ad03..8f94a9c94d 100644 --- a/libavfilter/buffersink.h +++ b/libavfilter/buffersink.h @@ -29,7 +29,7 @@ /** * Get a buffer with filtered data from sink and put it in buf. * - * @param sink pointer to a context of a buffersink AVFilter. + * @param sink pointer to a context of a buffersink or abuffersink AVFilter. * @param buf pointer to the buffer will be written here if buf is non-NULL. buf * must be freed by the caller using avfilter_unref_buffer(). * Buf may also be NULL to query whether a buffer is ready to be @@ -40,4 +40,23 @@ */ int av_buffersink_read(AVFilterContext *sink, AVFilterBufferRef **buf); +/** + * Same as av_buffersink_read, but with the ability to specify the number of + * samples read. This function is less efficient than av_buffersink_read(), + * because it copies the data around. + * + * @param sink pointer to a context of the abuffersink AVFilter. + * @param buf pointer to the buffer will be written here if buf is non-NULL. buf + * must be freed by the caller using avfilter_unref_buffer(). buf + * will contain exactly nb_samples audio samples, except at the end + * of stream, when it can contain less than nb_samples. + * Buf may also be NULL to query whether a buffer is ready to be + * output. + * + * @warning do not mix this function with av_buffersink_read(). Use only one or + * the other with a single sink, not both. + */ +int av_buffersink_read_samples(AVFilterContext *ctx, AVFilterBufferRef **buf, + int nb_samples); + #endif /* AVFILTER_BUFFERSINK_H */ |