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
69 return avfilter_request_frame(link2);69 return avfilter_request_frame(link2);
70}70}
71 71
72
73static 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
72static int link_in_config_props(AVFilterLink *link)81static int link_in_config_props(AVFilterLink *link)
73{82{
74 AVFilterLink *link2 = get_extern_input_link(link);83 AVFilterLink *link2 = get_extern_input_link(link);
@@ -236,6 +245,16 @@ static int graph_out_request_frame(AVFilterLink *link) · 161 unmodified lines
236 return -1;245 return -1;
237}246}
238 247
248static 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
239static int graph_out_config_props(AVFilterLink *link)258static int graph_out_config_props(AVFilterLink *link)
240{259{
241 GraphContext *graph = link->src->priv;260 GraphContext *graph = link->src->priv;
@@ -276,6 +295,7 @@ static int add_graph_input(AVFilterContext *gctx, AVFilterContext *filt, unsigne · 34 unmodified lines
276 .name = NULL, /* FIXME? */295 .name = NULL, /* FIXME? */
277 .type = AV_PAD_VIDEO,296 .type = AV_PAD_VIDEO,
278 .request_frame = link_in_request_frame,297 .request_frame = link_in_request_frame,
298 .poll_frame = link_in_poll_frame,
279 .config_props = link_in_config_props,299 .config_props = link_in_config_props,
280 };300 };
281 301
@@ -296,6 +316,7 @@ static int add_graph_output(AVFilterContext *gctx, AVFilterContext *filt, unsign · 14 unmodified lines
296 .name = name,316 .name = name,
297 .type = AV_PAD_VIDEO,317 .type = AV_PAD_VIDEO,
298 .request_frame = graph_out_request_frame,318 .request_frame = graph_out_request_frame,
319 .poll_frame = graph_out_poll_frame,
299 .config_props = graph_out_config_props,320 .config_props = graph_out_config_props,
300 };321 };
301 AVFilterPad dummy_inpad =322 AVFilterPad dummy_inpad =
@@ -488,12 +509,14 @@ static int graph_load_from_desc(AVFilterContext *ctx, AVFilterGraphDesc *desc) · 186 unmodified lines
488 for(curfilt = desc->filters; curfilt; curfilt = curfilt->next) {509 for(curfilt = desc->filters; curfilt; curfilt = curfilt->next) {
489 if(!(filterdef = avfilter_get_by_name(curfilt->filter)) ||510 if(!(filterdef = avfilter_get_by_name(curfilt->filter)) ||
490 !(filt = avfilter_open(filterdef, curfilt->name))) {511 !(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);
492 goto fail;514 goto fail;
493 }515 }
494 avfilter_graph_add_filter(ctx, filt);516 avfilter_graph_add_filter(ctx, filt);
495 if(avfilter_init_filter(filt, curfilt->args, NULL)) {517 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);
497 goto fail;520 goto fail;
498 }521 }
499 }522 }

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