[vlc-devel] [PATCH v3 1/3] display: add a macro to set the callbacks and check type of the Open callback
Rémi Denis-Courmont
remi at remlab.net
Tue Jul 9 16:36:41 CEST 2019
Le tiistaina 9. heinäkuuta 2019, 16.19.10 EEST Steve Lhomme a écrit :
> ---
> include/vlc_vout_display.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/include/vlc_vout_display.h b/include/vlc_vout_display.h
> index aa00003c8e0..dc94a8971d4 100644
> --- a/include/vlc_vout_display.h
> +++ b/include/vlc_vout_display.h
> @@ -208,6 +208,11 @@ typedef int (*vout_display_open_cb)(vout_display_t *vd,
> video_format_t *fmtp,
> vlc_video_context *context);
>
> +#define set_callbacks_display(Activate, Deactivate) \
> + static_assert(_Generic( Activate, vout_display_open_cb: 1, default: 0 )
> == 1, \ + "Not a display activate callback"); \
> + set_callbacks( Activate, Deactivate )
I'd move the deactivation callback into vout_display_t, .e.g.:
void (*close)(vout_display_t *);
so that it also gets type checking - or into an ops structure.
This would also be more OOP-style / follow the factory pattern.
--
Реми Дёни-Курмон
http://www.remlab.net/
More information about the vlc-devel
mailing list