d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN
authorSeungha Yang <seungha@centricular.com>
Fri, 10 Sep 2021 15:43:26 +0000 (00:43 +0900)
committerSeungha Yang <seungha@centricular.com>
Thu, 16 Sep 2021 15:48:45 +0000 (00:48 +0900)
Instead, change the file defining debug category to cpp

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2525>

23 files changed:
sys/d3d11/gstd3d11av1dec.cpp
sys/d3d11/gstd3d11compositor.cpp
sys/d3d11/gstd3d11compositorbin.cpp
sys/d3d11/gstd3d11converter.cpp
sys/d3d11/gstd3d11deinterlace.cpp
sys/d3d11/gstd3d11desktopdup.cpp
sys/d3d11/gstd3d11desktopdupsrc.cpp
sys/d3d11/gstd3d11h264dec.cpp
sys/d3d11/gstd3d11h265dec.cpp
sys/d3d11/gstd3d11mpeg2dec.cpp
sys/d3d11/gstd3d11overlaycompositor.cpp
sys/d3d11/gstd3d11pluginutils.cpp
sys/d3d11/gstd3d11shader.cpp
sys/d3d11/gstd3d11videoprocessor.cpp
sys/d3d11/gstd3d11vp8dec.cpp
sys/d3d11/gstd3d11vp9dec.cpp
sys/d3d11/gstd3d11window.cpp
sys/d3d11/gstd3d11window_corewindow.cpp
sys/d3d11/gstd3d11window_dummy.cpp
sys/d3d11/gstd3d11window_swapchainpanel.cpp
sys/d3d11/gstd3d11window_win32.cpp
sys/d3d11/meson.build
sys/d3d11/plugin.cpp [moved from sys/d3d11/plugin.c with 99% similarity]

index c8bc369..c479598 100644 (file)
@@ -49,6 +49,9 @@
 #include <d3d9.h>
 #include <dxva.h>
 
+GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_av1_dec_debug);
+#define GST_CAT_DEFAULT gst_d3d11_av1_dec_debug
+
 /* Might not be defined in dxva.h, copied from DXVA AV1 spec available at
  * https://www.microsoft.com/en-us/download/confirmation.aspx?id=101577
  * and modified with "GST_" prefix
@@ -347,16 +350,6 @@ typedef struct _GST_DXVA_Tile_AV1
 
 #pragma pack(pop)
 
-/* *INDENT-OFF* */
-
-G_BEGIN_DECLS
-
-GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_av1_dec_debug);
-#define GST_CAT_DEFAULT gst_d3d11_av1_dec_debug
-
-G_END_DECLS
-/* *INDENT-ON* */
-
 enum
 {
   PROP_0,
index 1f91987..0c70873 100644 (file)
 #include <string.h>
 #include <wrl.h>
 
-/* *INDENT-OFF* */
-using namespace Microsoft::WRL;
-
-G_BEGIN_DECLS
-
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_compositor_debug);
 #define GST_CAT_DEFAULT gst_d3d11_compositor_debug
 
-G_END_DECLS
+/* *INDENT-OFF* */
+using namespace Microsoft::WRL;
 /* *INDENT-ON* */
 
 /**
index e53cc5b..1e60797 100644 (file)
 #include "gstd3d11compositor.h"
 #include "gstd3d11pluginutils.h"
 
-/* *INDENT-OFF* */
-G_BEGIN_DECLS
-
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_compositor_debug);
 #define GST_CAT_DEFAULT gst_d3d11_compositor_debug
 
-G_END_DECLS
-/* *INDENT-ON* */
-
 /****************************
  * GstD3D11CompositorBinPad *
  ****************************/
index dd63411..1d22a00 100644 (file)
 #include <wrl.h>
 #include <string.h>
 
-/* *INDENT-OFF* */
-using namespace Microsoft::WRL;
-
-G_BEGIN_DECLS
-
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_converter_debug);
 #define GST_CAT_DEFAULT gst_d3d11_converter_debug
 
-G_END_DECLS
+/* *INDENT-OFF* */
+using namespace Microsoft::WRL;
 /* *INDENT-ON* */
 
 #define CONVERTER_MAX_QUADS 2
index b961cf0..99de843 100644 (file)
 #include <wrl.h>
 #include <string.h>
 
