aboutsummaryrefslogtreecommitdiffstats
path: root/libavfilter/vsrc_buffer.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-12-26 03:35:54 +0100
committerMichael Niedermayer <michaelni@gmx.at>2011-12-26 04:10:47 +0100
commit484e59a0a0329c4005ddacd05051925345f4362f (patch)
treee5521f4eb5095df300545bb30694d1e3427115c9 /libavfilter/vsrc_buffer.c
parentc48f67f06ec3b887626b5938987d2a46bd52cf77 (diff)
parent80dc7c0160fb27e46fc0caae8af10b3d63730c7c (diff)
downloadffmpeg-484e59a0a0329c4005ddacd05051925345f4362f.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: avs: call release_buffer() at the end. Add minor bumps and APIchanges entries for lavc/lavfi changes. mpegvideo.c: K&R formatting and cosmetics. avconv: avoid memcpy in vsrc_buffer when possible. avconv: implement get_buffer()/release_buffer(). lavfi: add a new function av_buffersrc_buffer(). lavfi: add avfilter_copy_frame_props() lavc: add format field to AVFrame lavc: add width and height fields to AVFrame lavc: add a sample_aspect_ratio field to AVFrame doxy: add website-alike style to the html output FAQ: add an entry for common error when using -profile Conflicts: avconv.c cmdutils.c doc/APIchanges libavcodec/avcodec.h libavcodec/mpegvideo.c libavcodec/utils.c libavcodec/version.h libavfilter/Makefile libavfilter/avfilter.c libavfilter/avfilter.h libavfilter/src_movie.c libavfilter/vsrc_buffer.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter/vsrc_buffer.c')
-rw-r--r--libavfilter/vsrc_buffer.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/libavfilter/vsrc_buffer.c b/libavfilter/vsrc_buffer.c
index 3c0936a68c..6f44368a32 100644
--- a/libavfilter/vsrc_buffer.c
+++ b/libavfilter/vsrc_buffer.c
@@ -26,6 +26,7 @@
#include "avfilter.h"
#include "internal.h"
#include "avcodec.h"
+#include "buffersrc.h"
#include "vsrc_buffer.h"
#include "libavutil/imgutils.h"
@@ -112,6 +113,23 @@ int av_vsrc_buffer_add_video_buffer_ref(AVFilterContext *buffer_filter,
return 0;
}
+int av_buffersrc_buffer(AVFilterContext *s, AVFilterBufferRef *buf)
+{
+ BufferSourceContext *c = s->priv;
+
+ if (c->picref) {
+ av_log(s, AV_LOG_ERROR,
+ "Buffering several frames is not supported. "
+ "Please consume all available frames before adding a new one.\n"
+ );
+ return AVERROR(EINVAL);
+ }
+
+ c->picref = buf;
+
+ return 0;
+}
+
#if CONFIG_AVCODEC
#include "avcodec.h"