History

lavfi: make filter_frame non-recursive.

A lot of changes happen at the same time: - Add a framequeue fifo to AVFilterLink. - split AVFilterLink.status into status_in and status_out: requires changes to the few filters and programs that use it directly (f_interleave, split, filtfmts). - Add a field ready to AVFilterContext, marking when the filter is ready and its activation priority. - Add flags to mark blocked links. - Change ff_filter_frame() to enqueue the frame. - Change all filtering functions to update the ready field and the blocked flags. - Update ff_filter_graph_run_once() to use the ready field. - buffersrc: always push the frame immediately.

Nicolas George committed 10 years ago

Commit 02aa0701 parent 62b11db10 files · +493 −143Browse files

Showing the changes to libavfilter/split.c (1 of 10 files). Show all

Unified · Split

libavfilter/split.c+4−1
@@ -30,6 +30,9 @@ · 29 unmodified lines
3030 #include "libavutil/mem.h"
3131 #include "libavutil/opt.h"
3232
33+#define FF_INTERNAL_FIELDS 1
34+#include "framequeue.h"
35+
3336 #include "avfilter.h"
3437 #include "audio.h"
3538 #include "formats.h"
@@ -78,7 +81,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame) · 42 unmodified lines
7881 for (i = 0; i < ctx->nb_outputs; i++) {
7982 AVFrame *buf_out;
8083
81− if (ctx->outputs[i]->status)
84+ if (ctx->outputs[i]->status_in)
8285 continue;
8386 buf_out = av_frame_clone(frame);
8487 if (!buf_out) {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t