int max_samples;
/**
- * True if the link is closed.
- * If set, all attempts of start_frame, filter_frame or request_frame
- * will fail with AVERROR_EOF, and if necessary the reference will be
- * destroyed.
- * If request_frame returns AVERROR_EOF, this flag is set on the
+ * Link status.
+ * If not zero, all attempts of filter_frame or request_frame
+ * will fail with the corresponding code, and if necessary the reference
+ * will be destroyed.
+ * If request_frame returns an error, the status is set on the
* corresponding link.
* It can be set also be set by either the source or the destination
* filter.
*/
- int closed;
+ int status;
/**
* Number of channels.
* A pointer to a FFVideoFramePool struct.
*/
void *video_frame_pool;
+
+ /**
+ * True if a frame is currently wanted on the input of this filter.
+ * Set when ff_request_frame() is called by the output,
+ * cleared when the request is handled or forwarded.
+ */
+ int frame_wanted_in;
+
+ /**
+ * True if a frame is currently wanted on the output of this filter.
+ * Set when ff_request_frame() is called by the output,
+ * cleared when a frame is filtered.
+ */
+ int frame_wanted_out;
};
/**
/**
* Set the closed field of a link.
+ * @deprecated applications are not supposed to mess with links, they should
+ * close the sinks.
*/
+attribute_deprecated
void avfilter_link_set_closed(AVFilterLink *link, int closed);
/**