[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