X-Git-Url: http://git.videolan.org/?p=ffmpeg.git;a=blobdiff_plain;f=libavfilter%2Fbuffersink.h;h=76f5a29806c260da6869e694784ef7e898b6d5bb;hp=75cea35b77b6177ca491d6359de59e127d2e1d1d;hb=f6974fe651d29ef6eb68d66d73f7b6c011062aa0;hpb=7e350379f87e7f74420b4813170fe808e2313911 diff --git a/libavfilter/buffersink.h b/libavfilter/buffersink.h index 75cea35b77..76f5a29806 100644 --- a/libavfilter/buffersink.h +++ b/libavfilter/buffersink.h @@ -21,47 +21,17 @@ /** * @file + * @ingroup lavfi_buffersink * memory buffer sink API */ #include "avfilter.h" -#if FF_API_AVFILTERBUFFER /** - * Get a buffer with filtered data from sink and put it in buf. - * - * @param ctx 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 - * output. - * - * @return >= 0 in case of success, a negative AVERROR code in case of - * failure. - */ -attribute_deprecated -int av_buffersink_read(AVFilterContext *ctx, 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 ctx 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. + * @defgroup lavfi_buffersink Buffer sink API + * @ingroup lavfi + * @{ */ -attribute_deprecated -int av_buffersink_read_samples(AVFilterContext *ctx, AVFilterBufferRef **buf, - int nb_samples); -#endif /** * Get a frame with filtered data from sink and put it in frame. @@ -70,8 +40,12 @@ int av_buffersink_read_samples(AVFilterContext *ctx, AVFilterBufferRef **buf, * @param frame pointer to an allocated frame that will be filled with data. * The data must be freed using av_frame_unref() / av_frame_free() * - * @return >= 0 in case of success, a negative AVERROR code in case of - * failure. + * @return + * - >= 0 if a frame was successfully returned. + * - AVERROR(EAGAIN) if no frames are available at this point; more + * input frames must be added to the filtergraph to get more output. + * - AVERROR_EOF if there will be no more output frames on this sink. + * - A different negative AVERROR code in other failure cases. */ int av_buffersink_get_frame(AVFilterContext *ctx, AVFrame *frame); @@ -86,9 +60,16 @@ int av_buffersink_get_frame(AVFilterContext *ctx, AVFrame *frame); * frame will contain exactly nb_samples audio samples, except at * the end of stream, when it can contain less than nb_samples. * + * @return The return codes have the same meaning as for + * av_buffersink_get_samples(). + * * @warning do not mix this function with av_buffersink_get_frame(). Use only one or * the other with a single sink, not both. */ int av_buffersink_get_samples(AVFilterContext *ctx, AVFrame *frame, int nb_samples); +/** + * @} + */ + #endif /* AVFILTER_BUFFERSINK_H */