[vlc-commits] vout: call destructor directly

Rémi Denis-Courmont git at videolan.org
Sun Mar 17 11:25:28 CET 2019


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sat Mar 16 17:30:22 2019 +0200| [50258edb28251ee3a73b1a9d4862160b62ad2bc0] | committer: Rémi Denis-Courmont

vout: call destructor directly

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=50258edb28251ee3a73b1a9d4862160b62ad2bc0
---

 src/video_output/video_output.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index 8e2700a0c0..40a8383d61 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -1699,6 +1699,8 @@ void vout_Close(vout_thread_t *vout)
     vout_Release(vout);
 }
 
+static void VoutDestructor(vout_thread_t *vout);
+
 void vout_Release(vout_thread_t *vout)
 {
     vout_thread_sys_t *sys = vout->p;
@@ -1706,16 +1708,12 @@ void vout_Release(vout_thread_t *vout)
     if (atomic_fetch_sub_explicit(&sys->refs, 1, memory_order_release))
         return;
 
+    VoutDestructor(vout);
     vlc_object_delete(VLC_OBJECT(vout));
 }
 
-static void VoutDestructor(vlc_object_t *object)
+static void VoutDestructor(vout_thread_t *vout)
 {
-    vout_thread_t *vout = (vout_thread_t *)object;
-
-    /* Make sure the vout was stopped first */
-    //assert(!vout->p_module);
-
     free(vout->p->splitter_name);
 
     /* Destroy the locks */
@@ -1796,7 +1794,6 @@ vout_thread_t *vout_Create(vlc_object_t *object)
     vout_chrono_Init(&sys->render, 5, VLC_TICK_FROM_MS(10));
 
     /* */
-    vlc_object_set_destructor(vout, VoutDestructor);
     atomic_init(&sys->refs, 0);
 
     if (sys->display_cfg.window == NULL) {



More information about the vlc-commits mailing list