History

Implement poll_frame() method. Fix ffmpeg.c bug with vf_fps filter.

Commited in SoC by Vitor Sessak on 2008-02-06 19:55:36 Originally committed as revision 12718 to svn://svn.ffmpeg.org/ffmpeg/trunk

Vitor Sessak committed 18 years ago

Commit affadb51 parent 095ae1b1 file · +25 −2Browse files

Showing the changes to libavfilter/avfiltergraph.c (1 of 1 file). Show all

Unified · Split

libavfilter/avfiltergraph.c+25−2
@@ -69,6 +69,15 @@ static int link_in_request_frame(AVFilterLink *link) · 68 unmodified lines
6969 return avfilter_request_frame(link2);
7070 }
7171
72+
73+static int link_in_poll_frame(AVFilterLink *link)
74+{
75+ AVFilterLink *link2 = get_extern_input_link(link);
76+ if(!link2)
77+ return -1;
78+ return avfilter_poll_frame(link2);
79+}
80+
7281 static int link_in_config_props(AVFilterLink *link)
7382 {
7483 AVFilterLink *link2 = get_extern_input_link(link);
@@ -236,6 +245,16 @@ static int graph_out_request_frame(AVFilterLink *link) · 161 unmodified lines
236245 return -1;
237246 }
238247
248+static int graph_out_poll_frame(AVFilterLink *link)
249+{
250+ AVFilterLink *link2 = get_intern_output_link(link);
251+
252+ if(!link2)
253+ return -1;
254+
255+ return avfilter_poll_frame(link2);
256+}
257+
239258 static int graph_out_config_props(AVFilterLink *link)
240259 {
241260 GraphContext *graph = link->src->priv;
@@ -276,6 +295,7 @@ static int add_graph_input(AVFilterContext *gctx, AVFilterContext *filt, unsigne · 34 unmodified lines
276295 .name = NULL, /* FIXME? */
277296 .type = AV_PAD_VIDEO,
278297 .request_frame = link_in_request_frame,
298+ .poll_frame = link_in_poll_frame,
279299 .config_props = link_in_config_props,
280300 };
281301
@@ -296,6 +316,7 @@ static int add_graph_output(AVFilterContext *gctx, AVFilterContext *filt, unsign · 14 unmodified lines
296316 .name = name,
297317 .type = AV_PAD_VIDEO,
298318 .request_frame = graph_out_request_frame,
319+ .poll_frame = graph_out_poll_frame,
299320 .config_props = graph_out_config_props,
300321 };
301322 AVFilterPad dummy_inpad =
@@ -488,12 +509,14 @@ static int graph_load_from_desc(AVFilterContext *ctx, AVFilterGraphDesc *desc) · 186 unmodified lines
488509 for(curfilt = desc->filters; curfilt; curfilt = curfilt->next) {
489510 if(!(filterdef = avfilter_get_by_name(curfilt->filter)) ||
490511 !(filt = avfilter_open(filterdef, curfilt->name))) {
491− av_log(ctx, AV_LOG_ERROR, "error creating filter\n");
512+ av_log(ctx, AV_LOG_ERROR,
513+ "error creating filter '%s'\n", curfilt->name);
492514 goto fail;
493515 }
494516 avfilter_graph_add_filter(ctx, filt);
495517 if(avfilter_init_filter(filt, curfilt->args, NULL)) {
496− av_log(ctx, AV_LOG_ERROR, "error initializing filter\n");
518+ av_log(ctx, AV_LOG_ERROR,
519+ "error initializing filter '%s'\n", curfilt->name);
497520 goto fail;
498521 }
499522 }

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