From 94dfef68e1d8da4a7434889533de1df83a173906 Mon Sep 17 00:00:00 2001
From: Seungha Yang <seungha@centricular.com>
Date: Wed, 13 Mar 2024 00:42:16 +0900
Subject: [PATCH] d3d12device: Fix IDXGIFactory2 leak

factory passed to gst_d3d12_device_find_adapter() method is valid
handle already

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6340>
---
 .../gst-plugins-bad/sys/d3d12/gstd3d12device.cpp    | 13 -------------
 1 file changed, 13 deletions(-)

diff --git a/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12device.cpp b/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12device.cpp
index c552fd4dd7..fe859ab731 100644
--- a/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12device.cpp
+++ b/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12device.cpp
@@ -670,16 +670,6 @@ gst_d3d12_device_find_adapter (const GstD3D12DeviceConstructData * data,
     IDXGIFactory2 * factory, guint * index, IDXGIAdapter1 ** rst)
 {
   HRESULT hr;
-  UINT factory_flags = 0;
-
-  if (gst_d3d12_device_enable_debug ())
-    factory_flags |= DXGI_CREATE_FACTORY_DEBUG;
-
-  hr = CreateDXGIFactory2 (factory_flags, IID_PPV_ARGS (&factory));
-  if (FAILED (hr)) {
-    GST_WARNING ("cannot create dxgi factory, hr: 0x%x", (guint) hr);
-    return hr;
-  }
 
   switch (data->type) {
     case GST_D3D12_DEVICE_CONSTRUCT_FOR_INDEX:{
@@ -735,9 +725,6 @@ gst_d3d12_device_new_internal (const GstD3D12DeviceConstructData * data)
   GST_DEBUG_CATEGORY_INIT (gst_d3d12_device_debug,
       "d3d12device", 0, "d3d12 device object");
 
-  if (gst_d3d12_device_enable_debug ())
-    factory_flags |= DXGI_CREATE_FACTORY_DEBUG;
-
   hr = CreateDXGIFactory2 (factory_flags, IID_PPV_ARGS (&factory));
   if (FAILED (hr)) {
     GST_WARNING ("Could create dxgi factory, hr: 0x%x", (guint) hr);