summaryrefslogtreecommitdiff
path: root/avconv_filter.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2016-06-27 18:59:23 +0200
committerAnton Khirnov <anton@khirnov.net>2016-06-28 08:30:20 +0200
commitd2e56cf753a6c462041dee897d9d0c90f349988c (patch)
treed8c67aa3d8c1e361ebb2709e1e2da6d706210025 /avconv_filter.c
parent7a745f014f528d1001394ae4d2f4ed1a20bf7fa2 (diff)
avconv: move flushing the queued frames to configure_filtergraph()
This is a more appropriate place for it, and will also be useful in the following commit.
Diffstat (limited to 'avconv_filter.c')
-rw-r--r--avconv_filter.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/avconv_filter.c b/avconv_filter.c
index f7ce76ff69..1acbd88166 100644
--- a/avconv_filter.c
+++ b/avconv_filter.c
@@ -769,6 +769,17 @@ int configure_filtergraph(FilterGraph *fg)
ofilter->channel_layout = link->channel_layout;
}
+ for (i = 0; i < fg->nb_inputs; i++) {
+ while (av_fifo_size(fg->inputs[i]->frame_queue)) {
+ AVFrame *tmp;
+ av_fifo_generic_read(fg->inputs[i]->frame_queue, &tmp, sizeof(tmp), NULL);
+ ret = av_buffersrc_add_frame(fg->inputs[i]->filter, tmp);
+ av_frame_free(&tmp);
+ if (ret < 0)
+ return ret;
+ }
+ }
+
return 0;
}