Showing the changes to libavfilter (2 of 2 files). Show all
Unified · Split
| @@ -1559,6 +1559,14 @@ int ff_outlink_get_status(AVFilterLink *link) · 1558 unmodified lines | |||
| 1559 | return link->status_in; | 1559 | return link->status_in; |
| 1560 | } | 1560 | } |
| 1561 | 1561 | ||
| 1562 | int ff_inoutlink_check_flow(AVFilterLink *inlink, AVFilterLink *outlink) | ||
| 1563 | { | ||
| 1564 | return ff_outlink_frame_wanted(outlink) || | ||
| 1565 | ff_inlink_check_available_frame(inlink) || | ||
| 1566 | inlink->status_out; | ||
| 1567 | } | ||
| 1568 | |||
| 1569 | |||
| 1562 | const AVClass *avfilter_get_class(void) | 1570 | const AVClass *avfilter_get_class(void) |
| 1563 | { | 1571 | { |
| 1564 | return &avfilter_class; | 1572 | return &avfilter_class; |
| @@ -258,4 +258,12 @@ static inline void ff_outlink_set_status(AVFilterLink *link, int status, int64_t · 257 unmodified lines | |||
| 258 | } \ | 258 | } \ |
| 259 | } while (0) | 259 | } while (0) |
| 260 | 260 | ||
| 261 | /** | ||
| 262 | * Check for flow control between input and output. | ||
| 263 | * This is necessary for filters that may produce several output frames for | ||
| 264 | * a single input event, otherwise they may produce them all at once, | ||
| 265 | * causing excessive memory consumption. | ||
| 266 | */ | ||
| 267 | int ff_inoutlink_check_flow(AVFilterLink *inlink, AVFilterLink *outlink); | ||
| 268 | |||
| 261 | #endif /* AVFILTER_FILTERS_H */ | 269 | #endif /* AVFILTER_FILTERS_H */ |