[FFmpeg-devel] [PATCH] avfilter/internal: Improve docs about ff_request_frame()

Michael Niedermayer michaelni at gmx.at
Tue Jul 14 19:50:09 CEST 2015

From: Michael Niedermayer <michael at niedermayer.cc>

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
 libavfilter/internal.h |   17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/libavfilter/internal.h b/libavfilter/internal.h
index a7ec751..fcd1a5a 100644
--- a/libavfilter/internal.h
+++ b/libavfilter/internal.h
@@ -305,8 +305,25 @@ int ff_poll_frame(AVFilterLink *link);
  * Request an input frame from the filter at the other end of the link.
+ * The source filter may pass the request on to its sources, fullfill the
+ * request from an internal buffer or any other means specific to its function.
+ * When the end of a stream is reached AVERROR_EOF is returned and no further frames.
+ * When a filter is unable to output a frame for example due to its sources
+ * being unable to do so or because it depends on external means pushing data
+ * into it then AVERROR(EAGAIN) is returned.
+ * One example of a source returning AVERROR(EAGAIN) is a buffer into which the
+ * user application pushes new data, it cannot fullfill a request
+ * or know its at EOF until the user application has given it this
+ * information
+ *
+ * If a request is successfull then the filter_frame() function will be called
+ * at least once before ff_request_frame() returns
+ *
  * @param link the input link
  * @return     zero on success
+ *             AVERROR_EOF on end of file
+ *             AVERROR(EAGAIN) if the previous filter cannot output a frame
+ *             currently and can neither gurantee that EOF has been reached.
 int ff_request_frame(AVFilterLink *link);

More information about the ffmpeg-devel mailing list