summaryrefslogtreecommitdiff
path: root/libavfilter
diff options
context:
space:
mode:
authorNicolas George <nicolas.george@normalesup.org>2012-04-19 17:08:27 +0200
committerNicolas George <nicolas.george@normalesup.org>2012-04-23 14:13:59 +0200
commite11110dee40837b766921855221968e1541230d3 (patch)
treeac9daecb31f4af601fa43fb489bf0634d017a5a3 /libavfilter
parent2d6522bab0011a91a50aaad4b206d0a256b89621 (diff)
buffersink: add AV_BUFFERSINK_FLAG_NO_REQUEST.
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/buffersink.h7
-rw-r--r--libavfilter/sink_buffer.c2
-rw-r--r--libavfilter/version.h4
3 files changed, 11 insertions, 2 deletions
diff --git a/libavfilter/buffersink.h b/libavfilter/buffersink.h
index 73926a4539..cf6bd69612 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 8eb695e167..b0cc519217 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 361155fe33..0f7ea501e6 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, \