[vlc-devel] [PATCH v3 3/3] display: set the capability at the same time as the (de)activate callbacks
Steve Lhomme
robux4 at ycbcr.xyz
Tue Jul 9 15:29:12 CEST 2019
Another benefit of factorizing the capability, we change the name with a
minimum of files changed.
On 2019-07-09 15:19, Steve Lhomme wrote:
> ---
> include/vlc_vout_display.h | 3 ++-
> modules/hw/mmal/vout.c | 3 +--
> modules/hw/vdpau/display.c | 3 +--
> modules/video_output/android/display.c | 6 ++----
> modules/video_output/caca.c | 3 +--
> modules/video_output/caopengllayer.m | 3 +--
> modules/video_output/decklink.cpp | 3 +--
> modules/video_output/fb.c | 3 +--
> modules/video_output/flaschen.c | 3 +--
> modules/video_output/ios.m | 3 +--
> modules/video_output/kms.c | 3 +--
> modules/video_output/kva.c | 3 +--
> modules/video_output/macosx.m | 3 +--
> modules/video_output/opengl/display.c | 6 ++----
> modules/video_output/splitter.c | 3 +--
> modules/video_output/vdummy.c | 6 ++----
> modules/video_output/vmem.c | 3 +--
> modules/video_output/vulkan/display.c | 3 +--
> modules/video_output/wayland/shm.c | 3 +--
> modules/video_output/win32/direct3d11.c | 3 +--
> modules/video_output/win32/direct3d9.c | 3 +--
> modules/video_output/win32/glwin32.c | 3 +--
> modules/video_output/win32/wingdi.c | 3 +--
> modules/video_output/xcb/render.c | 3 +--
> modules/video_output/xcb/x11.c | 3 +--
> modules/video_output/yuv.c | 3 +--
> 26 files changed, 30 insertions(+), 57 deletions(-)
>
> diff --git a/include/vlc_vout_display.h b/include/vlc_vout_display.h
> index dc94a8971d4..cf3810ed9a4 100644
> --- a/include/vlc_vout_display.h
> +++ b/include/vlc_vout_display.h
> @@ -208,9 +208,10 @@ typedef int (*vout_display_open_cb)(vout_display_t *vd,
> video_format_t *fmtp,
> vlc_video_context *context);
>
> -#define set_callbacks_display(Activate, Deactivate) \
> +#define set_callbacks_display(Activate, Deactivate, priority) \
> static_assert(_Generic( Activate, vout_display_open_cb: 1, default: 0 ) == 1, \
> "Not a display activate callback"); \
> + set_capability("vout display", priority) \
> set_callbacks( Activate, Deactivate )
>
> /**
> diff --git a/modules/hw/mmal/vout.c b/modules/hw/mmal/vout.c
> index 3c5ceeb6816..03aa6719cf9 100644
> --- a/modules/hw/mmal/vout.c
> +++ b/modules/hw/mmal/vout.c
> @@ -74,7 +74,6 @@ static void Close(vout_display_t *vd);
> vlc_module_begin()
> set_shortname(N_("MMAL vout"))
> set_description(N_("MMAL-based vout plugin for Raspberry Pi"))
> - set_capability("vout display", 90)
> add_shortcut("mmal_vout")
> add_integer(MMAL_LAYER_NAME, 1, MMAL_LAYER_TEXT, MMAL_LAYER_LONGTEXT, false)
> add_bool(MMAL_BLANK_BACKGROUND_NAME, true, MMAL_BLANK_BACKGROUND_TEXT,
> @@ -83,7 +82,7 @@ vlc_module_begin()
> MMAL_ADJUST_REFRESHRATE_LONGTEXT, false)
> add_bool(MMAL_NATIVE_INTERLACED, false, MMAL_NATIVE_INTERLACE_TEXT,
> MMAL_NATIVE_INTERLACE_LONGTEXT, false)
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close, 90)
> vlc_module_end()
>
> struct dmx_region_t {
> diff --git a/modules/hw/vdpau/display.c b/modules/hw/vdpau/display.c
> index c1891ae713d..acd7a856c12 100644
> --- a/modules/hw/vdpau/display.c
> +++ b/modules/hw/vdpau/display.c
> @@ -46,8 +46,7 @@ vlc_module_begin()
> set_description(N_("VDPAU output"))
> set_category(CAT_VIDEO)
> set_subcategory(SUBCAT_VIDEO_VOUT)
> - set_capability("vout display", 0)
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close, 0)
>
> add_shortcut("vdpau")
> vlc_module_end()
> diff --git a/modules/video_output/android/display.c b/modules/video_output/android/display.c
> index 63cbfc28493..1b28bea50d7 100644
> --- a/modules/video_output/android/display.c
> +++ b/modules/video_output/android/display.c
> @@ -62,15 +62,13 @@ vlc_module_begin()
> set_category(CAT_VIDEO)
> set_subcategory(SUBCAT_VIDEO_VOUT)
> set_description("Android video output")
> - set_capability("vout display", 260)
> add_shortcut("android-display")
> add_string(CFG_PREFIX "chroma", NULL, CHROMA_TEXT, CHROMA_LONGTEXT, true)
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close, 260)
> add_submodule ()
> set_description("Android opaque video output")
> - set_capability("vout display", 280)
> add_shortcut("android-opaque")
> - set_callbacks_display(OpenOpaque, Close)
> + set_callbacks_display(OpenOpaque, Close, 280)
> vlc_module_end()
>
> /*****************************************************************************
> diff --git a/modules/video_output/caca.c b/modules/video_output/caca.c
> index 6d79c658142..98e5e61b7ab 100644
> --- a/modules/video_output/caca.c
> +++ b/modules/video_output/caca.c
> @@ -530,6 +530,5 @@ vlc_module_begin()
> set_category(CAT_VIDEO)
> set_subcategory(SUBCAT_VIDEO_VOUT)
> set_description(N_("Color ASCII art video output"))
> - set_capability("vout display", 15)
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close, 15)
> vlc_module_end()
> diff --git a/modules/video_output/caopengllayer.m b/modules/video_output/caopengllayer.m
> index 8aac36ada9a..00d2477f845 100644
> --- a/modules/video_output/caopengllayer.m
> +++ b/modules/video_output/caopengllayer.m
> @@ -53,10 +53,9 @@ static void Close(vout_display_t *vd);
>
> vlc_module_begin()
> set_description(N_("Core Animation OpenGL Layer (Mac OS X)"))
> - set_capability("vout display", 0)
> set_category(CAT_VIDEO)
> set_subcategory(SUBCAT_VIDEO_VOUT)
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close, 0)
> vlc_module_end()
>
> static picture_pool_t *Pool (vout_display_t *vd, unsigned requested_count);
> diff --git a/modules/video_output/decklink.cpp b/modules/video_output/decklink.cpp
> index f28e3c772fe..177720cccc0 100644
> --- a/modules/video_output/decklink.cpp
> +++ b/modules/video_output/decklink.cpp
> @@ -254,8 +254,7 @@ vlc_module_begin()
> set_description (N_("DeckLink Video Output module"))
> set_category(CAT_VIDEO)
> set_subcategory(SUBCAT_VIDEO_VOUT)
> - set_capability("vout display", 0)
> - set_callbacks_display (OpenVideo, CloseVideo)
> + set_callbacks_display (OpenVideo, CloseVideo, 0)
> set_section(N_("DeckLink Video Options"), NULL)
> add_string(VIDEO_CFG_PREFIX "video-connection", "sdi",
> VIDEO_CONNECTION_TEXT, VIDEO_CONNECTION_LONGTEXT, true)
> diff --git a/modules/video_output/fb.c b/modules/video_output/fb.c
> index 41cdcc9821f..d5859451926 100644
> --- a/modules/video_output/fb.c
> +++ b/modules/video_output/fb.c
> @@ -87,8 +87,7 @@ vlc_module_begin ()
> true)
> add_obsolete_bool("fb-hw-accel") /* since 4.0.0 */
> set_description(N_("GNU/Linux framebuffer video output"))
> - set_capability("vout display", 30)
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close, 30)
> vlc_module_end ()
>
> /*****************************************************************************
> diff --git a/modules/video_output/flaschen.c b/modules/video_output/flaschen.c
> index 20941e745ba..b316b5b0650 100644
> --- a/modules/video_output/flaschen.c
> +++ b/modules/video_output/flaschen.c
> @@ -61,8 +61,7 @@ static void Close(vout_display_t *vd);
> vlc_module_begin ()
> set_shortname( N_("Flaschen") )
> set_description( N_("Flaschen-Taschen video output") )
> - set_capability( "vout display", 0 )
> - set_callbacks_display( Open, Close )
> + set_callbacks_display( Open, Close, 0 )
> add_shortcut( "flaschen" )
>
> set_category( CAT_VIDEO )
> diff --git a/modules/video_output/ios.m b/modules/video_output/ios.m
> index ce0b46681c5..cd7a49cebf8 100644
> --- a/modules/video_output/ios.m
> +++ b/modules/video_output/ios.m
> @@ -73,8 +73,7 @@ vlc_module_begin ()
> set_description("iOS OpenGL video output")
> set_category(CAT_VIDEO)
> set_subcategory(SUBCAT_VIDEO_VOUT)
> - set_capability("vout display", 300)
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close, 300)
>
> add_shortcut("vout_ios2", "vout_ios")
> add_glopts()
> diff --git a/modules/video_output/kms.c b/modules/video_output/kms.c
> index 0d27d0d574a..4304235c925 100644
> --- a/modules/video_output/kms.c
> +++ b/modules/video_output/kms.c
> @@ -788,6 +788,5 @@ vlc_module_begin ()
> add_string( "kms-drm-chroma", NULL, DRM_CHROMA_TEXT, DRM_CHROMA_LONGTEXT,
> true)
> set_description("Linux kernel mode setting video output")
> - set_capability("vout display", 30)
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close, 30)
> vlc_module_end ()
> diff --git a/modules/video_output/kva.c b/modules/video_output/kva.c
> index b59b8e2efcf..13161cc5e99 100644
> --- a/modules/video_output/kva.c
> +++ b/modules/video_output/kva.c
> @@ -70,9 +70,8 @@ vlc_module_begin ()
> change_string_list( ppsz_kva_video_mode, ppsz_kva_video_mode_text )
> add_bool( "kva-fixt23", false, KVA_FIXT23_TEXT, KVA_FIXT23_LONGTEXT, true )
> set_description( N_("K Video Acceleration video output") )
> - set_capability( "vout display", 100 )
> add_shortcut( "kva" )
> - set_callbacks_display( Open, Close )
> + set_callbacks_display( Open, Close, 100 )
> vlc_module_end ()
>
> /*****************************************************************************
> diff --git a/modules/video_output/macosx.m b/modules/video_output/macosx.m
> index d69efbf1d00..49596aa0d26 100644
> --- a/modules/video_output/macosx.m
> +++ b/modules/video_output/macosx.m
> @@ -76,8 +76,7 @@ vlc_module_begin ()
> set_description (N_("Mac OS X OpenGL video output"))
> set_category (CAT_VIDEO)
> set_subcategory (SUBCAT_VIDEO_VOUT)
> - set_capability ("vout display", 300)
> - set_callbacks_display (Open, Close)
> + set_callbacks_display (Open, Close, 300)
> add_shortcut ("macosx", "vout_macosx")
> add_glopts ()
> vlc_module_end ()
> diff --git a/modules/video_output/opengl/display.c b/modules/video_output/opengl/display.c
> index d99a1b6e6d7..afec7b5c422 100644
> --- a/modules/video_output/opengl/display.c
> +++ b/modules/video_output/opengl/display.c
> @@ -49,8 +49,7 @@ vlc_module_begin ()
> # define MODULE_VARNAME "gles2"
> set_shortname (N_("OpenGL ES2"))
> set_description (N_("OpenGL for Embedded Systems 2 video output"))
> - set_capability ("vout display", 265)
> - set_callbacks_display (Open, Close)
> + set_callbacks_display (Open, Close, 265)
> add_shortcut ("opengles2", "gles2")
> add_module("gles2", "opengl es2", NULL, GLES2_TEXT, PROVIDER_LONGTEXT)
>
> @@ -62,8 +61,7 @@ vlc_module_begin ()
> set_description (N_("OpenGL video output"))
> set_category (CAT_VIDEO)
> set_subcategory (SUBCAT_VIDEO_VOUT)
> - set_capability ("vout display", 270)
> - set_callbacks_display (Open, Close)
> + set_callbacks_display (Open, Close, 270)
> add_shortcut ("opengl", "gl")
> add_module("gl", "opengl", NULL, GL_TEXT, PROVIDER_LONGTEXT)
> #endif
> diff --git a/modules/video_output/splitter.c b/modules/video_output/splitter.c
> index 89c54508201..677ce4d2596 100644
> --- a/modules/video_output/splitter.c
> +++ b/modules/video_output/splitter.c
> @@ -335,8 +335,7 @@ vlc_module_begin()
> set_description(N_("Video splitter display plugin"))
> set_category(CAT_VIDEO)
> set_subcategory(SUBCAT_VIDEO_VOUT)
> - set_capability("vout display", 0)
> - set_callbacks_display(vlc_vidsplit_Open, vlc_vidsplit_Close)
> + set_callbacks_display(vlc_vidsplit_Open, vlc_vidsplit_Close, 0)
> add_module("video-splitter", "video splitter", NULL,
> N_("Video splitter module"), N_("Video splitter module"))
> vlc_module_end()
> diff --git a/modules/video_output/vdummy.c b/modules/video_output/vdummy.c
> index 1d6c1cfe395..7fb35c25737 100644
> --- a/modules/video_output/vdummy.c
> +++ b/modules/video_output/vdummy.c
> @@ -46,8 +46,7 @@ static int OpenStats(vout_display_t *vd, const vout_display_cfg_t *cfg,
> vlc_module_begin ()
> set_shortname( N_("Dummy") )
> set_description( N_("Dummy video output") )
> - set_capability( "vout display", 0 )
> - set_callbacks_display( OpenDummy, NULL )
> + set_callbacks_display( OpenDummy, NULL, 0 )
> add_shortcut( "dummy" )
>
> set_category( CAT_VIDEO )
> @@ -56,9 +55,8 @@ vlc_module_begin ()
>
> add_submodule ()
> set_description( N_("Statistics video output") )
> - set_capability( "vout display", 0 )
> add_shortcut( "stats" )
> - set_callbacks_display( OpenStats, NULL )
> + set_callbacks_display( OpenStats, NULL, 0 )
> vlc_module_end ()
>
>
> diff --git a/modules/video_output/vmem.c b/modules/video_output/vmem.c
> index 4506703ecfc..f8e0fbee1a9 100644
> --- a/modules/video_output/vmem.c
> +++ b/modules/video_output/vmem.c
> @@ -61,7 +61,6 @@ vlc_module_begin()
>
> set_category(CAT_VIDEO)
> set_subcategory(SUBCAT_VIDEO_VOUT)
> - set_capability("vout display", 0)
>
> add_integer("vmem-width", 320, T_WIDTH, LT_WIDTH, false)
> change_private()
> @@ -75,7 +74,7 @@ vlc_module_begin()
> add_obsolete_string("vmem-unlock") /* obsoleted since 1.1.1 */
> add_obsolete_string("vmem-data") /* obsoleted since 1.1.1 */
>
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close, 0)
> vlc_module_end()
>
> /*****************************************************************************
> diff --git a/modules/video_output/vulkan/display.c b/modules/video_output/vulkan/display.c
> index 1af573b1f1d..c085e07f5d9 100644
> --- a/modules/video_output/vulkan/display.c
> +++ b/modules/video_output/vulkan/display.c
> @@ -391,8 +391,7 @@ vlc_module_begin ()
> set_description (N_("Vulkan video output"))
> set_category (CAT_VIDEO)
> set_subcategory (SUBCAT_VIDEO_VOUT)
> - set_capability ("vout display", 0)
> - set_callbacks_display (Open, Close)
> + set_callbacks_display (Open, Close, 0)
> add_shortcut ("vulkan", "vk")
> add_module ("vk", "vulkan", NULL, VK_TEXT, PROVIDER_LONGTEXT)
>
> diff --git a/modules/video_output/wayland/shm.c b/modules/video_output/wayland/shm.c
> index 5ced9b206d2..6cea58d300a 100644
> --- a/modules/video_output/wayland/shm.c
> +++ b/modules/video_output/wayland/shm.c
> @@ -399,7 +399,6 @@ vlc_module_begin()
> set_description(N_("Wayland shared memory video output"))
> set_category(CAT_VIDEO)
> set_subcategory(SUBCAT_VIDEO_VOUT)
> - set_capability("vout display", 170)
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close, 170)
> add_shortcut("wl")
> vlc_module_end()
> diff --git a/modules/video_output/win32/direct3d11.c b/modules/video_output/win32/direct3d11.c
> index 16752161045..7b5f19d2dee 100644
> --- a/modules/video_output/win32/direct3d11.c
> +++ b/modules/video_output/win32/direct3d11.c
> @@ -84,9 +84,8 @@ vlc_module_begin ()
> add_integer("winrt-swapchain", 0x0, NULL, NULL, true) /* IDXGISwapChain1* */
> #endif
>
> - set_capability("vout display", 300)
> add_shortcut("direct3d11")
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close,300)
> vlc_module_end ()
>
> struct vout_display_sys_t
> diff --git a/modules/video_output/win32/direct3d9.c b/modules/video_output/win32/direct3d9.c
> index b30a22dee20..0b5599ee569 100644
> --- a/modules/video_output/win32/direct3d9.c
> +++ b/modules/video_output/win32/direct3d9.c
> @@ -113,9 +113,8 @@ vlc_module_begin ()
> add_loadfile("direct3d9-shader-file", NULL,
> PIXEL_SHADER_FILE_TEXT, PIXEL_SHADER_FILE_LONGTEXT)
>
> - set_capability("vout display", 280)
> add_shortcut("direct3d9", "direct3d")
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close, 280)
>
> #ifdef HAVE_GL
> add_submodule()
> diff --git a/modules/video_output/win32/glwin32.c b/modules/video_output/win32/glwin32.c
> index fce46d879cf..4b03e0ea25c 100644
> --- a/modules/video_output/win32/glwin32.c
> +++ b/modules/video_output/win32/glwin32.c
> @@ -49,9 +49,8 @@ vlc_module_begin()
> set_subcategory(SUBCAT_VIDEO_VOUT)
> set_shortname("OpenGL")
> set_description(N_("OpenGL video output for Windows"))
> - set_capability("vout display", 275)
> add_shortcut("glwin32", "opengl")
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close, 275)
> add_glopts()
> vlc_module_end()
>
> diff --git a/modules/video_output/win32/wingdi.c b/modules/video_output/win32/wingdi.c
> index d5fbb565ef2..be0556b2456 100644
> --- a/modules/video_output/win32/wingdi.c
> +++ b/modules/video_output/win32/wingdi.c
> @@ -51,8 +51,7 @@ vlc_module_begin ()
> set_subcategory(SUBCAT_VIDEO_VOUT)
> set_shortname("GDI")
> set_description(N_("Windows GDI video output"))
> - set_capability("vout display", 110)
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close, 110)
> vlc_module_end ()
>
>
> diff --git a/modules/video_output/xcb/render.c b/modules/video_output/xcb/render.c
> index 5a79bc37810..524eb1d4a18 100644
> --- a/modules/video_output/xcb/render.c
> +++ b/modules/video_output/xcb/render.c
> @@ -713,8 +713,7 @@ vlc_module_begin()
> set_description(N_("X11 RENDER video output (XCB)"))
> set_category(CAT_VIDEO)
> set_subcategory(SUBCAT_VIDEO_VOUT)
> - set_capability("vout display", 200)
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close, 200)
> add_shortcut("x11-render", "xcb-render", "render")
> add_string("x11-render-filter", "good", N_("Scaling mode"),
> N_("Scaling mode"), true)
> diff --git a/modules/video_output/xcb/x11.c b/modules/video_output/xcb/x11.c
> index 4d4109bbd5d..dd1e9f7a66a 100644
> --- a/modules/video_output/xcb/x11.c
> +++ b/modules/video_output/xcb/x11.c
> @@ -354,8 +354,7 @@ vlc_module_begin()
> set_description(N_("X11 video output (XCB)"))
> set_category(CAT_VIDEO)
> set_subcategory(SUBCAT_VIDEO_VOUT)
> - set_capability("vout display", 100)
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close, 100)
> add_shortcut("xcb-x11", "x11")
>
> add_obsolete_bool("x11-shm") /* obsoleted since 2.0.0 */
> diff --git a/modules/video_output/yuv.c b/modules/video_output/yuv.c
> index ba590227406..7f4c4333a3c 100644
> --- a/modules/video_output/yuv.c
> +++ b/modules/video_output/yuv.c
> @@ -58,7 +58,6 @@ vlc_module_begin()
> set_description(N_("YUV video output"))
> set_category(CAT_VIDEO)
> set_subcategory(SUBCAT_VIDEO_VOUT)
> - set_capability("vout display", 0)
>
> add_string(CFG_PREFIX "file", "stream.yuv",
> YUV_FILE_TEXT, YUV_FILE_LONGTEXT, false)
> @@ -67,7 +66,7 @@ vlc_module_begin()
> add_bool (CFG_PREFIX "yuv4mpeg2", false,
> YUV4MPEG2_TEXT, YUV4MPEG2_LONGTEXT, true)
>
> - set_callbacks_display(Open, Close)
> + set_callbacks_display(Open, Close, 0)
> vlc_module_end()
>
> /*****************************************************************************
> --
> 2.17.1
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
>
More information about the vlc-devel
mailing list