<html><head></head><body>Hi,<br><br>Yeah we should, but it's conceptually orthogonal.<br><br><div class="gmail_quote">Le 25 juillet 2019 07:40:59 GMT+03:00, Steve Lhomme <robux4@ycbcr.xyz> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">No objection, although shouldn't we use the "operations" callbacks so <br>the code is consitent ?<br><br>On 2019-07-24 21:38, Rémi Denis-Courmont wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"><hr>  include/vlc_vout_display.h              | 21 +++++----------------<br>  modules/hw/mmal/vout.c                  |  3 ++-<br>  modules/hw/vdpau/display.c              |  3 ++-<br>  modules/video_output/android/display.c  |  5 +++--<br>  modules/video_output/caca.c             |  3 ++-<br>  modules/video_output/caopengllayer.m    |  3 ++-<br>  modules/video_output/decklink.cpp       |  3 ++-<br>  modules/video_output/fb.c               |  3 ++-<br>  modules/video_output/flaschen.c         |  3 ++-<br>  modules/video_output/ios.m              |  3 ++-<br>  modules/video_output/kms.c              |  3 ++-<br>  modules/video_output/kva.c              |  3 ++-<br>  modules/video_output/macosx.m           |  3 ++-<br>  modules/video_output/opengl/display.c   |  5 +++--<br>  modules/video_output/splitter.c         |  3 ++-<br>  modules/video_output/vmem.c             |  3 ++-<br>  modules/video_output/vulkan/display.c   |  4 +++-<br>  modules/video_output/wayland/shm.c      |  3 ++-<br>  modules/video_output/win32/direct3d11.c |  3 ++-<br>  modules/video_output/win32/direct3d9.c  |  3 ++-<br>  modules/video_output/win32/glwin32.c    |  3 ++-<br>  modules/video_output/win32/wingdi.c     |  3 ++-<br>  modules/video_output/xcb/render.c       |  3 ++-<br>  modules/video_output/xcb/x11.c          |  3 ++-<br>  modules/video_output/yuv.c              |  3 ++-<br>  src/video_output/display.c              | 14 +++++---------<br>  26 files changed, 61 insertions(+), 51 deletions(-)<br><br>diff --git a/include/vlc_vout_display.h b/include/vlc_vout_display.h<br>index a8cd4352bd..42484514b6 100644<br>--- a/include/vlc_vout_display.h<br>+++ b/include/vlc_vout_display.h<br>@@ -208,22 +208,6 @@ typedef int (*vout_display_open_cb)(vout_display_t *vd,<br>                                      video_format_t *fmtp,<br>                                      vlc_video_context *context);<br>  <br>-/**<br>- * "vout display" close callback<br>- *<br>- * @param vd vout display context<br>- */<br>-typedef void (*vout_display_close_cb)(vout_display_t *vd);<br>-<br>-#define set_callbacks_display(activate, deactivate, priority) \<br>-    { \<br>-        vout_display_open_cb open__ = activate; \<br>-        vout_display_close_cb close__ = deactivate; \<br>-        (void) open__; (void) close__; \<br>-        set_callbacks(activate, deactivate) \<br>-    } \<br>-    set_capability( "vout display", priority )<br>-<br>  #define set_callback_display(activate, priority) \<br>      { \<br>          vout_display_open_cb open__ = activate; \<br>@@ -305,6 +289,11 @@ struct vout_display_t {<br>      /* Control on the module (mandatory) */<br>      int        (*control)(vout_display_t *, int, va_list);<br>  <br>+    /**<br>+     * Destroys the display.<br>+     */<br>+    void (*close)(vout_display_t *);<br>+<br>      /* Private place holder for the vout_display_t module (optional)<br>       *<br>       * A module is free to use it as it wishes.<br>diff --git a/modules/hw/mmal/vout.c b/modules/hw/mmal/vout.c<br>index 03aa6719cf..bfed91588e 100644<br>--- a/modules/hw/mmal/vout.c<br>+++ b/modules/hw/mmal/vout.c<br>@@ -82,7 +82,7 @@ vlc_module_begin()<br>                      MMAL_ADJUST_REFRESHRATE_LONGTEXT, false)<br>      add_bool(MMAL_NATIVE_INTERLACED, false, MMAL_NATIVE_INTERLACE_TEXT,<br>                      MMAL_NATIVE_INTERLACE_LONGTEXT, false)<br>-    set_callbacks_display(Open, Close, 90)<br>+    set_callback_display(Open, 90)<br>  vlc_module_end()<br>  <br>  struct dmx_region_t {<br>@@ -301,6 +301,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = vd_prepare;<br>      vd->display = vd_display;<br>      vd->control = vd_control;<br>+    vd->close = Close;<br>  <br>      vc_tv_register_callback(tvservice_cb, vd);<br>  <br>diff --git a/modules/hw/vdpau/display.c b/modules/hw/vdpau/display.c<br>index acd7a856c1..33d16d5298 100644<br>--- a/modules/hw/vdpau/display.c<br>+++ b/modules/hw/vdpau/display.c<br>@@ -46,7 +46,7 @@ vlc_module_begin()<br>      set_description(N_("VDPAU output"))<br>      set_category(CAT_VIDEO)<br>      set_subcategory(SUBCAT_VIDEO_VOUT)<br>-    set_callbacks_display(Open, Close, 0)<br>+    set_callback_display(Open, 0)<br>  <br>      add_shortcut("vdpau")<br>  vlc_module_end()<br>@@ -503,6 +503,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = Queue;<br>      vd->display = Wait;<br>      vd->control = Control;<br>+    vd->close = Close;<br>  <br>      (void) context;<br>      return VLC_SUCCESS;<br>diff --git a/modules/video_output/android/display.c b/modules/video_output/android/display.c<br>index 1b28bea50d..6d60b10fa8 100644<br>--- a/modules/video_output/android/display.c<br>+++ b/modules/video_output/android/display.c<br>@@ -64,11 +64,11 @@ vlc_module_begin()<br>      set_description("Android video output")<br>      add_shortcut("android-display")<br>      add_string(CFG_PREFIX "chroma", NULL, CHROMA_TEXT, CHROMA_LONGTEXT, true)<br>-    set_callbacks_display(Open, Close, 260)<br>+    set_callback_display(Open, 260)<br>      add_submodule ()<br>          set_description("Android opaque video output")<br>          add_shortcut("android-opaque")<br>-        set_callbacks_display(OpenOpaque, Close, 280)<br>+        set_callback_display(OpenOpaque, 280)<br>  vlc_module_end()<br>  <br>  /*****************************************************************************<br>@@ -610,6 +610,7 @@ static int OpenCommon(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = Prepare;<br>      vd->display = Display;<br>      vd->control = Control;<br>+    vd->close = Close;<br>      vd->info.is_slow = !sys->p_window->b_opaque;<br>  <br>      return VLC_SUCCESS;<br>diff --git a/modules/video_output/caca.c b/modules/video_output/caca.c<br>index c88d255482..f95d985034 100644<br>--- a/modules/video_output/caca.c<br>+++ b/modules/video_output/caca.c<br>@@ -499,6 +499,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = Prepare;<br>      vd->display = PictureDisplay;<br>      vd->control = Control;<br>+    vd->close = Close;<br>  <br>      /* Fix initial state */<br>      caca_refresh_display(sys->dp);<br>@@ -532,5 +533,5 @@ vlc_module_begin()<br>      set_category(CAT_VIDEO)<br>      set_subcategory(SUBCAT_VIDEO_VOUT)<br>      set_description(N_("Color ASCII art video output"))<br>-    set_callbacks_display(Open, Close, 15)<br>+    set_callback_display(Open, 15)<br>  vlc_module_end()<br>diff --git a/modules/video_output/caopengllayer.m b/modules/video_output/caopengllayer.m<br>index 7c6cfac290..3b542d1e63 100644<br>--- a/modules/video_output/caopengllayer.m<br>+++ b/modules/video_output/caopengllayer.m<br>@@ -55,7 +55,7 @@ vlc_module_begin()<br>      set_description(N_("Core Animation OpenGL Layer (Mac OS X)"))<br>      set_category(CAT_VIDEO)<br>      set_subcategory(SUBCAT_VIDEO_VOUT)<br>-    set_callbacks_display(Open, Close, 0)<br>+    set_callback_display(Open, 0)<br>  vlc_module_end()<br>  <br>  static picture_pool_t *Pool (vout_display_t *vd, unsigned requested_count);<br>@@ -200,6 +200,7 @@ static int Open (vout_display_t *vd, const vout_display_cfg_t *cfg,<br>          vd->prepare = PictureRender;<br>          vd->display = PictureDisplay;<br>          vd->control = Control;<br>+        vd->close   = Close;<br>  <br>          if (OSX_SIERRA_AND_HIGHER) {<br>              /* request our screen's HDR mode (introduced in OS X 10.11, but correctly supported in 10.12 only) */<br>diff --git a/modules/video_output/decklink.cpp b/modules/video_output/decklink.cpp<br>index 1516f2182d..f4d01fb81d 100644<br>--- a/modules/video_output/decklink.cpp<br>+++ b/modules/video_output/decklink.cpp<br>@@ -254,7 +254,7 @@ vlc_module_begin()<br>      set_description (N_("DeckLink Video Output module"))<br>      set_category(CAT_VIDEO)<br>      set_subcategory(SUBCAT_VIDEO_VOUT)<br>-    set_callbacks_display (OpenVideo, CloseVideo, 0)<br>+    set_callback_display(OpenVideo, 0)<br>      set_section(N_("DeckLink Video Options"), NULL)<br>      add_string(VIDEO_CFG_PREFIX "video-connection", "sdi",<br>                  VIDEO_CONNECTION_TEXT, VIDEO_CONNECTION_LONGTEXT, true)<br>@@ -808,6 +808,7 @@ static int OpenVideo(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = PrepareVideo;<br>      vd->display = NULL;<br>      vd->control = ControlVideo;<br>+    vd->close = CloseVideo;<br>  <br>      vd->sys = (vout_display_sys_t*) sys;<br>  <br>diff --git a/modules/video_output/fb.c b/modules/video_output/fb.c<br>index d585945192..1538af3465 100644<br>--- a/modules/video_output/fb.c<br>+++ b/modules/video_output/fb.c<br>@@ -87,7 +87,7 @@ vlc_module_begin ()<br>                   true)<br>      add_obsolete_bool("fb-hw-accel") /* since 4.0.0 */<br>      set_description(N_("GNU/Linux framebuffer video output"))<br>-    set_callbacks_display(Open, Close, 30)<br>+    set_callback_display(Open, 30)<br>  vlc_module_end ()<br>  <br>  /*****************************************************************************<br>@@ -295,6 +295,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = NULL;<br>      vd->display = Display;<br>      vd->control = Control;<br>+    vd->close = Close;<br>  <br>      (void) context;<br>      return VLC_SUCCESS;<br>diff --git a/modules/video_output/flaschen.c b/modules/video_output/flaschen.c<br>index b316b5b065..00e1e66a34 100644<br>--- a/modules/video_output/flaschen.c<br>+++ b/modules/video_output/flaschen.c<br>@@ -61,7 +61,7 @@ static void Close(vout_display_t *vd);<br>  vlc_module_begin ()<br>      set_shortname( N_("Flaschen") )<br>      set_description( N_("Flaschen-Taschen video output") )<br>-    set_callbacks_display( Open, Close, 0 )<br>+    set_callback_display( Open, 0 )<br>      add_shortcut( "flaschen" )<br>  <br>      set_category( CAT_VIDEO )<br>@@ -141,6 +141,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = NULL;<br>      vd->display = Display;<br>      vd->control = Control;<br>+    vd->close = Close;<br>  <br>      (void) cfg; (void) context;<br>      return VLC_SUCCESS;<br>diff --git a/modules/video_output/ios.m b/modules/video_output/ios.m<br>index e77cc93ea5..b5456cb3e8 100644<br>--- a/modules/video_output/ios.m<br>+++ b/modules/video_output/ios.m<br>@@ -73,7 +73,7 @@ vlc_module_begin ()<br>      set_description("iOS OpenGL video output")<br>      set_category(CAT_VIDEO)<br>      set_subcategory(SUBCAT_VIDEO_VOUT)<br>-    set_callbacks_display(Open, Close, 300)<br>+    set_callback_display(Open, 300)<br>  <br>      add_shortcut("vout_ios2", "vout_ios")<br>      add_glopts()<br>@@ -211,6 +211,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>          vd->prepare = PictureRender;<br>          vd->display = PictureDisplay;<br>          vd->control = Control;<br>+        vd->close   = Close;<br>  <br>          return VLC_SUCCESS;<br>  <br>diff --git a/modules/video_output/kms.c b/modules/video_output/kms.c<br>index 4304235c92..025a4a2f79 100644<br>--- a/modules/video_output/kms.c<br>+++ b/modules/video_output/kms.c<br>@@ -768,6 +768,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = NULL;<br>      vd->display = Display;<br>      vd->control = Control;<br>+    vd->close = Close;<br>  <br>      (void) context;<br>      return VLC_SUCCESS;<br>@@ -788,5 +789,5 @@ vlc_module_begin ()<br>      add_string( "kms-drm-chroma", NULL, DRM_CHROMA_TEXT, DRM_CHROMA_LONGTEXT,<br>                  true)<br>      set_description("Linux kernel mode setting video output")<br>-    set_callbacks_display(Open, Close, 30)<br>+    set_callback_display(Open, 30)<br>  vlc_module_end ()<br>diff --git a/modules/video_output/kva.c b/modules/video_output/kva.c<br>index 13161cc5e9..185e826960 100644<br>--- a/modules/video_output/kva.c<br>+++ b/modules/video_output/kva.c<br>@@ -71,7 +71,7 @@ vlc_module_begin ()<br>      add_bool( "kva-fixt23", false, KVA_FIXT23_TEXT, KVA_FIXT23_LONGTEXT, true )<br>      set_description( N_("K Video Acceleration video output") )<br>      add_shortcut( "kva" )<br>-    set_callbacks_display( Open, Close, 100 )<br>+    set_callback_display( Open, 100 )<br>  vlc_module_end ()<br>  <br>  /*****************************************************************************<br>@@ -274,6 +274,7 @@ static void PMThread( void *arg )<br>      vd->prepare = Prepare;<br>      vd->display = Display;<br>      vd->control = Control;<br>+    vd->close = Close;<br>  <br>      /* Prevent SIG_FPE */<br>      _control87(MCW_EM, MCW_EM);<br>diff --git a/modules/video_output/macosx.m b/modules/video_output/macosx.m<br>index 49596aa0d2..6290bbf763 100644<br>--- a/modules/video_output/macosx.m<br>+++ b/modules/video_output/macosx.m<br>@@ -76,7 +76,7 @@ vlc_module_begin ()<br>      set_description (N_("Mac OS X OpenGL video output"))<br>      set_category (CAT_VIDEO)<br>      set_subcategory (SUBCAT_VIDEO_VOUT)<br>-    set_callbacks_display (Open, Close, 300)<br>+    set_callback_display(Open, 300)<br>      add_shortcut ("macosx", "vout_macosx")<br>      add_glopts ()<br>  vlc_module_end ()<br>@@ -243,6 +243,7 @@ static int Open (vout_display_t *vd, const vout_display_cfg_t *cfg,<br>          vd->prepare = PictureRender;<br>          vd->display = PictureDisplay;<br>          vd->control = Control;<br>+        vd->close   = Close;<br>  <br>          /* */<br>          // FIXME: this call leads to a fatal mutex locking error in vout_ChangeDisplaySize()<br>diff --git a/modules/video_output/opengl/display.c b/modules/video_output/opengl/display.c<br>index afec7b5c42..456304ebdf 100644<br>--- a/modules/video_output/opengl/display.c<br>+++ b/modules/video_output/opengl/display.c<br>@@ -49,7 +49,7 @@ vlc_module_begin ()<br>  # define MODULE_VARNAME "gles2"<br>      set_shortname (N_("OpenGL ES2"))<br>      set_description (N_("OpenGL for Embedded Systems 2 video output"))<br>-    set_callbacks_display (Open, Close, 265)<br>+    set_callback_display(Open, 265)<br>      add_shortcut ("opengles2", "gles2")<br>      add_module("gles2", "opengl es2", NULL, GLES2_TEXT, PROVIDER_LONGTEXT)<br>  <br>@@ -61,7 +61,7 @@ vlc_module_begin ()<br>      set_description (N_("OpenGL video output"))<br>      set_category (CAT_VIDEO)<br>      set_subcategory (SUBCAT_VIDEO_VOUT)<br>-    set_callbacks_display (Open, Close, 270)<br>+    set_callback_display(Open, 270)<br>      add_shortcut ("opengl", "gl")<br>      add_module("gl", "opengl", NULL, GL_TEXT, PROVIDER_LONGTEXT)<br>  #endif<br>@@ -147,6 +147,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = PictureRender;<br>      vd->display = PictureDisplay;<br>      vd->control = Control;<br>+    vd->close = Close;<br>      return VLC_SUCCESS;<br>  <br>  error:<br>diff --git a/modules/video_output/splitter.c b/modules/video_output/splitter.c<br>index 04cf26b7a6..401de4853d 100644<br>--- a/modules/video_output/splitter.c<br>+++ b/modules/video_output/splitter.c<br>@@ -318,6 +318,7 @@ static int vlc_vidsplit_Open(vout_display_t *vd,<br>      vd->prepare = vlc_vidsplit_Prepare;<br>      vd->display = vlc_vidsplit_Display;<br>      vd->control = vlc_vidsplit_Control;<br>+    vd->close = vlc_vidsplit_Close;<br>      (void) cfg; (void) fmtp; (void) ctx;<br>      return VLC_SUCCESS;<br>  }<br>@@ -327,7 +328,7 @@ vlc_module_begin()<br>      set_description(N_("Video splitter display plugin"))<br>      set_category(CAT_VIDEO)<br>      set_subcategory(SUBCAT_VIDEO_VOUT)<br>-    set_callbacks_display(vlc_vidsplit_Open, vlc_vidsplit_Close, 0)<br>+    set_callback_display(vlc_vidsplit_Open, 0)<br>      add_module("video-splitter", "video splitter", NULL,<br>                 N_("Video splitter module"), N_("Video splitter module"))<br>  vlc_module_end()<br>diff --git a/modules/video_output/vmem.c b/modules/video_output/vmem.c<br>index f8e0fbee1a..2bdcd63d9e 100644<br>--- a/modules/video_output/vmem.c<br>+++ b/modules/video_output/vmem.c<br>@@ -74,7 +74,7 @@ vlc_module_begin()<br>      add_obsolete_string("vmem-unlock") /* obsoleted since 1.1.1 */<br>      add_obsolete_string("vmem-data") /* obsoleted since 1.1.1 */<br>  <br>-    set_callbacks_display(Open, Close, 0)<br>+    set_callback_display(Open, 0)<br>  vlc_module_end()<br>  <br>  /*****************************************************************************<br>@@ -219,6 +219,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = Prepare;<br>      vd->display = Display;<br>      vd->control = Control;<br>+    vd->close   = Close;<br>  <br>      (void) cfg; (void) context;<br>      return VLC_SUCCESS;<br>diff --git a/modules/video_output/vulkan/display.c b/modules/video_output/vulkan/display.c<br>index 79f6f93964..174627d67d 100644<br>--- a/modules/video_output/vulkan/display.c<br>+++ b/modules/video_output/vulkan/display.c<br>@@ -74,6 +74,7 @@ struct vout_display_sys_t<br>  static void PictureRender(vout_display_t *, picture_t *, subpicture_t *, mtime_t);<br>  static void PictureDisplay(vout_display_t *, picture_t *);<br>  static int Control(vout_display_t *, int, va_list);<br>+static void Close(vout_display_t *);<br>  static void UpdateParams(vout_display_t *);<br>  <br>  // Allocates a Vulkan surface and instance for video output.<br>@@ -141,6 +142,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = PictureRender;<br>      vd->display = PictureDisplay;<br>      vd->control = Control;<br>+    vd->close = Close;<br>  <br>      UpdateParams(vd);<br>      (void) cfg; (void) context;<br>@@ -373,7 +375,7 @@ vlc_module_begin ()<br>      set_description (N_("Vulkan video output"))<br>      set_category (CAT_VIDEO)<br>      set_subcategory (SUBCAT_VIDEO_VOUT)<br>-    set_callbacks_display (Open, Close, 0)<br>+    set_callback_display(Open, 0)<br>      add_shortcut ("vulkan", "vk")<br>      add_module ("vk", "vulkan", NULL, VK_TEXT, PROVIDER_LONGTEXT)<br>  <br>diff --git a/modules/video_output/wayland/shm.c b/modules/video_output/wayland/shm.c<br>index 43e45f2dd8..cf75931aa5 100644<br>--- a/modules/video_output/wayland/shm.c<br>+++ b/modules/video_output/wayland/shm.c<br>@@ -377,6 +377,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = Prepare;<br>      vd->display = Display;<br>      vd->control = Control;<br>+    vd->close = Close;<br>  <br>      (void) context;<br>      return VLC_SUCCESS;<br>@@ -399,6 +400,6 @@ vlc_module_begin()<br>      set_description(N_("Wayland shared memory video output"))<br>      set_category(CAT_VIDEO)<br>      set_subcategory(SUBCAT_VIDEO_VOUT)<br>-    set_callbacks_display(Open, Close, 170)<br>+    set_callback_display(Open, 170)<br>      add_shortcut("wl")<br>  vlc_module_end()<br>diff --git a/modules/video_output/win32/direct3d11.c b/modules/video_output/win32/direct3d11.c<br>index 7b5f19d2de..3ef9dd24a0 100644<br>--- a/modules/video_output/win32/direct3d11.c<br>+++ b/modules/video_output/win32/direct3d11.c<br>@@ -85,7 +85,7 @@ vlc_module_begin ()<br>  #endif<br>  <br>      add_shortcut("direct3d11")<br>-    set_callbacks_display(Open, Close,300)<br>+    set_callback_display(Open, 300)<br>  vlc_module_end ()<br>  <br>  struct vout_display_sys_t<br>@@ -384,6 +384,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = Prepare;<br>      vd->display = Display;<br>      vd->control = Control;<br>+    vd->close = Close;<br>  <br>      msg_Dbg(vd, "Direct3D11 Open Succeeded");<br>  <br>diff --git a/modules/video_output/win32/direct3d9.c b/modules/video_output/win32/direct3d9.c<br>index 215b727846..9c1cf01064 100644<br>--- a/modules/video_output/win32/direct3d9.c<br>+++ b/modules/video_output/win32/direct3d9.c<br>@@ -111,7 +111,7 @@ vlc_module_begin ()<br>                   PIXEL_SHADER_FILE_TEXT, PIXEL_SHADER_FILE_LONGTEXT)<br>  <br>      add_shortcut("direct3d9", "direct3d")<br>-    set_callbacks_display(Open, Close, 280)<br>+    set_callback_display(Open, 280)<br>  <br>  #ifdef HAVE_GL<br>      add_submodule()<br>@@ -1758,6 +1758,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = Prepare;<br>      vd->display = Display;<br>      vd->control = Control;<br>+    vd->close = Close;<br>  <br>      return VLC_SUCCESS;<br>  error:<br>diff --git a/modules/video_output/win32/glwin32.c b/modules/video_output/win32/glwin32.c<br>index 4b03e0ea25..2cc9cadba3 100644<br>--- a/modules/video_output/win32/glwin32.c<br>+++ b/modules/video_output/win32/glwin32.c<br>@@ -50,7 +50,7 @@ vlc_module_begin()<br>      set_shortname("OpenGL")<br>      set_description(N_("OpenGL video output for Windows"))<br>      add_shortcut("glwin32", "opengl")<br>-    set_callbacks_display(Open, Close, 275)<br>+    set_callback_display(Open, 275)<br>      add_glopts()<br>  vlc_module_end()<br>  <br>@@ -166,6 +166,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = Prepare;<br>      vd->display = Display;<br>      vd->control = Control;<br>+    vd->close = Close;<br>  <br>      return VLC_SUCCESS;<br>  <br>diff --git a/modules/video_output/win32/wingdi.c b/modules/video_output/win32/wingdi.c<br>index be0556b245..6653401b78 100644<br>--- a/modules/video_output/win32/wingdi.c<br>+++ b/modules/video_output/win32/wingdi.c<br>@@ -51,7 +51,7 @@ vlc_module_begin ()<br>      set_subcategory(SUBCAT_VIDEO_VOUT)<br>      set_shortname("GDI")<br>      set_description(N_("Windows GDI video output"))<br>-    set_callbacks_display(Open, Close, 110)<br>+    set_callback_display(Open, 110)<br>  vlc_module_end ()<br>  <br>  <br>@@ -128,6 +128,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = Prepare;<br>      vd->display = Display;<br>      vd->control = Control;<br>+    vd->close = Close;<br>      return VLC_SUCCESS;<br>  <br>  error:<br>diff --git a/modules/video_output/xcb/render.c b/modules/video_output/xcb/render.c<br>index 524eb1d4a1..a88cdfcbbc 100644<br>--- a/modules/video_output/xcb/render.c<br>+++ b/modules/video_output/xcb/render.c<br>@@ -690,6 +690,7 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = Prepare;<br>      vd->display = Display;<br>      vd->control = Control;<br>+    vd->close = Close;<br>  <br>      (void) ctx;<br>      return VLC_SUCCESS;<br>@@ -713,7 +714,7 @@ vlc_module_begin()<br>      set_description(N_("X11 RENDER video output (XCB)"))<br>      set_category(CAT_VIDEO)<br>      set_subcategory(SUBCAT_VIDEO_VOUT)<br>-    set_callbacks_display(Open, Close, 200)<br>+    set_callback_display(Open, 200)<br>      add_shortcut("x11-render", "xcb-render", "render")<br>      add_string("x11-render-filter", "good", N_("Scaling mode"),<br>                 N_("Scaling mode"), true)<br>diff --git a/modules/video_output/xcb/x11.c b/modules/video_output/xcb/x11.c<br>index dd1e9f7a66..0f7cf49eb1 100644<br>--- a/modules/video_output/xcb/x11.c<br>+++ b/modules/video_output/xcb/x11.c<br>@@ -337,6 +337,7 @@ static int Open (vout_display_t *vd, const vout_display_cfg_t *cfg,<br>      vd->prepare = Prepare;<br>      vd->display = Display;<br>      vd->control = Control;<br>+    vd->close = Close;<br>  <br>      (void) context;<br>      return VLC_SUCCESS;<br>@@ -354,7 +355,7 @@ vlc_module_begin()<br>      set_description(N_("X11 video output (XCB)"))<br>      set_category(CAT_VIDEO)<br>      set_subcategory(SUBCAT_VIDEO_VOUT)<br>-    set_callbacks_display(Open, Close, 100)<br>+    set_callback_display(Open, 100)<br>      add_shortcut("xcb-x11", "x11")<br>  <br>      add_obsolete_bool("x11-shm") /* obsoleted since 2.0.0 */<br>diff --git a/modules/video_output/yuv.c b/modules/video_output/yuv.c<br>index 7f4c4333a3..c20b93d133 100644<br>--- a/modules/video_output/yuv.c<br>+++ b/modules/video_output/yuv.c<br>@@ -66,7 +66,7 @@ vlc_module_begin()<br>      add_bool  (CFG_PREFIX "yuv4mpeg2", false,<br>                  YUV4MPEG2_TEXT, YUV4MPEG2_LONGTEXT, true)<br>  <br>-    set_callbacks_display(Open, Close, 0)<br>+    set_callback_display(Open, 0)<br>  vlc_module_end()<br>  <br>  /*****************************************************************************<br>@@ -152,6 +152,7 @@ static int Open(vout_display_t *vd, const vout_display_cf</blockquote></pre></blockquote></div><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>