-/* *INDENT-OFF* */
-using namespace Microsoft::WRL;
-
-G_BEGIN_DECLS
-
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_deinterlace_debug);
 #define GST_CAT_DEFAULT gst_d3d11_deinterlace_debug
 
-G_END_DECLS
+/* *INDENT-OFF* */
+using namespace Microsoft::WRL;
 /* *INDENT-ON* */
 
 /* Deinterlacing Methods:
index 8be33c1..1e5590e 100644 (file)
 
 #include <wrl.h>
 
-/* *INDENT-OFF* */
-using namespace Microsoft::WRL;
-
-G_BEGIN_DECLS
-
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_desktop_dup_debug);
 #define GST_CAT_DEFAULT gst_d3d11_desktop_dup_debug
 
-G_END_DECLS
+/* *INDENT-OFF* */
+using namespace Microsoft::WRL;
 
 /* List of GstD3D11DesktopDup weakref */
 G_LOCK_DEFINE_STATIC (dupl_list_lock);
index 39ec4cd..9dd445d 100644 (file)
 
 #include <string.h>
 
-/* *INDENT-OFF* */
-G_BEGIN_DECLS
-
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_desktop_dup_debug);
 #define GST_CAT_DEFAULT gst_d3d11_desktop_dup_debug
 
-G_END_DECLS
-/* *INDENT-ON* */
-
 enum
 {
   PROP_0,
index 08adb62..f1a3d54 100644 (file)
 #include <d3d9.h>
 #include <dxva.h>
 
-/* *INDENT-OFF* */
-G_BEGIN_DECLS
-
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_h264_dec_debug);
 #define GST_CAT_DEFAULT gst_d3d11_h264_dec_debug
 
-G_END_DECLS
-/* *INDENT-ON* */
-
 enum
 {
   PROP_0,
index 1ca9206..00826bf 100644 (file)
 #include <d3d9.h>
 #include <dxva.h>
 
-/* *INDENT-OFF* */
-G_BEGIN_DECLS
-
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_h265_dec_debug);
 #define GST_CAT_DEFAULT gst_d3d11_h265_dec_debug
 
-G_END_DECLS
-/* *INDENT-ON* */
-
 enum
 {
   PROP_0,
index da32f95..8a6ceed 100644 (file)
 #include <d3d9.h>
 #include <dxva.h>
 
-/* *INDENT-OFF* */
-G_BEGIN_DECLS
-
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_mpeg2_dec_debug);
 #define GST_CAT_DEFAULT gst_d3d11_mpeg2_dec_debug
 
-G_END_DECLS
-/* *INDENT-ON* */
-
 enum
 {
   PROP_0,
index b09ca9c..b2dd653 100644 (file)
 #include "gstd3d11pluginutils.h"
 #include <wrl.h>
 
-/* *INDENT-OFF* */
-using namespace Microsoft::WRL;
-
-G_BEGIN_DECLS
-
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_overlay_compositor_debug);
 #define GST_CAT_DEFAULT gst_d3d11_overlay_compositor_debug
 
-G_END_DECLS
+/* *INDENT-OFF* */
+using namespace Microsoft::WRL;
+
 typedef struct
 {
   struct {
index 5d899c7..624063e 100644 (file)
 #include <windows.h>
 #include <versionhelpers.h>
 
-/* *INDENT-OFF* */
-G_BEGIN_DECLS
-
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_plugin_utils_debug);
 #define GST_CAT_DEFAULT gst_d3d11_plugin_utils_debug
 
-G_END_DECLS
-/* *INDENT-ON* */
-
 /* Max Texture Dimension for feature level 11_0 ~ 12_1 */
 static guint _gst_d3d11_texture_max_dimension = 16384;
 
index ded8689..3f9ea34 100644 (file)
 
 /* *INDENT-OFF* */
 using namespace Microsoft::WRL;
-
-G_BEGIN_DECLS
+/* *INDENT-ON* */
 
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_shader_debug);
 #define GST_CAT_DEFAULT gst_d3d11_shader_debug
 
-G_END_DECLS
-/* *INDENT-ON* */
-
 /* too many const buffers doesn't make sense */
 #define MAX_CONST_BUFFERS 16
 
