mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 14:26:43 +00:00
8865b440d9
MinGW does not provide comsupp.lib, so there's no implementation of _com_util::ConvertBSTRToString. Use a fallback implementation that uses wcstombs() instead. On MinGW we also truncate the name to 100 chars which should be fine.
54 lines
1.6 KiB
Meson
54 lines
1.6 KiB
Meson
decklink_sources = [
|
|
'gstdecklink.cpp',
|
|
'gstdecklinkaudiosink.cpp',
|
|
'gstdecklinkvideosink.cpp',
|
|
'gstdecklinkaudiosrc.cpp',
|
|
'gstdecklinkvideosrc.cpp',
|
|
]
|
|
|
|
build_decklink = false
|
|
decklink_ldflags = []
|
|
decklink_libs = []
|
|
|
|
if host_machine.system() == 'windows'
|
|
decklink_sources += ['win/DeckLinkAPIDispatch.cpp', 'win/DeckLinkAPI_i.c']
|
|
if cxx.get_id() == 'msvc'
|
|
# FIXME: Use commsuppwd.lib for debug builds?
|
|
comutil_dep = cxx.find_library('comsuppw')
|
|
if comutil_dep.found()
|
|
build_decklink = true
|
|
decklink_libs = [comutil_dep]
|
|
endif
|
|
else
|
|
build_decklink = true
|
|
endif
|
|
else
|
|
libdl = cc.find_library('dl', required: false)
|
|
have_pthread_h = cdata.has('HAVE_PTHREAD_H')
|
|
if libdl.found() and have_pthread_h
|
|
decklink_libs = [libm, libdl, dependency('threads')]
|
|
if host_machine.system() == 'linux'
|
|
decklink_sources += ['linux/DeckLinkAPIDispatch.cpp']
|
|
build_decklink = true
|
|
elif host_machine.system() == 'darwin'
|
|
decklink_sources += ['osx/DeckLinkAPIDispatch.cpp']
|
|
decklink_ldflags = ['-Wl,-framework,CoreFoundation']
|
|
build_decklink = true
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
if build_decklink
|
|
message('Building decklink plugin')
|
|
decklink = library('gstdecklink',
|
|
decklink_sources,
|
|
cpp_args : gst_plugins_bad_args + [ '-DGST_USE_UNSTABLE_API' ],
|
|
link_args : decklink_ldflags + noseh_link_args,
|
|
include_directories : [configinc],
|
|
dependencies : [gstvideo_dep, gstaudio_dep, gstbase_dep, gst_dep] + decklink_libs,
|
|
install : true,
|
|
install_dir : plugins_install_dir,
|
|
)
|
|
else
|
|
message('Not building decklink plugin for "@0@'.format(host_machine.system()))
|
|
endif
|