summaryrefslogtreecommitdiff
path: root/libavfilter/dualinput.h
diff options
context:
space:
mode:
authorNicolas George <nicolas.george@normalesup.org>2013-08-28 00:07:22 +0200
committerNicolas George <nicolas.george@normalesup.org>2013-09-23 09:50:09 +0200
commit231e50157cc9a7a8b08ba3d0e566279fc6cbb800 (patch)
treeec04d590c371575edfa6635f2f41d0112cc7e296 /libavfilter/dualinput.h
parent53319d5c932867bcc84798622dd171b5c19165f0 (diff)
lavfi/dualinput: reimplement on top of framesync.
Diffstat (limited to 'libavfilter/dualinput.h')
-rw-r--r--libavfilter/dualinput.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/libavfilter/dualinput.h b/libavfilter/dualinput.h
index 98d05442c7..aaefd78efa 100644
--- a/libavfilter/dualinput.h
+++ b/libavfilter/dualinput.h
@@ -26,18 +26,20 @@
#include <stdint.h>
#include "bufferqueue.h"
+#include "framesync.h"
#include "internal.h"
typedef struct {
+ FFFrameSync fs;
+ FFFrameSyncIn second_input; /* must be immediately after fs */
+
uint8_t frame_requested;
- uint8_t second_eof;
- AVFrame *second_frame;
- struct FFBufQueue queue[2];
AVFrame *(*process)(AVFilterContext *ctx, AVFrame *main, const AVFrame *second);
int shortest; ///< terminate stream when the second input terminates
int repeatlast; ///< repeat last second frame
} FFDualInputContext;
+int ff_dualinput_init(AVFilterContext *ctx, FFDualInputContext *s);
int ff_dualinput_filter_frame_main(FFDualInputContext *s, AVFilterLink *inlink, AVFrame *in);
int ff_dualinput_filter_frame_second(FFDualInputContext *s, AVFilterLink *inlink, AVFrame *in);
int ff_dualinput_request_frame(FFDualInputContext *s, AVFilterLink *outlink);