Unified · Split
| @@ -322,6 +322,7 @@ int avfilter_config_links(AVFilterContext *filter) · 321 unmodified lines | ||
| 322 | 322 | for (i = 0; i < filter->nb_inputs; i ++) { |
| 323 | 323 | AVFilterLink *link = filter->inputs[i]; |
| 324 | 324 | AVFilterLink *inlink; |
| 325 | + FilterLinkInternal *li = ff_link_internal(link); | |
| 325 | 326 | |
| 326 | 327 | if (!link) continue; |
| 327 | 328 | if (!link->src || !link->dst) { |
| @@ -334,14 +335,14 @@ int avfilter_config_links(AVFilterContext *filter) · 6 unmodified lines | ||
| 334 | 335 | link->current_pts = |
| 335 | 336 | link->current_pts_us = AV_NOPTS_VALUE; |
| 336 | 337 | |
| 337 | − switch (link->init_state) { | |
| 338 | + switch (li->init_state) { | |
| 338 | 339 | case AVLINK_INIT: |
| 339 | 340 | continue; |
| 340 | 341 | case AVLINK_STARTINIT: |
| 341 | 342 | av_log(filter, AV_LOG_INFO, "circular filter chain detected\n"); |
| 342 | 343 | return 0; |
| 343 | 344 | case AVLINK_UNINIT: |
| 344 | − link->init_state = AVLINK_STARTINIT; | |
| 345 | + li->init_state = AVLINK_STARTINIT; | |
| 345 | 346 | |
| 346 | 347 | if ((ret = avfilter_config_links(link->src)) < 0) |
| 347 | 348 | return ret; |
| @@ -412,7 +413,7 @@ int avfilter_config_links(AVFilterContext *filter) · 64 unmodified lines | ||
| 412 | 413 | return ret; |
| 413 | 414 | } |
| 414 | 415 | |
| 415 | − link->init_state = AVLINK_INIT; | |
| 416 | + li->init_state = AVLINK_INIT; | |
| 416 | 417 | } |
| 417 | 418 | } |
| 418 | 419 | |
| @@ -611,13 +611,6 @@ struct AVFilterLink { · 610 unmodified lines | ||
| 611 | 611 | */ |
| 612 | 612 | AVFilterFormatsConfig outcfg; |
| 613 | 613 | |
| 614 | − /** stage of the initialization of the link properties (dimensions, etc) */ | |
| 615 | − enum { | |
| 616 | − AVLINK_UNINIT = 0, ///< not started | |
| 617 | − AVLINK_STARTINIT, ///< started, but incomplete | |
| 618 | − AVLINK_INIT ///< complete | |
| 619 | − } init_state; | |
| 620 | − | |
| 621 | 614 | /** |
| 622 | 615 | * Graph the filter belongs to. |
| 623 | 616 | */ |
| @@ -63,6 +63,13 @@ typedef struct FilterLinkInternal { · 62 unmodified lines | ||
| 63 | 63 | * corresponding code. |
| 64 | 64 | */ |
| 65 | 65 | int status_out; |
| 66 | + | |
| 67 | + /** stage of the initialization of the link properties (dimensions, etc) */ | |
| 68 | + enum { | |
| 69 | + AVLINK_UNINIT = 0, ///< not started | |
| 70 | + AVLINK_STARTINIT, ///< started, but incomplete | |
| 71 | + AVLINK_INIT ///< complete | |
| 72 | + } init_state; | |
| 66 | 73 | } FilterLinkInternal; |
| 67 | 74 | |
| 68 | 75 | static inline FilterLinkInternal *ff_link_internal(AVFilterLink *link) |