[vlc-devel] [RFC PATCH 1/5] filter: add a way to signal error from callbacks
Thomas Guillem
thomas at gllm.fr
Thu Feb 28 16:59:50 CET 2019
TODO:
- document for video/spu
- Check if all filters are loaded with error = false
---
include/vlc_filter.h | 9 ++++++++-
src/misc/filter.c | 1 +
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/include/vlc_filter.h b/include/vlc_filter.h
index b2a8f871a4..4822de7771 100644
--- a/include/vlc_filter.h
+++ b/include/vlc_filter.h
@@ -83,12 +83,19 @@ struct filter_t
/* Filter configuration */
config_chain_t * p_cfg;
+ /** Set to true to signal an error from any callbacks */
+ bool error;
+
union
{
/** Filter a picture (video filter) */
picture_t * (*pf_video_filter)( filter_t *, picture_t * );
- /** Filter an audio block (audio filter) */
+ /**
+ * Filter an audio block (audio filter)A
+ * @return a valid output block or NULL (if the module need more data
+ * to output a block). Set filter_t.error to true to signal an error.
+ */
block_t * (*pf_audio_filter)( filter_t *, block_t * );
/** Blend a subpicture onto a picture (blend) */
diff --git a/src/misc/filter.c b/src/misc/filter.c
index 465677a12f..678b88965e 100644
--- a/src/misc/filter.c
+++ b/src/misc/filter.c
@@ -148,6 +148,7 @@ int filter_ConfigureBlend( filter_t *p_blend,
p_blend->fmt_out.video.i_visible_width = i_dst_width;
p_blend->fmt_out.video.i_height =
p_blend->fmt_out.video.i_visible_height = i_dst_height;
+ p_blend->error = false;
/* */
if( !p_blend->p_module )
--
2.20.1
More information about the vlc-devel
mailing list