From c5abdf8a63b2c6c8b734c1814b64b191e072f406 Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Tue, 21 Apr 2020 15:30:03 +0900 Subject: [PATCH] d3d11window: Fix videoprocessor leak Clear all objects in dispose function --- sys/d3d11/gstd3d11window.cpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/sys/d3d11/gstd3d11window.cpp b/sys/d3d11/gstd3d11window.cpp index 24f1dc0282..b0f0664e29 100644 --- a/sys/d3d11/gstd3d11window.cpp +++ b/sys/d3d11/gstd3d11window.cpp @@ -268,15 +268,9 @@ gst_d3d11_window_dispose (GObject * object) gst_d3d11_window_release_resources (self->device, self); } - if (self->converter) { - gst_d3d11_color_converter_free (self->converter); - self->converter = NULL; - } - - if (self->compositor) { - gst_d3d11_overlay_compositor_free (self->compositor); - self->compositor = NULL; - } + g_clear_pointer (&self->processor, gst_d3d11_video_processor_free); + g_clear_pointer (&self->converter, gst_d3d11_color_converter_free); + g_clear_pointer (&self->compositor, gst_d3d11_overlay_compositor_free); gst_clear_buffer (&self->cached_buffer); gst_clear_object (&self->device);