index e1b4b5c..a907fab 100644 (file)
 
 #include <string.h>
 
-/* *INDENT-OFF* */
-G_BEGIN_DECLS
-
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_video_processor_debug);
 #define GST_CAT_DEFAULT gst_d3d11_video_processor_debug
 
-G_END_DECLS
-/* *INDENT-ON* */
-
 #if (GST_D3D11_HEADER_VERSION >= 1 && GST_D3D11_DXGI_HEADER_VERSION >= 4)
 #define HAVE_VIDEO_CONTEXT_ONE
 #endif
index 9c2e6ec..fd6c00e 100644 (file)
 #include <d3d9.h>
 #include <dxva.h>
 
-/* *INDENT-OFF* */
-G_BEGIN_DECLS
-
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_vp8_dec_debug);
 #define GST_CAT_DEFAULT gst_d3d11_vp8_dec_debug
 
-G_END_DECLS
-/* *INDENT-ON* */
-
 enum
 {
   PROP_0,
index c6aba1c..09c15bf 100644 (file)
 #include <d3d9.h>
 #include <dxva.h>
 
-/* *INDENT-OFF* */
-G_BEGIN_DECLS
-
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_vp9_dec_debug);
 #define GST_CAT_DEFAULT gst_d3d11_vp9_dec_debug
 
-G_END_DECLS
-/* *INDENT-ON* */
-
 enum
 {
   PROP_0,
index 666bde5..85506b1 100644 (file)
 #endif
 
 #include <wrl.h>
+
 /* *INDENT-OFF* */
 using namespace Microsoft::WRL;
-
-G_BEGIN_DECLS
+/* *INDENT-ON* */
 
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_window_debug);
 #define GST_CAT_DEFAULT gst_d3d11_window_debug
 
-G_END_DECLS
-/* *INDENT-ON* */
 
 enum
 {
index f637080..a2b4e5b 100644 (file)
@@ -47,12 +47,9 @@ typedef ABI::Windows::Foundation::
     __FITypedEventHandler_2_Windows__CUI__CCore__CCoreWindow_Windows__CUI__CCore__CWindowSizeChangedEventArgs_t
         IWindowSizeChangedEventHandler;
 
-G_BEGIN_DECLS
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_window_debug);
 #define GST_CAT_DEFAULT gst_d3d11_window_debug
 
-G_END_DECLS
-
 /* timeout to wait busy UI thread */
 #define DEFAULT_ASYNC_TIMEOUT (10 * 1000)
 
index 434c661..f45ffbd 100644 (file)
 
 /* *INDENT-OFF* */
 using namespace Microsoft::WRL;
-
-G_BEGIN_DECLS
+/* *INDENT-ON* */
 
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_window_debug);
 #define GST_CAT_DEFAULT gst_d3d11_window_debug
 
-G_END_DECLS
-/* *INDENT-ON* */
-
 struct _GstD3D11WindowDummy
 {
   GstD3D11Window parent;
index fdb068b..2e6773a 100644 (file)
@@ -41,13 +41,9 @@ using namespace Microsoft::WRL::Wrappers;
 using namespace ABI::Windows::UI;
 using namespace ABI::Windows::Foundation;
 
-G_BEGIN_DECLS
-
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_window_debug);
 #define GST_CAT_DEFAULT gst_d3d11_window_debug
 
-G_END_DECLS
-
 /* timeout to wait busy UI thread */
 #define DEFAULT_ASYNC_TIMEOUT (10 * 1000)
 
index 23d5d3d..6448391 100644 (file)
 
 /* *INDENT-OFF* */
 using namespace Microsoft::WRL;
-
-G_BEGIN_DECLS
+/* *INDENT-ON* */
 
 GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_window_debug);
 #define GST_CAT_DEFAULT gst_d3d11_window_debug
 
-G_END_DECLS
-/* *INDENT-ON* */
-
 G_LOCK_DEFINE_STATIC (create_lock);
 
 #define EXTERNAL_PROC_PROP_NAME "d3d11_window_external_proc"
