Add build files and fix build for gst-plugins-bad dshowdecwrapper plugin

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577>
This commit is contained in:
Loic Le Page 2022-01-26 20:58:12 +01:00 committed by Loïc Le Page
parent 42bdeaf52c
commit 587b2e6bcb
4 changed files with 50 additions and 60 deletions

View file

@ -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
)

View file

@ -607,7 +607,6 @@ gst_dshowvideodec_sink_setcaps (GstPad * pad, GstCaps * caps)
GstBufferPool *pool = NULL; GstBufferPool *pool = NULL;
GstStructure *pool_config = NULL; GstStructure *pool_config = NULL;
guint pool_size, pool_min, pool_max; guint pool_size, pool_min, pool_max;
GstVideoInfo video_info;
/* read data */ /* read data */
if (!gst_structure_get_int (s, "width", &vdec->width) || if (!gst_structure_get_int (s, "width", &vdec->width) ||

View file

@ -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]

View file

@ -21,6 +21,6 @@ if cxx.get_id() != 'msvc' or get_option('directshow').disabled()
endif endif
subdir('strmbase') subdir('strmbase')
#subdir('dshowdecwrapper') subdir('dshowdecwrapper')
#subdir('dshowsrcwrapper') #subdir('dshowsrcwrapper')
#subdir('dshowvideosink') #subdir('dshowvideosink')