struct
{
picture_t * (*pf_filter) ( filter_t *, picture_t * );
+ void (*pf_flush)( filter_t * );
picture_t * (*pf_buffer_new) ( filter_t * );
void (*pf_buffer_del) ( filter_t *, picture_t * );
/* Filter mouse state.
const vlc_mouse_t *p_new );
} video;
#define pf_video_filter u.video.pf_filter
+#define pf_video_flush u.video.pf_flush
#define pf_video_mouse u.video.pf_mouse
#define pf_video_buffer_new u.video.pf_buffer_new
#define pf_video_buffer_del u.video.pf_buffer_del
p_filter->pf_video_buffer_del( p_filter, p_picture );
}
+/**
+ * This function will flush the state of a video filter.
+ */
+static inline void filter_FlushPictures( filter_t *p_filter )
+{
+ if( p_filter->pf_video_flush )
+ p_filter->pf_video_flush( p_filter );
+}
+
/**
* This function will return a new subpicture usable by p_filter as an output
* buffer. You have to release it using filter_DeleteSubpicture or by returning
* Only the chroma properties of the dest format is used (chroma
* type, rgb masks and shifts)
*/
-VLC_EXPORT( filter_t *, filter_NewBlend, ( vlc_object_t *, const video_format_t *p_dst_chroma ) );
+VLC_EXPORT( filter_t *, filter_NewBlend, ( vlc_object_t *, const video_format_t *p_dst_chroma ) LIBVLC_USED );
/**
* It configures blend filter parameters that are allowed to changed
* \param p_buffer_allocation_data pointer to private allocation data
* \return pointer to a filter chain
*/
-VLC_EXPORT( filter_chain_t *, filter_chain_New, ( vlc_object_t *, const char *, bool, int (*)( filter_t *, void * ), void (*)( filter_t * ), void * ) );
+VLC_EXPORT( filter_chain_t *, filter_chain_New, ( vlc_object_t *, const char *, bool, int (*)( filter_t *, void * ), void (*)( filter_t * ), void * ) LIBVLC_USED );
#define filter_chain_New( a, b, c, d, e, f ) filter_chain_New( VLC_OBJECT( a ), b, c, d, e, f )
/**
*/
VLC_EXPORT( picture_t *, filter_chain_VideoFilter, ( filter_chain_t *, picture_t * ) );
+/**
+ * Flush a video filter chain.
+ */
+VLC_EXPORT( void, filter_chain_VideoFlush, ( filter_chain_t * ) );
+
/**
* Apply the filter chain to a audio block.
*