[FFmpeg-cvslog] buffersink: add AV_BUFFERSINK_FLAG_NO_REQUEST.

Nicolas George git at videolan.org
Mon Apr 23 14:30:39 CEST 2012


ffmpeg | branch: master | Nicolas George <nicolas.george at normalesup.org> | Thu Apr 19 17:08:27 2012 +0200| [e11110dee40837b766921855221968e1541230d3] | committer: Nicolas George

buffersink: add AV_BUFFERSINK_FLAG_NO_REQUEST.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e11110dee40837b766921855221968e1541230d3
---

 libavfilter/buffersink.h  |    7 +++++++
 libavfilter/sink_buffer.c |    2 ++
 libavfilter/version.h     |    4 ++--
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/libavfilter/buffersink.h b/libavfilter/buffersink.h
index 73926a4..cf6bd69 100644
--- a/libavfilter/buffersink.h
+++ b/libavfilter/buffersink.h
@@ -64,6 +64,13 @@ AVABufferSinkParams *av_abuffersink_params_alloc(void);
 #define AV_BUFFERSINK_FLAG_PEEK 1
 
 /**
+ * Tell av_buffersink_get_buffer_ref() not to request a frame fom its input.
+ * If a frame is already buffered, it is read (and removed from the buffer),
+ * but if no frame is present, return AVERROR(EAGAIN).
+ */
+#define AV_BUFFERSINK_FLAG_NO_REQUEST 2
+
+/**
  * Get an audio/video buffer data from buffer_sink and put it in bufref.
  *
  * This function works with both audio and video buffer sinks.
diff --git a/libavfilter/sink_buffer.c b/libavfilter/sink_buffer.c
index 8eb695e..b0cc519 100644
--- a/libavfilter/sink_buffer.c
+++ b/libavfilter/sink_buffer.c
@@ -126,6 +126,8 @@ int av_buffersink_get_buffer_ref(AVFilterContext *ctx,
 
     /* no picref available, fetch it from the filterchain */
     if (!av_fifo_size(buf->fifo)) {
+        if (flags & AV_BUFFERSINK_FLAG_NO_REQUEST)
+            return AVERROR(EAGAIN);
         if ((ret = avfilter_request_frame(inlink)) < 0)
             return ret;
     }
diff --git a/libavfilter/version.h b/libavfilter/version.h
index 361155f..0f7ea50 100644
--- a/libavfilter/version.h
+++ b/libavfilter/version.h
@@ -29,8 +29,8 @@
 #include "libavutil/avutil.h"
 
 #define LIBAVFILTER_VERSION_MAJOR  2
-#define LIBAVFILTER_VERSION_MINOR 71
-#define LIBAVFILTER_VERSION_MICRO 102
+#define LIBAVFILTER_VERSION_MINOR 72
+#define LIBAVFILTER_VERSION_MICRO 100
 
 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
                                                LIBAVFILTER_VERSION_MINOR, \



More information about the ffmpeg-cvslog mailing list