Commit 041c26eb authored by Tim-Philipp Müller's avatar Tim-Philipp Müller 🐠

WIP: meson: build dshowdecwrapper

parent 6c5402d5
Pipeline #13100 passed with stages
in 28 minutes and 21 seconds
......@@ -90,6 +90,9 @@ option('dc1394', type : 'feature', value : 'auto', description : 'libdc1394 IIDC
option('decklink', type : 'feature', value : 'auto', description : 'DeckLink audio/video source/sink plugin')
option('directfb', type : 'feature', value : 'auto', description : 'DirectFB video sink plugin')
option('directsound', type : 'feature', value : 'auto', description : 'Directsound audio source plugin')
option('dshowdecwrapper', type : 'feature', value : 'disabled', description : 'DirectShow decoder wrapper plugin')
option('dshowsrcwrapper', type : 'feature', value : 'disabled', description : 'DirectShow source wrapper plugin')
option('dshowvideosink', type : 'feature', value : 'disabled', description : 'DirectShow video sink plugin')
option('dtls', type : 'feature', value : 'auto', description : 'DTLS encoder and decoder plugin')
option('dts', type : 'feature', value : 'auto', description : 'DTS audio decoder plugin')
option('dvb', type : 'feature', value : 'auto', description : 'DVB video bin and source plugin')
......
# NOTE: This build file is a first attempt, it has not actually been tested!
if host_system != 'windows' or get_option('dshowdecwrapper').disabled()
subdir_done()
endif
win_sdk_root = get_option('windows-sdk-root')
if win_sdk_root == ''
if get_option('dshowdecwrapper').enabled()
error('Please set the path to the Windows SDK root, e.g. C:\\Program Files\\Microsoft SDKs\\Windows\\v7.0')
else
message('dshowdecwrapper: Path to Windows SDK root not specified, skipping.')
subdir_done()
endif
endif
baseclass_root = join_paths(win_sdk_root, 'Samples', 'multimedia', 'directshow', 'baseclasses')
winsdk_inc_arg = '-I' + baseclass_root
if get_option('debug')
strmbase_lib = cc.find_library('strmbasd', required: get_option('dshowdecwrapper'),
dirs: join_paths(baseclass_root, 'Debug_MBCS'))
else
strmbase_lib = cc.find_library('strmbase', required: get_option('dshowdecwrapper'),
dirs: join_paths(baseclass_root, 'Release_MBCS'))
endif
if not strmbase_lib.found()
subdir_done()
endif
dshowdec_deps = [strmbase_lib]
foreach l : ['rpcrt4', 'uuid', 'winmm', 'dmoguids', 'wmcodecdspuuid', 'msdmo']
lib = cc.find_library(l, required: get_option('dshowdecwrapper'))
if not lib.found()
subdir_done()
endif
dshowdec_deps += lib
endforeach
# FIXME: check headers too?
'''
#include <comdef.h>
#include <dmodshow.h>
#include <dmoreg.h>
#include <dmoreg.h>
#include <dmoreg.h>
#include <dshow.h>
#include <dshow.h>
#include <mmreg.h>
#include <objbase.h>
#include <objbase.h>
#include <Rpc.h>
#include <Rpc.h>
#include <streams.h>
#include <strmif.h>
#include <tchar.h>
#include <wmcodecdsp.h>
#include <wmcodecdsp.h>
'''
gstdshowdecwrapper = library('gstdshowdecwrapper',
'gstdshowaudiodec.cpp',
'gstdshowvideodec.cpp',
'gstdshowdecwrapper.cpp',
'gstdshowfakesrc.cpp',
'gstdshowutil.cpp',
cpp_args: gst_plugins_bad_args + [winsdk_inc_arg],
include_directories: [configinc],
dependencies: [gstvideo_dep, gstaudio_dep, gst_dep, dshowdec_deps],
install: true,
install_dir: plugins_install_dir)
pkgconfig.generate(gstdshowdecwrapper, install_dir: plugins_pkgconfig_install_dir)
......@@ -4,7 +4,7 @@ subdir('bluez')
subdir('d3dvideosink')
subdir('decklink')
subdir('directsound')
#subdir('dshowdecwrapper')
subdir('dshowdecwrapper')
#subdir('dshowsrcwrapper')
#subdir('dshowvideosink')
subdir('dvb')
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment