Add build files and fix build for gst-plugins-bad dshowdecwrapper plugin
authorLoic Le Page <llepage@fluendo.com>
Wed, 26 Jan 2022 19:58:12 +0000 (20:58 +0100)
committerLoïc Le Page <llepage@fluendo.com>
Fri, 18 Feb 2022 13:59:25 +0000 (14:59 +0100)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>

subprojects/gst-plugins-bad/sys/directshow/dshowdecwrapper/CMakeLists.txt [deleted file]
subprojects/gst-plugins-bad/sys/directshow/dshowdecwrapper/gstdshowvideodec.cpp
subprojects/gst-plugins-bad/sys/directshow/dshowdecwrapper/meson.build [new file with mode: 0644]
subprojects/gst-plugins-bad/sys/directshow/meson.build

diff --git a/subprojects/gst-plugins-bad/sys/directshow/dshowdecwrapper/CMakeLists.txt b/subprojects/gst-plugins-bad/sys/directshow/dshowdecwrapper/CMakeLists.txt
deleted file mode 100644 (file)
index 8e642e4..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-
-CMAKE_MINIMUM_REQUIRED (VERSION 2.8)
-
-PROJECT(dshowsdecwrapper)
-
-SET(GST_INSTALL_BASE "C:\\gstreamer\\1.0\\x86" CACHE PATH "Path to the GStreamer install base")
-SET(SDK_INSTALL_BASE "C:\\Program Files\\Microsoft SDKs\\Windows\\v7.0" CACHE PATH "Path to the Windows SDK root")
-
-SET_PROPERTY(
-  DIRECTORY
-  APPEND PROPERTY COMPILE_DEFINITIONS
-  HAVE_CONFIG_H
-)
-
-INCLUDE_DIRECTORIES(
-  ${GST_INSTALL_BASE}/include
-  ${GST_INSTALL_BASE}/include/gstreamer-1.0
-  ${GST_INSTALL_BASE}/include/glib-2.0
-  ${GST_INSTALL_BASE}/lib/glib-2.0/include
-  ${SDK_INSTALL_BASE}/Samples/multimedia/directshow/baseclasses
-  ${PROJECT_SOURCE_DIR}/../../win32/common
-)
-
-LINK_DIRECTORIES(
-  ${GST_INSTALL_BASE}/lib
-  ${SDK_INSTALL_BASE}/Samples/multimedia/directshow/baseclasses/Release_MBCS
-  ${SDK_INSTALL_BASE}/Samples/multimedia/directshow/baseclasses/Debug_MBCS
-)
-
-ADD_LIBRARY(libgstdshowdecwrapper SHARED
-  gstdshowaudiodec.cpp
-  gstdshowaudiodec.h
-  gstdshowvideodec.cpp
-  gstdshowvideodec.h
-  gstdshowdecwrapper.cpp
-  gstdshowdecwrapper.h
-  gstdshowfakesrc.cpp
-  gstdshowfakesrc.h
-  gstdshowutil.cpp
-  gstdshowutil.h
-)
-
-TARGET_LINK_LIBRARIES(libgstdshowdecwrapper
-  gstreamer-1.0
-  gstaudio-1.0
-  gstvideo-1.0
-  gstbase-1.0
-  glib-2.0
-  gobject-2.0
-  debug strmbasd
-  optimized strmbase
-  rpcrt4
-  uuid
-  winmm
-  dmoguids
-  wmcodecdspuuid
-  msdmo
-)
index 2f4b400..ea5a213 100644 (file)
@@ -607,7 +607,6 @@ gst_dshowvideodec_sink_setcaps (GstPad * pad, GstCaps * caps)
   GstBufferPool *pool = NULL;
   GstStructure *pool_config = NULL;
   guint pool_size, pool_min, pool_max;
-  GstVideoInfo video_info;
 
   /* read data */
   if (!gst_structure_get_int (s, "width", &vdec->width) ||
diff --git a/subprojects/gst-plugins-bad/sys/directshow/dshowdecwrapper/meson.build b/subprojects/gst-plugins-bad/sys/directshow/dshowdecwrapper/meson.build
new file mode 100644 (file)
index 0000000..af71a98
--- /dev/null
@@ -0,0 +1,49 @@
+dshowdecwrapper_sources = [
+  'gstdshowaudiodec.cpp',
+  'gstdshowdecwrapper.cpp',
+  'gstdshowfakesrc.cpp',
+  'gstdshowutil.cpp',
+  'gstdshowvideodec.cpp'
+]
+
+if not strmbase_dep.found()
+  message('strmbase not found, not building dshowdecwrapper')
+  subdir_done()
+endif
+
+winmm_dep = cxx.find_library('winmm', required: get_option('directshow'))
+if not winmm_dep.found()
+  message('winmm not found, not building dshowdecwrapper')
+  subdir_done()
+endif
+
+dmoguids_dep = cxx.find_library('dmoguids', required: get_option('directshow'))
+if not dmoguids_dep.found()
+  message('dmoguids not found, not building dshowdecwrapper')
+  subdir_done()
+endif
+
+wmcodecdspuuid_dep = cxx.find_library('wmcodecdspuuid', required: get_option('directshow'))
+if not wmcodecdspuuid_dep.found()
+  message('wmcodecdspuuid not found, not building dshowdecwrapper')
+  subdir_done()
+endif
+
+gstdshowdecwrapper = library('gstdshowdecwrapper',
+  dshowdecwrapper_sources,
+  cpp_args : gst_plugins_bad_args,
+  include_directories : [configinc],
+  dependencies : [
+    gstaudio_dep,
+    gstvideo_dep,
+    strmbase_dep,
+    winmm_dep,
+    dmoguids_dep,
+    wmcodecdspuuid_dep
+  ],
+  install : true,
+  install_dir : plugins_install_dir,
+  override_options : ['cpp_std=none'])
+
+pkgconfig.generate(gstdshowdecwrapper, install_dir : plugins_pkgconfig_install_dir)
+plugins += [gstdshowdecwrapper]
index 1af20f5..b84d249 100644 (file)
@@ -21,6 +21,6 @@ if cxx.get_id() != 'msvc' or get_option('directshow').disabled()
 endif
 
 subdir('strmbase')
-#subdir('dshowdecwrapper')
+subdir('dshowdecwrapper')
 #subdir('dshowsrcwrapper')
 #subdir('dshowvideosink')