index 24f2deb..43f213d 100644 (file)
@@ -13,7 +13,7 @@ d3d11_sources = [
   'gstd3d11videosink.cpp',
   'gstd3d11window.cpp',
   'gstd3d11window_dummy.cpp',
-  'plugin.c',
+  'plugin.cpp',
 ]
 
 d3d11_dec_sources = [
@@ -26,8 +26,8 @@ d3d11_dec_sources = [
   'gstd3d11vp8dec.cpp',
 ]
 
-extra_c_args = ['-DCOBJMACROS', '-DGST_USE_UNSTABLE_API']
-extra_cpp_args = ['-DGST_USE_UNSTABLE_API']
+extra_c_args = ['-DCOBJMACROS']
+extra_args = ['-DGST_USE_UNSTABLE_API']
 extra_dep = []
 
 d3d11_option = get_option('d3d11')
@@ -58,7 +58,7 @@ endif
 # d3d11 video api uses dxva structure for decoding, and dxva.h needs d3d9 types
 if cc.has_header('dxva.h') and cc.has_header('d3d9.h')
   d3d11_sources += d3d11_dec_sources
-  extra_c_args += ['-DHAVE_DXVA_H']
+  extra_args += ['-DHAVE_DXVA_H']
   extra_dep += [gstcodecs_dep]
   has_decoder = true
 endif
@@ -83,13 +83,13 @@ if d3d11_winapi_desktop
   if d3d11_conf.get('GST_D3D11_DXGI_HEADER_VERSION') >= 6
     # Desktop Duplication API is unavailable for UWP
     # and MinGW is not supported due to some missing headers
-    extra_c_args += ['-DHAVE_DXGI_DESKTOP_DUP']
+    extra_args += ['-DHAVE_DXGI_DESKTOP_DUP']
     d3d11_sources += ['gstd3d11desktopdup.cpp', 'gstd3d11desktopdupsrc.cpp']
     message('Enable D3D11 Desktop Duplication API')
   endif
   # multimedia clock is desktop only API
   if has_decoder and winmm_lib.found() and cc.has_header('timeapi.h')
-    extra_cpp_args += ['-DHAVE_WINMM']
+    extra_args += ['-DHAVE_WINMM']
     extra_dep += [winmm_lib]
   endif
 endif
@@ -97,24 +97,23 @@ endif
 # need dxgi1_5.h for HDR10 processing and d3d11_4.h for ID3D11VideoContext2 interface
 if d3d11_conf.get('GST_D3D11_DXGI_HEADER_VERSION') >= 5 and d3d11_conf.get('GST_D3D11_HEADER_VERSION') >= 4
   d3d11_sources += ['gstd3d11deinterlace.cpp']
-  extra_c_args += ['-DHAVE_D3D11_VIDEO_PROC']
+  extra_args += ['-DHAVE_D3D11_VIDEO_PROC']
 endif
 
 # MinGW 32bits compiler seems to be complaining about redundant-decls
 # when ComPtr is in use. Let's just disable the warning
 if cc.get_id() != 'msvc'
-  extra_args = cc.get_supported_arguments([
+  extra_mingw_args = cc.get_supported_arguments([
     '-Wno-redundant-decls',
   ])
 
-  extra_c_args += extra_args
-  extra_cpp_args += extra_args
+  extra_args += extra_mingw_args
 endif
 
 gstd3d11 = library('gstd3d11',
   d3d11_sources,
-  c_args : gst_plugins_bad_args + extra_c_args,
-  cpp_args: gst_plugins_bad_args + extra_cpp_args,
+  c_args : gst_plugins_bad_args + extra_c_args + extra_args,
+  cpp_args: gst_plugins_bad_args + extra_args,
   include_directories : [configinc],
   dependencies : [gstbase_dep, gstvideo_dep, gmodule_dep, gstcontroller_dep, gstd3d11_dep] + extra_dep,
   install : true,
similarity index 99%
rename from sys/d3d11/plugin.c
rename to sys/d3d11/plugin.cpp
index c089428..2a6f094 100644 (file)
@@ -138,7 +138,7 @@ plugin_init (GstPlugin * plugin)
       break;
 
     device_handle = gst_d3d11_device_get_device_handle (device);
-    feature_level = ID3D11Device_GetFeatureLevel (device_handle);
+    feature_level = device_handle->GetFeatureLevel ();
 
     if (feature_level > max_feature_level)
       max_feature_level = feature_level;