Commited in SoC by Bobby Bingham on 2007-08-17 23:39:55 Originally committed as revision 12703 to svn://svn.ffmpeg.org/ffmpeg/trunk
Unified · Split
| @@ -430,6 +430,7 @@ int avfilter_graph_config_links(AVFilterContext *graphctx) · 429 unmodified lines | ||
| 430 | 430 | |
| 431 | 431 | static AVFilterContext *create_filter_with_args(const char *filt, void *opaque) |
| 432 | 432 | { |
| 433 | + AVFilter *filterdef; | |
| 433 | 434 | AVFilterContext *ret; |
| 434 | 435 | char *filter = av_strdup(filt); /* copy - don't mangle the input string */ |
| 435 | 436 | char *name, *args; |
| @@ -446,7 +447,8 @@ static AVFilterContext *create_filter_with_args(const char *filt, void *opaque) · 10 unmodified lines | ||
| 446 | 447 | av_log(NULL, AV_LOG_INFO, "creating filter \"%s\" with args \"%s\"\n", |
| 447 | 448 | name, args ? args : "(none)"); |
| 448 | 449 | |
| 449 | − if((ret = avfilter_create_by_name(name, NULL))) { | |
| 450 | + if((filterdef = avfilter_get_by_name(name)) && | |
| 451 | + (ret = avfilter_open(filterdef, NULL))) { | |
| 450 | 452 | if(avfilter_init_filter(ret, args, opaque)) { |
| 451 | 453 | av_log(NULL, AV_LOG_ERROR, "error initializing filter!\n"); |
| 452 | 454 | avfilter_destroy(ret); |
| @@ -545,7 +547,7 @@ static int init(AVFilterContext *ctx, const char *args, void *opaque) · 92 unmodified lines | ||
| 545 | 547 | if(!args) |
| 546 | 548 | return 0; |
| 547 | 549 | |
| 548 | − if(!(gctx->link_filter = avfilter_create(&vf_graph_dummy, NULL))) | |
| 550 | + if(!(gctx->link_filter = avfilter_open(&vf_graph_dummy, NULL))) | |
| 549 | 551 | return -1; |
| 550 | 552 | if(avfilter_init_filter(gctx->link_filter, NULL, ctx)) |
| 551 | 553 | goto fail; |
| @@ -578,9 +580,12 @@ static int graph_load_from_desc(AVFilterContext *ctx, AVFilterGraphDesc *desc) · 26 unmodified lines | ||
| 578 | 580 | AVFilterGraphDescExport *curpad; |
| 579 | 581 | AVFilterContext *filt, *filtb; |
| 580 | 582 | |
| 583 | + AVFilter *filterdef; | |
| 584 | + | |
| 581 | 585 | /* create all filters */ |
| 582 | 586 | for(curfilt = desc->filters; curfilt; curfilt = curfilt->next) { |
| 583 | − if(!(filt = avfilter_create_by_name(curfilt->filter, curfilt->name))) { | |
| 587 | + if(!(filterdef = avfilter_get_by_name(curfilt->filter)) || | |
| 588 | + !(filt = avfilter_open(filterdef, curfilt->name))) { | |
| 584 | 589 | av_log(ctx, AV_LOG_ERROR, "error creating filter\n"); |
| 585 | 590 | goto fail; |
| 586 | 591 | } |
| @@ -639,7 +644,7 @@ static int init_desc(AVFilterContext *ctx, const char *args, void *opaque) · 52 unmodified lines | ||
| 639 | 644 | if(!opaque) |
| 640 | 645 | return -1; |
| 641 | 646 | |
| 642 | − if(!(gctx->link_filter = avfilter_create(&vf_graph_dummy, NULL))) | |
| 647 | + if(!(gctx->link_filter = avfilter_open(&vf_graph_dummy, NULL))) | |
| 643 | 648 | return -1; |
| 644 | 649 | if(avfilter_init_filter(gctx->link_filter, NULL, ctx)) |
| 645 | 650 | goto fail; |