diff options
author | Nicolas George <nicolas.george@normalesup.org> | 2012-12-27 00:42:51 +0100 |
---|---|---|
committer | Nicolas George <nicolas.george@normalesup.org> | 2012-12-30 18:29:57 +0100 |
commit | a978c04e228e48d5828da5197a4b8eeef9c4ecb8 (patch) | |
tree | d5416a2694057cea998fb1d59131bf444f98ea50 | |
parent | 522cb6abf22a2d28aecbd5dbfe174689fa937565 (diff) | |
download | ffmpeg-a978c04e228e48d5828da5197a4b8eeef9c4ecb8.tar.gz |
lavfi/video: ensure that filter_frame is called.
This is a temporary workaround until all filters have been
upgraded to filter_frame and the framework can forget completely
about start_frame/draw_slice/end_frame.
-rw-r--r-- | libavfilter/video.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libavfilter/video.c b/libavfilter/video.c index a7ef0454a1..bd2d32a191 100644 --- a/libavfilter/video.c +++ b/libavfilter/video.c @@ -163,6 +163,9 @@ static int default_start_frame(AVFilterLink *inlink, AVFilterBufferRef *picref) { AVFilterLink *outlink = NULL; + if (inlink->dstpad->filter_frame) + return 0; + if (inlink->dst->nb_outputs) outlink = inlink->dst->outputs[0]; @@ -275,6 +278,12 @@ static int default_end_frame(AVFilterLink *inlink) { AVFilterLink *outlink = NULL; + if (inlink->dstpad->filter_frame) { + int ret = inlink->dstpad->filter_frame(inlink, inlink->cur_buf); + inlink->cur_buf = NULL; + return ret; + } + if (inlink->dst->nb_outputs) outlink = inlink->dst->outputs[0]; |