[vlc-devel] [PATCH 01/19] filter: add a drain callback for video filters
Steve Lhomme
robux4 at ycbcr.xyz
Tue Oct 13 15:51:44 CEST 2020
Calls to filter a picture should be proceeded by a drain call to make sure
there is no picture left from the last picture filtered.
Filters calling vlc_picture_chain_AppendChain() should implement a drain of
their extra pictures instead.
---
include/vlc_filter.h | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/include/vlc_filter.h b/include/vlc_filter.h
index 9d5e3541a44..e625d44dc62 100644
--- a/include/vlc_filter.h
+++ b/include/vlc_filter.h
@@ -107,9 +107,11 @@ struct vlc_filter_operations
union
{
- /* TODO: video filter drain */
/** Drain (audio filter) */
block_t *(*drain_audio)(filter_t *);
+
+ /** Video Drain (formerly video filter(NULL)) */
+ picture_t *(*drain_video)(filter_t *);
};
/** Flush
@@ -270,6 +272,16 @@ static inline picture_t *filter_NewPicture( filter_t *p_filter )
return pic;
}
+/**
+ * This function will drain, then flush a video filter.
+ */
+static inline picture_t *filter_DrainVideo( filter_t *p_filter )
+{
+ if( p_filter->ops->drain_video )
+ return p_filter->ops->drain_video( p_filter );
+ return NULL;
+}
+
/**
* Flush a filter
*
--
2.26.2
More information about the vlc-devel
mailing list