docs: port plugins to explicit sources

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8273>
This commit is contained in:
Mathieu Duponchelle 2025-01-13 18:10:31 +01:00
parent 30861a14b2
commit 3de86b2b97
347 changed files with 7267 additions and 468 deletions

View file

@ -64,7 +64,6 @@ endforeach
validate_sources = gstvalidate_headers + gstvalidate_sources
hotdoc = import('hotdoc')
plugins_doc = []
libs_doc = [hotdoc.generate_doc('gst-devtools',
project_version: api_version,
sitemap: 'sitemap.txt',

View file

@ -167,11 +167,18 @@ pkgconfig_subdirs = ['gstreamer-1.0']
gst_plugins_doc_dep = []
plugins = []
plugin_sources = {}
i18n = import('i18n')
static_build = get_option('default_library') == 'static'
gst_libraries = []
if host_machine.system() == 'windows'
pathsep = ';'
else
pathsep = ':'
endif
python_mod = import('python')
python3 = python_mod.find_installation()
if not get_option('validate').disabled()

View file

@ -90,6 +90,14 @@ else
warning('Statically building GstValidate as a tracer is not supported yet.')
endif
doc_sources = []
foreach s: gstvalidate_headers
doc_sources += meson.current_source_dir() / s.full_path()
endforeach
plugin_sources += {
'validatetracer': pathsep.join(doc_sources)
}
pkg_name = 'gstreamer-validate-1.0'
library_def = {'lib': gstvalidate}

View file

@ -116,13 +116,28 @@ libs_doc = [hotdoc.generate_doc('gst-editing-services',
depends: ges_gir[0],
)]
if host_system == 'windows'
pathsep = ';'
else
pathsep = ':'
endif
doc_source_file = configure_file(output: 'doc_sources.json', configuration: plugin_sources, output_format: 'json')
plugin_libraries = {}
foreach plugin: plugins
if plugin.name().startswith('gst')
plugin_name = plugin.name().substring(3)
else
plugin_name = plugin.name()
endif
plugin_libraries += {
plugin_name: plugin.full_path()
}
endforeach
doc_plugin_libs_file = configure_file(output: 'doc_plugin_libs.json', configuration: plugin_libraries, output_format: 'json')
cdir = meson.current_source_dir()
gst_plugins_doc = run_command(
plugin_hotdoc_configs = custom_target(
'build-hotdoc-configs',
command: [
plugins_cache_generator,
'hotdoc-config',
'--builddir', meson.current_build_dir(),
@ -130,7 +145,11 @@ gst_plugins_doc = run_command(
'--sitemap', cdir / 'plugins/sitemap.txt',
'--index', cdir / 'plugins/index.md',
'--gst_index', cdir / 'plugins/index.md',
'--gst_c_sources', cdir / '../plugins/*/*.[ch]',
'--gst_cache_file', plugins_cache,
check: true,
).stdout().split(pathsep)
'--gst_cache_file', '@INPUT@',
'--output', '@OUTPUT@',
'--gst_c_source_file', doc_source_file,
'--gst_plugin_libraries_file', doc_plugin_libs_file,
],
input: plugins_cache,
output: 'hotdoc-configs.json',
)

View file

@ -312,6 +312,12 @@ pkgconfig_subdirs = ['gstreamer-1.0']
configinc = include_directories('.')
gst_libraries = []
if host_system == 'windows'
pathsep = ';'
else
pathsep = ':'
endif
subdir('ges')
subdir('plugins')
subdir('tools')

View file

@ -1,5 +1,9 @@
gstges_sources = ['gesplugin.c', 'gessrc.c', 'gesdemux.c', 'gesbasebin.c']
gstges_headers = [
'gesbasebin.h',
]
gstges = library('gstges', gstges_sources,
dependencies : [gst_dep, ges_dep],
include_directories: [configinc],
@ -7,4 +11,13 @@ gstges = library('gstges', gstges_sources,
install : true,
install_dir : plugins_install_dir,
)
plugins += [gstges]
plugins += [gstges]
doc_sources = []
foreach s: gstges_sources + gstges_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'ges': pathsep.join(doc_sources)
}

View file

@ -1,3 +1,4 @@
plugins = []
plugin_sources = {}
subdir('nle')
subdir('ges')
subdir('ges')

View file

@ -7,6 +7,17 @@ nle_sources = ['nleobject.c',
'gstnle.c'
]
nle_headers = [
'nlesource.h',
'nle.h',
'nleurisource.h',
'nletypes.h',
'nlecomposition.h',
'nleghostpad.h',
'nleobject.h',
'nleoperation.h',
]
deps = [gst_dep, gstbase_dep]
c_args = ges_c_args
if gstvalidate_dep.found()
@ -23,3 +34,12 @@ nle = library('gstnle', nle_sources,
install_dir : plugins_install_dir,
)
plugins += [nle]
doc_sources = []
foreach s: nle_sources + nle_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'nle': pathsep.join(doc_sources)
}

View file

@ -78,15 +78,28 @@ foreach extension: required_hotdoc_extensions
endif
endforeach
doc_source_file = configure_file(output: 'doc_sources.json', configuration: plugin_sources, output_format: 'json')
plugin_libraries = {}
foreach plugin: plugins
if plugin.name().startswith('gst')
plugin_name = plugin.name().substring(3)
else
plugin_name = plugin.name()
endif
plugin_libraries += {
plugin_name: plugin.full_path()
}
endforeach
doc_plugin_libs_file = configure_file(output: 'doc_plugin_libs.json', configuration: plugin_libraries, output_format: 'json')
libs_doc = []
cdir = meson.current_source_dir()
if host_machine.system() == 'windows'
pathsep = ';'
else
pathsep = ':'
endif
gst_plugins_doc = run_command(
plugin_hotdoc_configs = custom_target(
'build-hotdoc-configs',
command: [
plugins_cache_generator,
'hotdoc-config',
'--project_version', api_version,
@ -94,8 +107,12 @@ gst_plugins_doc = run_command(
'--sitemap', cdir / 'sitemap.txt',
'--index', cdir / 'index.md',
'--gst_index', cdir / 'index.md',
'--gst_c_sources', cdir / '../ext/*/*.[ch]',
'--gst_cache_file', plugins_cache,
check: true,
).stdout().split(pathsep)
'--gst_cache_file', '@INPUT@',
'--output', '@OUTPUT@',
'--gst_c_source_file', doc_source_file,
'--gst_plugin_libraries_file', doc_plugin_libs_file,
],
input: plugins_cache,
output: 'hotdoc-configs.json',
)

View file

@ -1,4 +1,4 @@
sources = [
libav_sources = [
'gstav.c',
'gstavprotocol.c',
'gstavcodecmap.c',
@ -14,8 +14,20 @@ sources = [
'gstavvidcmp.c',
]
libav_headers = [
'gstavviddec.h',
'gstavvidenc.h',
'gstavcfg.h',
'gstavprotocol.h',
'gstavutils.h',
'gstavaudenc.h',
'gstav.h',
'gstavcodecmap.h',
'gstavauddec.h',
]
gstlibav_plugin = library('gstlibav',
sources,
libav_sources,
c_args : gst_libav_args,
include_directories : [configinc],
dependencies : libav_deps + [gst_dep, gstbase_dep, gstvideo_dep,
@ -24,3 +36,12 @@ gstlibav_plugin = library('gstlibav',
install_dir : plugins_install_dir,
)
plugins += [gstlibav_plugin]
doc_sources = []
foreach s: libav_sources + libav_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'libav': pathsep.join(doc_sources)
}

View file

@ -237,6 +237,12 @@ if get_option('default_library') == 'shared'
endif
plugins = []
plugin_sources = {}
if host_machine.system() == 'windows'
pathsep = ';'
else
pathsep = ':'
endif
subdir('ext/libav')
subdir('docs')
subdir('tests')

View file

@ -244,13 +244,28 @@ foreach lib_def: libs
endif
endforeach
doc_source_file = configure_file(output: 'doc_sources.json', configuration: plugin_sources, output_format: 'json')
plugin_libraries = {}
foreach plugin: plugins
if plugin.name().startswith('gst')
plugin_name = plugin.name().substring(3)
else
plugin_name = plugin.name()
endif
plugin_libraries += {
plugin_name: plugin.full_path()
}
endforeach
doc_plugin_libs_file = configure_file(output: 'doc_plugin_libs.json', configuration: plugin_libraries, output_format: 'json')
cdir = meson.current_source_dir()
if host_machine.system() == 'windows'
pathsep = ';'
else
pathsep = ':'
endif
gst_plugins_doc = run_command(
plugin_hotdoc_configs = custom_target(
'build-hotdoc-configs',
command: [
plugins_cache_generator,
'hotdoc-config',
'--builddir', meson.current_build_dir(),
@ -259,20 +274,13 @@ gst_plugins_doc = run_command(
'--index', cdir / 'plugins/index.md',
'--c_flags', '\-DGST_USE_UNSTABLE_API',
'--gst_index', 'plugins/index.md',
'--gst_c_sources',
cdir / '../sys/*/*.[cmh]',
cdir / '../sys/*/*.cpp',
cdir / '../sys/*/*.cc',
cdir / '../sys/*/*.mm',
cdir / '../sys/*/*.hh',
cdir / '../ext/*/*.[ch]',
cdir / '../ext/*/*.cpp',
cdir / '../ext/*/*.cc',
cdir / '../ext/*/*.hh',
cdir / '../gst/*/*.[ch]',
cdir / '../gst/rtmp2/*/*.[ch]',
'--gst_cache_file', plugins_cache,
'--gst_c_source_filters', excludes,
'--include_paths', join_paths(meson.current_source_dir(), '..'),
check: true,
).stdout().split(pathsep)
'--gst_cache_file', '@INPUT@',
'--include_paths', cdir / '..',
'--output', '@OUTPUT@',
'--gst_c_source_file', doc_source_file,
'--gst_plugin_libraries_file', doc_plugin_libs_file,
],
input: plugins_cache,
output: 'hotdoc-configs.json',
)

View file

@ -5,23 +5,36 @@ aes_sources = [
'gstaesdec.c',
]
aes_headers = [
'gstaesenc.h',
'gstaeshelper.h',
'gstaesdec.h',
]
doc_sources = []
foreach s: aes_sources + aes_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'aes': pathsep.join(doc_sources)
}
aes_cargs = []
aes_dep = dependency('openssl', version : '>= 1.1.0', required : get_option('aes'))
if aes_dep.found()
aes_cargs += ['-DHAVE_OPENSSL']
else
subdir_done()
endif
gstaes = library('gstaes',
aes_sources,
c_args : gst_plugins_bad_args + aes_cargs,
link_args : noseh_link_args,
include_directories : [configinc],
dependencies : [gstpbutils_dep, gstvideo_dep,
aes_dep, gio_dep, libm],
install : true,
install_dir : plugins_install_dir,
)
plugins += [gstaes]
gstaes = library('gstaes',
aes_sources,
c_args : gst_plugins_bad_args + aes_cargs,
link_args : noseh_link_args,
include_directories : [configinc],
dependencies : [gstpbutils_dep, gstvideo_dep,
aes_dep, gio_dep, libm],
install : true,
install_dir : plugins_install_dir,
)
plugins += [gstaes]
endif
aes_dep = declare_dependency(include_directories : include_directories('.'))

View file

@ -3,6 +3,19 @@ analyticsoverlay_sources = [
'gstobjectdetectionoverlay.c',
]
analyticsoverlay_headers = [
'gstobjectdetectionoverlay.h',
]
doc_sources = []
foreach s: analyticsoverlay_sources + analyticsoverlay_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'analyticsoverlay': pathsep.join(doc_sources)
}
gstanalyticsoverlay_ext_dep = dependency('pangocairo', version : '>=1.22.0',
required : get_option('analyticsoverlay'),
fallback: ['pango', 'libpangocairo_dep'],
@ -20,4 +33,5 @@ if gstanalyticsoverlay_ext_dep.found()
install_dir : plugins_install_dir,
)
plugins += [gstanalyticsoverlay]
endif

View file

@ -1,6 +1,30 @@
aom_dep = dependency('aom', required: get_option('aom'))
aom3_dep = dependency('aom', version: '>= 3', required: get_option('aom'))
aom3_2_dep = dependency('aom', version: '>= 3.2', required: get_option('aom'))
aom_sources = [
'gstaom.c',
'gstav1enc.c',
'gstav1dec.c',
'gstav1utils.c',
]
aom_headers = [
'gstav1utils.h',
'gstav1dec.h',
'gstav1enc.h',
'gstaom.h',
]
doc_sources = []
foreach s: aom_sources + aom_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'aom': pathsep.join(doc_sources)
}
if aom_dep.found()
aom_defines = []
if aom3_dep.found()
@ -10,8 +34,9 @@ if aom_dep.found()
aom_defines += ['-DHAVE_LIBAOM_3_2']
endif
gstaom = library('gstaom',
['gstaom.c', 'gstav1enc.c', 'gstav1dec.c', 'gstav1utils.c'],
aom_sources,
c_args : gst_plugins_bad_args + aom_defines,
include_directories : [configinc],
dependencies : [gstpbutils_dep, gstvideo_dep, aom_dep],

View file

@ -1,7 +1,25 @@
ass_dep = dependency('libass', version : '>= 0.10.2', required : get_option('assrender'))
assrender_sources = [
'gstassrender.c',
]
assrender_headers = [
'gstassrender.h',
]
doc_sources = []
foreach s: assrender_sources + assrender_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'assrender': pathsep.join(doc_sources)
}
if ass_dep.found()
gstassrender = library('gstassrender',
'gstassrender.c',
assrender_sources,
c_args : gst_plugins_bad_args,
link_args : noseh_link_args,
include_directories : [configinc],

View file

@ -18,6 +18,34 @@ avtp_sources = [
'gstavtpcrfcheck.c',
]
avtp_headers = [
'gstavtpvfpaybase.h',
'gstavtpcrfutil.h',
'gstavtpsink.h',
'gstavtprvfpay.h',
'gstavtpcrfsync.h',
'gstavtpcrfbase.h',
'gstavtpcrfcheck.h',
'gstavtprvfdepay.h',
'gstavtpvfdepaybase.h',
'gstavtpcvfpay.h',
'gstavtpaafpay.h',
'gstavtpsrc.h',
'gstavtpbasedepayload.h',
'gstavtpaafdepay.h',
'gstavtpbasepayload.h',
'gstavtpcvfdepay.h',
]
doc_sources = []
foreach s: avtp_sources + avtp_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'avtp': pathsep.join(doc_sources)
}
avtp_dep = dependency('', required: false)
avtp_option = get_option('avtp')

View file

@ -1,5 +1,18 @@
bs2b_sources = [ 'gstbs2b.c', ]
bs2b_headers = [
'gstbs2b.h',
]
doc_sources = []
foreach s: bs2b_sources + bs2b_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'bs2b': pathsep.join(doc_sources)
}
bs2b_dep = dependency('libbs2b', version : '>=3.1.0', required : get_option('bs2b'))
if bs2b_dep.found()

View file

@ -4,6 +4,20 @@ bz2_sources = [
'gstbz2enc.c',
]
bz2_headers = [
'gstbz2enc.h',
'gstbz2dec.h',
]
doc_sources = []
foreach s: bz2_sources + bz2_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'bz2': pathsep.join(doc_sources)
}
bz2_dep = cc.find_library('bz2', required : get_option('bz2'))
if bz2_dep.found() and cc.has_header_symbol('bzlib.h', 'BZ2_bzlibVersion')

View file

@ -1,8 +1,25 @@
chromaprint_dep = dependency('libchromaprint', required : get_option('chromaprint'))
chromaprint_sources = [
'gstchromaprint.c',
]
chromaprint_headers = [
'gstchromaprint.h',
]
doc_sources = []
foreach s: chromaprint_sources + chromaprint_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'chromaprint': pathsep.join(doc_sources)
}
if chromaprint_dep.found()
gstchromaprint = library('gstchromaprint',
'gstchromaprint.c',
chromaprint_sources,
c_args : gst_plugins_bad_args,
include_directories : [configinc],
dependencies : [gstaudio_dep, chromaprint_dep],

View file

@ -1,6 +1,31 @@
closedcaption_dep = dependency('pangocairo', version : '>= 1.32.6',
required : get_option('closedcaption'))
closedcaption_sources = [
'gstcccombiner.c',
'gstccextractor.c',
'gstccconverter.c',
'gstcea608mux.c',
'gstclosedcaption.c',
'gstline21dec.c',
'gstcea708decoder.c',
'gstceaccoverlay.c',
'gstline21enc.c',
'ccutils.c',
]
closedcaption_headers = [
'gstline21dec.h',
'gstcea708decoder.h',
'gstcccombiner.h',
'gstcea608mux.h',
'gstccconverter.h',
'gstceaccoverlay.h',
'gstccextractor.h',
'ccutils.h',
'gstline21enc.h',
]
zvbi_sources = [
'bit_slicer.c',
'decoder.c',
@ -9,10 +34,18 @@ zvbi_sources = [
'io-sim.c',
]
doc_sources = []
foreach s: closedcaption_sources + closedcaption_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'closedcaption': pathsep.join(doc_sources)
}
if closedcaption_dep.found()
gstclosedcaption = library('gstclosedcaption',
'gstcccombiner.c', 'gstccextractor.c', 'gstccconverter.c', 'gstcea608mux.c', 'gstclosedcaption.c',
'gstline21dec.c', 'gstcea708decoder.c', 'gstceaccoverlay.c', 'gstline21enc.c', 'ccutils.c',
closedcaption_sources,
zvbi_sources,
c_args : gst_plugins_bad_args,
link_args : noseh_link_args,

View file

@ -1,15 +1,31 @@
codec2json_sources = files([
codec2json_sources = [
'gstav12json.c',
'gsth2642json.c',
'gsth2652json.c',
'gstvp82json.c',
'plugin.c',
])
]
cp_args = [
'-DGST_USE_UNSTABLE_API',
]
codec2json_headers = [
'gsth2652json.h',
'gsth2642json.h',
'gstvp82json.h',
'gstav12json.h',
]
doc_sources = []
foreach s: codec2json_sources + codec2json_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'codec2json': pathsep.join(doc_sources)
}
json_dep = dependency('json-glib-1.0', version : '>=1.6.6', fallback : ['json-glib', 'json_glib_dep'], required: get_option('codec2json'))
if json_dep.found()

View file

@ -1,7 +1,26 @@
lcms2_dep = dependency('lcms2', version : '>= 2.7', required : get_option('colormanagement'))
colormanagement_sources = [
'gstcolormanagement.c',
'gstlcms.c',
]
colormanagement_headers = [
'gstlcms.h',
]
doc_sources = []
foreach s: colormanagement_sources + colormanagement_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'colormanagement': pathsep.join(doc_sources)
}
if lcms2_dep.found()
gstcolormanagement = library('gstcolormanagement',
'gstcolormanagement.c', 'gstlcms.c',
colormanagement_sources,
c_args : gst_plugins_bad_args,
link_args : noseh_link_args,
include_directories : [configinc],

View file

@ -13,6 +13,31 @@ curl_sources = [
'gstcurlqueue.c',
]
curl_headers = [
'gstcurltlssink.h',
'gstcurlsshsink.h',
'gstcurlelements.h',
'gstcurlftpsink.h',
'gstcurlfilesink.h',
'gstcurlsmtpsink.h',
'gstcurlhttpsink.h',
'gstcurlqueue.h',
'gstcurlsftpsink.h',
'gstcurlbasesink.h',
'gstcurlhttpsrc.h',
'gstcurldefaults.h',
'curltask.h',
]
doc_sources = []
foreach s: curl_sources + curl_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'curl': pathsep.join(doc_sources)
}
curl_dep = dependency('libcurl', version : '>= 7.55.0', required : get_option('curl'))
if curl_dep.found()

View file

@ -33,6 +33,50 @@ dash_sources = [
'gstdashsink.c',
]
dash_headers = [
'gstdashsink.h',
'gstmpdsegmenttemplatenode.h',
'gstdashdemux.h',
'gstmpdsubsetnode.h',
'gstmpdhelper.h',
'gstmpdrootnode.h',
'gstmpdrepresentationnode.h',
'gstmpdmultsegmentbasenode.h',
'gstmpdsubrepresentationnode.h',
'gstmpdsegmentlistnode.h',
'gstmpdclient.h',
'gstxmlhelper.h',
'gstmpdmetricsrangenode.h',
'gstmpdnode.h',
'gstmpdlocationnode.h',
'gstmpdutctimingnode.h',
'gstmpdsegmenturlnode.h',
'gstmpdrepresentationbasenode.h',
'gstmpdsnode.h',
'gstmpdurltypenode.h',
'gstmpdprograminformationnode.h',
'gstmpdsegmenttimelinenode.h',
'gstmpdsegmentbasenode.h',
'gstmpdadaptationsetnode.h',
'gstmpdmetricsnode.h',
'gstmpdreportingnode.h',
'gstmpdcontentcomponentnode.h',
'gstmpddescriptortypenode.h',
'gstmpdparser.h',
'gstmpdbaseurlnode.h',
'gstdash_debug.h',
'gstmpdperiodnode.h',
]
doc_sources = []
foreach s: dash_sources + dash_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'dash': pathsep.join(doc_sources)
}
xml2_dep = dependency('libxml-2.0',
version : '>= 2.8',
fallback : 'libxml2',

View file

@ -1,7 +1,25 @@
dc1394_dep = dependency('libdc1394-2', version: '>= 2.2.5', required: get_option('dc1394'))
dc1394_sources = [
'gstdc1394src.c',
]
dc1394_headers = [
'gstdc1394src.h',
]
doc_sources = []
foreach s: dc1394_sources + dc1394_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'dc1394': pathsep.join(doc_sources)
}
if dc1394_dep.found()
gstdc1394 = library('gstdc1394',
'gstdc1394src.c',
dc1394_sources,
c_args: gst_plugins_bad_args,
include_directories: [configinc],
dependencies: [gstvideo_dep, dc1394_dep],

View file

@ -1,8 +1,25 @@
directfb_dep = dependency('directfb', version : '>= 0.9.24', required : get_option('directfb'))
directfb_sources = [
'dfbvideosink.c',
]
directfb_headers = [
'dfbvideosink.h',
]
doc_sources = []
foreach s: directfb_sources + directfb_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'directfb': pathsep.join(doc_sources)
}
if directfb_dep.found()
gstdirectfb = library('gstdirectfb',
'dfbvideosink.c',
directfb_sources,
c_args : gst_plugins_bad_args + cc.get_supported_arguments('-Wno-redundant-decls'),
include_directories : [configinc],
dependencies : [gstvideo_dep, directfb_dep],

View file

@ -12,6 +12,28 @@ dtls_sources = [
'gstdtlselement.c',
]
dtls_headers = [
'gstdtlscertificate.h',
'gstdtlsenc.h',
'gstdtlssrtpenc.h',
'gstdtlselements.h',
'gstdtlssrtpdec.h',
'gstdtlsconnection.h',
'gstdtlsdec.h',
'gstdtlssrtpbin.h',
'gstdtlssrtpdemux.h',
'gstdtlsagent.h',
]
doc_sources = []
foreach s: dtls_sources + dtls_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'dtls': pathsep.join(doc_sources)
}
dtls_option = get_option('dtls').enable_if(get_option('webrtc').enabled(), error_message: 'webrtc option is enabled')
openssl_dep = dependency('openssl', version: '>= 1.0.1', required: dtls_option)
libcrypto_dep = dependency('libcrypto', required: dtls_option)

View file

@ -3,6 +3,23 @@ dts_opt = get_option('dts').require(gpl_allowed, error_message: '''
Pass option -Dgpl=enabled to Meson to allow GPL-licensed plugins to be built.
''')
dtsdec_sources = [
'gstdtsdec.c',
]
dtsdec_headers = [
'gstdtsdec.h',
]
doc_sources = []
foreach s: dtsdec_sources + dtsdec_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'dtsdec': pathsep.join(doc_sources)
}
# Don't do any dependency checks if disabled
if dts_opt.disabled()
subdir_done()
@ -28,7 +45,7 @@ endif
if dca_dep.found()
gstdtsdec = library('gstdtsdec',
'gstdtsdec.c',
dtsdec_sources,
c_args : gst_plugins_bad_args + no_warn_c_args,
link_args : noseh_link_args,
include_directories : [configinc, libsinc],

View file

@ -1,3 +1,20 @@
faac_sources = [
'gstfaac.c',
]
faac_headers = [
'gstfaac.h',
]
doc_sources = []
foreach s: faac_sources + faac_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'faac': pathsep.join(doc_sources)
}
faac_dep = cc.find_library('faac', required : get_option('faac'))
have_faac_h = cc.has_header_symbol('faac.h', 'faacEncOpen')
if not have_faac_h and get_option('faac').enabled()
@ -6,7 +23,7 @@ endif
if faac_dep.found() and have_faac_h
gstfaac = library('gstfaac',
'gstfaac.c',
faac_sources,
c_args : gst_plugins_bad_args,
include_directories : [configinc],
dependencies : [gstaudio_dep, gstpbutils_dep, gsttag_dep, faac_dep],

View file

@ -1,3 +1,20 @@
faad_sources = [
'gstfaad.c',
]
faad_headers = [
'gstfaad.h',
]
doc_sources = []
foreach s: faad_sources + faad_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'faad': pathsep.join(doc_sources)
}
faad_opt = get_option('faad').require(gpl_allowed, error_message: '''
Plugin faad explicitly required via options but GPL-licensed plugins disabled via options.
Pass option -Dgpl=enabled to Meson to allow GPL-licensed plugins to be built.
@ -20,7 +37,7 @@ faad_dep = cc.find_library('faad', required : faad_opt)
if faad_dep.found() and have_faad_2_7
gstfaad = library('gstfaad',
'gstfaad.c',
faad_sources,
c_args : gst_plugins_bad_args + [ '-DFAAD2_MINOR_VERSION=7', '-DFAAD_IS_NEAAC' ],
link_args : noseh_link_args,
include_directories : [configinc],

View file

@ -1,5 +1,27 @@
fdkaac_dep = dependency('fdk-aac', allow_fallback: true, required : get_option('fdkaac'), include_type: 'system')
fdkaac_sources = [
'gstfdkaac.c',
'gstfdkaacenc.c',
'gstfdkaacdec.c',
'gstfdkaacplugin.c',
]
fdkaac_headers = [
'gstfdkaacdec.h',
'gstfdkaacenc.h',
'gstfdkaac.h',
]
doc_sources = []
foreach s: fdkaac_sources + fdkaac_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'fdkaac': pathsep.join(doc_sources)
}
if fdkaac_dep.found()
fdkaac_defines = []
@ -14,7 +36,7 @@ if fdkaac_dep.found()
endif
gstfdkaac = library('gstfdkaac',
['gstfdkaac.c', 'gstfdkaacenc.c', 'gstfdkaacdec.c','gstfdkaacplugin.c'],
fdkaac_sources,
c_args : gst_plugins_bad_args + fdkaac_defines,
include_directories : [configinc],
dependencies : [gstaudio_dep, gstpbutils_dep, fdkaac_dep],

View file

@ -3,6 +3,9 @@ flite_sources = [
'gstflitetestsrc.c',
]
flite_headers = [
]
flite_libs = [
'flite',
'flite_cmu_us_kal',
@ -10,6 +13,15 @@ flite_libs = [
'flite_cmulex'
]
doc_sources = []
foreach s: flite_sources + flite_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'flite': pathsep.join(doc_sources)
}
if get_option('flite').disabled()
subdir_done()
endif

View file

@ -1,8 +1,25 @@
fluidsynth_dep = dependency('fluidsynth', version : '>= 2.1', required : get_option('fluidsynth'))
fluidsynthmidi_sources = [
'gstfluiddec.c',
]
fluidsynthmidi_headers = [
'gstfluiddec.h',
]
doc_sources = []
foreach s: fluidsynthmidi_sources + fluidsynthmidi_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'fluidsynthmidi': pathsep.join(doc_sources)
}
if fluidsynth_dep.found()
gstfluidsynth = library('gstfluidsynthmidi',
'gstfluiddec.c',
fluidsynthmidi_sources,
c_args : gst_plugins_bad_args,
include_directories : [configinc],
dependencies : [gstaudio_dep, gst_dep, fluidsynth_dep],

View file

@ -1,3 +1,20 @@
gme_sources = [
'gstgme.c',
]
gme_headers = [
'gstgme.h',
]
doc_sources = []
foreach s: gme_sources + gme_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'gme': pathsep.join(doc_sources)
}
if get_option('gme').disabled()
subdir_done()
endif
@ -10,7 +27,9 @@ endif
if have_gme
cdata.set('HAVE_LIBGME_ACCURACY', cc.has_function('gme_enable_accuracy', dependencies: gme_dep))
gstgme = library('gstgme', 'gstgme.c',
gstgme = library('gstgme',
gme_sources,
c_args: gst_plugins_bad_args,
include_directories: [configinc],
dependencies: [gstaudio_dep, gme_dep],

View file

@ -5,6 +5,21 @@ gs_sources = [
'gstgs.cpp',
]
gs_headers = [
'gstgscommon.h',
'gstgssink.h',
'gstgssrc.h',
]
doc_sources = []
foreach s: gs_sources + gs_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'gs': pathsep.join(doc_sources)
}
gs_dep = dependency('google_cloud_cpp_storage', version : '>= 1.25.0', required : get_option('gs'))
if gs_dep.found()

View file

@ -1,3 +1,23 @@
gsm_sources = [
'gstgsm.c',
'gstgsmenc.c',
'gstgsmdec.c',
]
gsm_headers = [
'gstgsmenc.h',
'gstgsmdec.h',
]
doc_sources = []
foreach s: gsm_sources + gsm_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'gsm': pathsep.join(doc_sources)
}
if get_option('gsm').disabled()
subdir_done()
endif
@ -17,7 +37,7 @@ endif
if gsm_dep.found() and have_gsm_create
gstgsm = library('gstgsm',
['gstgsm.c', 'gstgsmenc.c', 'gstgsmdec.c'],
gsm_sources,
c_args : gst_plugins_bad_args + gsm_cargs,
include_directories : [configinc],
dependencies : [gstaudio_dep, gsm_dep],

View file

@ -1,7 +1,3 @@
if not use_wayland
subdir_done()
endif
gtkwayland_sources = [
'gstplugin.c',
'gstgtkutils.c',
@ -10,6 +6,26 @@ gtkwayland_sources = [
'gtkgstwaylandwidget.c',
]
gtkwayland_headers = [
'gstgtkwaylandsink.h',
'gtkgstwaylandwidget.h',
'gtkgstbasewidget.h',
'gstgtkutils.h',
]
doc_sources = []
foreach s: gtkwayland_sources + gtkwayland_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'gtkwayland': pathsep.join(doc_sources)
}
if not use_wayland
subdir_done()
endif
gtk_dep = dependency('gtk+-3.0', required : get_option('gtk3'))
gtk_wayland_dep = dependency('gtk+-wayland-3.0', required : get_option('gtk3'))

View file

@ -9,6 +9,26 @@ hls_sources = [
'm3u8.c',
]
hls_headers = [
'gstm3u8playlist.h',
'm3u8.h',
'gsthlsdemux.h',
'gsthlssink.h',
'gsthlselements.h',
'gsthlssink2.h',
]
doc_sources = []
foreach s: hls_sources + hls_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'hls': pathsep.join(doc_sources)
}
hls_dep = declare_dependency(include_directories : include_directories('.'))
hls_cargs = ['-DGST_USE_UNSTABLE_API']
hls_crypto = get_option('hls-crypto')
@ -64,4 +84,3 @@ gsthls = library('gsthls',
install_dir : plugins_install_dir,
)
plugins += [gsthls]
hls_dep = declare_dependency(include_directories : include_directories('.'))

View file

@ -6,9 +6,26 @@ iqa_opt = get_option('iqa').require(gpl_allowed, error_message: '''
dssim_dep = dependency('dssim', required: iqa_opt,
fallback: ['dssim', 'dssim_dep'])
iqa_sources = [
'iqa.c',
]
iqa_headers = [
'iqa.h',
]
doc_sources = []
foreach s: iqa_sources + iqa_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'iqa': pathsep.join(doc_sources)
}
if dssim_dep.found()
gstiqa = library('gstiqa',
'iqa.c',
iqa_sources,
c_args : gst_plugins_bad_args
+ ['-DGST_USE_UNSTABLE_API', '-DHAVE_DSSIM']
+ cc.get_supported_arguments('-Wno-aggregate-return'),
@ -19,4 +36,3 @@ if dssim_dep.found()
)
plugins += [gstiqa]
endif

View file

@ -4,15 +4,29 @@ else
webrtc_audio_coding_dep = dependency('webrtc-audio-coding-1', required: get_option('isac'))
endif
isac_sources = [
'gstisac.c',
'gstisacenc.c',
'gstisacdec.c',
'gstisacutils.c',
]
isac_headers = [
'gstisacenc.h',
'gstisacdec.h',
'gstisacutils.h',
]
doc_sources = []
foreach s: isac_sources + isac_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'isac': pathsep.join(doc_sources)
}
if webrtc_audio_coding_dep.found()
isac_sources = [
'gstisac.c',
'gstisacenc.c',
'gstisacdec.c',
'gstisacutils.c',
]
gstisac = library('gstisac', isac_sources,
c_args : gst_plugins_bad_args,
include_directories : [configinc],

View file

@ -6,6 +6,23 @@ ladspa_sources = [
'gstladspautils.c',
]
ladspa_headers = [
'gstladspasink.h',
'gstladspa.h',
'gstladspautils.h',
'gstladspafilter.h',
'gstladspasource.h',
]
doc_sources = []
foreach s: ladspa_sources + ladspa_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'ladspa': pathsep.join(doc_sources)
}
ladspa_cargs = []
if get_option('ladspa').disabled()

View file

@ -4,6 +4,21 @@ lc3_sources = [
'gstlc3enc.c',
]
lc3_headers = [
'gstlc3dec.h',
'gstlc3common.h',
'gstlc3enc.h',
]
doc_sources = []
foreach s: lc3_sources + lc3_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'lc3': pathsep.join(doc_sources)
}
lc3_dep = dependency('lc3', required:get_option ('lc3'))
if lc3_dep.found()

View file

@ -6,6 +6,22 @@ lcevcdecoder_sources = [
'gstlcevch264decodebin.c',
]
lcevcdecoder_headers = [
'gstlcevcdec.h',
'gstlcevch264decodebin.h',
'gstlcevcdecutils.h',
'gstlcevcdecodebin.h',
]
doc_sources = []
foreach s: lcevcdecoder_sources + lcevcdecoder_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'lcevcdecoder': pathsep.join(doc_sources)
}
lcevc_dec_dep = dependency ('lcevc_dec', required: get_option('lcevcdecoder'))
if lcevc_dec_dep.found()

View file

@ -5,6 +5,21 @@ lcevcencoder_sources = [
'gstlcevch264enc.c',
]
lcevcencoder_headers = [
'gstlcevcencoder.h',
'gstlcevcencoderutils.h',
'gstlcevch264enc.h',
]
doc_sources = []
foreach s: lcevcencoder_sources + lcevcencoder_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'lcevcencoder': pathsep.join(doc_sources)
}
lcevc_eil_dep = dependency ('lcevc_eil', required: get_option('lcevcencoder'))
if lcevc_eil_dep.found()

View file

@ -3,6 +3,19 @@ ldac_sources = [
'gstldacenc.c',
]
ldac_headers = [
'gstldacenc.h',
]
doc_sources = []
foreach s: ldac_sources + ldac_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'ldac': pathsep.join(doc_sources)
}
ldac_dep = dependency('ldacBT-enc', required : get_option('ldac'))
if ldac_dep.found()

View file

@ -3,6 +3,19 @@ de265_sources = [
'libde265-dec.c',
]
de265_headers = [
'libde265-dec.h',
]
doc_sources = []
foreach s: de265_sources + de265_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'de265': pathsep.join(doc_sources)
}
de265_dep = dependency('libde265', version : '>= 0.9', required : get_option('libde265'))
if de265_dep.found()

View file

@ -5,6 +5,20 @@ lv2_sources = [
'gstlv2utils.c',
]
lv2_headers = [
'gstlv2.h',
'gstlv2utils.h',
]
doc_sources = []
foreach s: lv2_sources + lv2_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'lv2': pathsep.join(doc_sources)
}
lv2_dep = dependency('lilv-0', version : '>= 0.22', required : get_option('lv2'))
if lv2_dep.found()
gstlv2 = library('gstlv2',

View file

@ -1,11 +1,29 @@
microdns_dep = dependency('microdns', required: get_option('microdns'),
fallback: ['libmicrodns', 'mdns_dep'])
microdns_sources = [
'gstmicrodns.c',
'gstmicrodnsdevice.c',
]
microdns_headers = [
'gstmicrodnsdevice.h',
]
doc_sources = []
foreach s: microdns_sources + microdns_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'microdns': pathsep.join(doc_sources)
}
if microdns_dep.found()
incdirs = [configinc]
gstmicrodns = library('gstmicrodns',
['gstmicrodns.c', 'gstmicrodnsdevice.c'],
microdns_sources,
c_args : gst_plugins_bad_args,
include_directories : incdirs,
dependencies : [gst_dep, microdns_dep],

View file

@ -1,3 +1,20 @@
modplug_sources = [
'gstmodplug.cc',
]
modplug_headers = [
'gstmodplug.h',
]
doc_sources = []
foreach s: modplug_sources + modplug_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'modplug': pathsep.join(doc_sources)
}
if not add_languages('cpp', native: false, required: get_option('modplug'))
subdir_done()
endif
@ -6,7 +23,7 @@ modplug_dep = dependency('libmodplug', required: get_option('modplug'))
if modplug_dep.found()
gstmodplug = library('gstmodplug',
'gstmodplug.cc',
modplug_sources,
cpp_args: gst_plugins_bad_args,
include_directories: [configinc],
dependencies: [gstaudio_dep, modplug_dep, libm],

View file

@ -10,6 +10,31 @@ mpeg2enc_opt = get_option('mpeg2enc').require(gpl_allowed, error_message: '''
mjpegtools_dep = dependency('mjpegtools', version : '>=2.0.0', required : mpeg2enc_opt)
mpeg2enc_dep = cxx.find_library('mpeg2encpp', required : mpeg2enc_opt)
mpeg2enc_sources = [
'gstmpeg2enc.cc',
'gstmpeg2encoptions.cc',
'gstmpeg2encoder.cc',
'gstmpeg2encstreamwriter.cc',
'gstmpeg2encpicturereader.cc',
]
mpeg2enc_headers = [
'gstmpeg2enc.hh',
'gstmpeg2encoptions.hh',
'gstmpeg2encpicturereader.hh',
'gstmpeg2encoder.hh',
'gstmpeg2encstreamwriter.hh',
]
doc_sources = []
foreach s: mpeg2enc_sources + mpeg2enc_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'mpeg2enc': pathsep.join(doc_sources)
}
if mjpegtools_dep.found() and mpeg2enc_dep.found()
no_warn_args = []
foreach arg : [
@ -22,11 +47,7 @@ if mjpegtools_dep.found() and mpeg2enc_dep.found()
endforeach
gstmpeg2enc = library('gstmpeg2enc',
'gstmpeg2enc.cc',
'gstmpeg2encoptions.cc',
'gstmpeg2encoder.cc',
'gstmpeg2encstreamwriter.cc',
'gstmpeg2encpicturereader.cc',
mpeg2enc_sources,
cpp_args : gst_plugins_bad_args + ['-DGST_MJPEGTOOLS_API=20000'] + no_warn_args,
link_args : noseh_link_args,
include_directories : [configinc, libsinc],

View file

@ -7,12 +7,32 @@ mplex_opt = get_option('mplex').require(gpl_allowed, error_message: '''
mjpegtools_dep = dependency('mjpegtools', version : '>=2.0.0', required : mplex_opt)
mplex2_dep = cxx.find_library('mplex2', required : mplex_opt)
mplex_sources = [
'gstmplex.cc',
'gstmplexibitstream.cc',
'gstmplexjob.cc',
'gstmplexoutputstream.cc',
]
mplex_headers = [
'gstmplex.hh',
'gstmplexibitstream.hh',
'gstmplexoutputstream.hh',
'gstmplexjob.hh',
]
doc_sources = []
foreach s: mplex_sources + mplex_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'mplex': pathsep.join(doc_sources)
}
if mjpegtools_dep.found() and mplex2_dep.found()
gstmplex2 = library('gstmplex',
'gstmplex.cc',
'gstmplexibitstream.cc',
'gstmplexjob.cc',
'gstmplexoutputstream.cc',
mplex_sources,
cpp_args : gst_plugins_bad_args + ['-DGST_MJPEGTOOLS_API=20000'],
link_args : noseh_link_args,
include_directories : [configinc, libsinc],

View file

@ -1,8 +1,27 @@
mpcdec_dep = cc.find_library('mpcdec', required: get_option('musepack'))
musepack_sources = [
'gstmusepackdec.c',
'gstmusepackreader.c',
]
musepack_headers = [
'gstmusepackreader.h',
'gstmusepackdec.h',
]
doc_sources = []
foreach s: musepack_sources + musepack_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'musepack': pathsep.join(doc_sources)
}
if mpcdec_dep.found() and cc.has_header_symbol('mpc/mpcdec.h', 'mpc_demux_init', dependencies: mpcdec_dep)
gstmusepack = library('gstmusepack',
'gstmusepackdec.c', 'gstmusepackreader.c',
musepack_sources,
c_args : gst_plugins_bad_args,
link_args : noseh_link_args,
include_directories : [configinc],

View file

@ -1,8 +1,25 @@
neon_dep = dependency('neon', version: '>= 0.27', required: get_option('neon'))
neonhttpsrc_sources = [
'gstneonhttpsrc.c',
]
neonhttpsrc_headers = [
'gstneonhttpsrc.h',
]
doc_sources = []
foreach s: neonhttpsrc_sources + neonhttpsrc_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'neonhttpsrc': pathsep.join(doc_sources)
}
if neon_dep.found()
gstneon = library('gstneonhttpsrc',
'gstneonhttpsrc.c',
neonhttpsrc_sources,
c_args : gst_plugins_bad_args,
include_directories : [configinc],
dependencies : [gstbase_dep, neon_dep],

View file

@ -4,6 +4,22 @@ nvcomp_sources = [
'gstnvcompvideoenc.cpp',
'plugin.cpp',
]
nvcomp_headers = [
'gstnvcomp.h',
'gstnvcompvideoenc.h',
'gstnvcompvideodec.h',
]
doc_sources = []
foreach s: nvcomp_sources + nvcomp_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'nvcomp': pathsep.join(doc_sources)
}
extra_args = ['-DGST_USE_UNSTABLE_API']
nvcomp_opt = get_option('nvcomp')

View file

@ -2,6 +2,20 @@ nvdswrapper_sources = [
'plugin.cpp',
'gstnvdsdewarp.cpp',
]
nvdswrapper_headers = [
'gstnvdsdewarp.h',
]
doc_sources = []
foreach s: nvdswrapper_sources + nvdswrapper_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'nvdswrapper': pathsep.join(doc_sources)
}
extra_args = ['-DGST_USE_UNSTABLE_API']
nvdswrapper_opt = get_option('nvdswrapper')

View file

@ -1,8 +1,28 @@
onnx_sources = [
'gstonnx.c',
'gstonnxinference.cpp',
'gstonnxclient.cpp',
]
onnx_headers = [
'gstonnxinference.h',
'gstml.h',
'gstonnxclient.h',
]
doc_sources = []
foreach s: onnx_sources + onnx_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'onnx': pathsep.join(doc_sources)
}
if get_option('onnx').disabled()
subdir_done()
endif
onnxrt_dep = dependency('libonnxruntime', version : '>= 1.16.1', required : get_option('onnx'))
extra_args = []
@ -13,10 +33,8 @@ if gstcuda_dep.found()
endif
if onnxrt_dep.found()
gstonnx = library('gstonnx',
'gstonnx.c',
'gstonnxinference.cpp',
'gstonnxclient.cpp',
gstonnx = library('gstonnx',
onnx_sources,
c_args : gst_plugins_bad_args + extra_args,
cpp_args : gst_plugins_bad_args + extra_args,
link_args : noseh_link_args,
@ -27,4 +45,4 @@ if onnxrt_dep.found()
install_dir : plugins_install_dir,
)
plugins += [gstonnx]
endif
endif

View file

@ -1,8 +1,30 @@
openal_dep = dependency('openal', method: 'pkg-config', version: '>= 1.14', required: get_option('openal'))
openal_sources = [
'gstopenal.c',
'gstopenalelement.c',
'gstopenalsink.c',
'gstopenalsrc.c',
]
openal_headers = [
'gstopenalelements.h',
'gstopenalsink.h',
'gstopenalsrc.h',
]
doc_sources = []
foreach s: openal_sources + openal_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'openal': pathsep.join(doc_sources)
}
if openal_dep.found()
gstopenal = library('gstopenal',
'gstopenal.c', 'gstopenalelement.c', 'gstopenalsink.c', 'gstopenalsrc.c',
openal_sources,
c_args: gst_plugins_bad_args,
include_directories: [configinc, libsinc],
dependencies: [gstaudio_dep, openal_dep],

View file

@ -4,6 +4,21 @@ openaptx_sources = [
'gstopenaptxenc.c',
]
openaptx_headers = [
'gstopenaptxenc.h',
'openaptx-plugin.h',
'gstopenaptxdec.h',
]
doc_sources = []
foreach s: openaptx_sources + openaptx_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'openaptx': pathsep.join(doc_sources)
}
if not get_option('openaptx').allowed()
subdir_done()
endif

View file

@ -1,8 +1,3 @@
if get_option('opencv').disabled()
opencv_dep = disabler()
subdir_done()
endif
gstopencv_sources = [
'gstcvdilate.cpp',
'gstcvdilateerode.cpp',
@ -34,6 +29,48 @@ gstopencv_sources = [
'gstcvtracker.cpp'
]
gstopencv_headers = [
'gstcvlaplace.h',
'gstcameracalibrate.h',
'gstcverode.h',
'gstsegmentation.h',
'gsttextoverlay.h',
'gstcvequalizehist.h',
'gstdisparity.h',
'gstgrabcut.h',
'gstedgedetect.h',
'gstskindetect.h',
'gsttemplatematch.h',
'gstfacedetect.h',
'gstretinex.h',
'MotionCells.h',
'gstcvdilateerode.h',
'gstdewarp.h',
'motioncells_wrapper.h',
'gstcvdilate.h',
'gstcvsobel.h',
'gstfaceblur.h',
'gstmotioncells.h',
'gstcvsmooth.h',
'gsthanddetect.h',
'gstcameraundistort.h',
'gstcvtracker.h',
]
doc_sources = []
foreach s: gstopencv_sources + gstopencv_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'opencv': pathsep.join(doc_sources)
}
if get_option('opencv').disabled()
opencv_dep = disabler()
subdir_done()
endif
if opencv_found
gstopencv = library('gstopencv',
gstopencv_sources,

View file

@ -1,5 +1,24 @@
openexr_dep = dependency('OpenEXR', modules: ['OpenEXR::IlmImf'], required: get_option('openexr'))
openexr_sources = [
'gstopenexr.c',
'gstopenexrdec.cpp',
]
openexr_headers = [
'gstopenexr.h',
'gstopenexrdec.h',
]
doc_sources = []
foreach s: openexr_sources + openexr_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'openexr': pathsep.join(doc_sources)
}
if openexr_dep.found()
openexr_override_options = []
# Older versions of openexr fail to build with -Werror when using GCC >= 9.2
@ -22,8 +41,7 @@ if openexr_dep.found()
endif
gstopenexr = library('gstopenexr',
'gstopenexr.c',
'gstopenexrdec.cpp',
openexr_sources,
c_args: gst_plugins_bad_args,
cpp_args: gst_plugins_bad_args,
link_args: noseh_link_args,

View file

@ -4,6 +4,21 @@ openh264_sources = [
'gstopenh264plugin.c',
]
openh264_headers = [
'gstopenh264enc.h',
'gstopenh264elements.h',
'gstopenh264dec.h',
]
doc_sources = []
foreach s: openh264_sources + openh264_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'openh264': pathsep.join(doc_sources)
}
openh264_dep = dependency('openh264', version : '>= 1.3.0',
required : get_option('openh264'),
fallback: ['openh264', 'openh264_dep'])

View file

@ -4,6 +4,21 @@ openjpeg_sources = [
'gstopenjpegenc.c',
]
openjpeg_headers = [
'gstopenjpegenc.h',
'gstopenjpeg.h',
'gstopenjpegdec.h',
]
doc_sources = []
foreach s: openjpeg_sources + openjpeg_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'openjpeg': pathsep.join(doc_sources)
}
openjpeg_cargs = []
openjpeg_dep = dependency('libopenjp2', version : '>=2.2',

View file

@ -1,7 +1,26 @@
openmpt_dep = dependency('libopenmpt', required: get_option('openmpt'))
openmpt_sources = [
'gstopenmptdec.c',
'plugin.c',
]
openmpt_headers = [
'gstopenmptdec.h',
]
doc_sources = []
foreach s: openmpt_sources + openmpt_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'openmpt': pathsep.join(doc_sources)
}
if openmpt_dep.found()
gstopenmpt = library('gstopenmpt',
'gstopenmptdec.c', 'plugin.c',
openmpt_sources,
c_args: gst_plugins_bad_args,
include_directories: [configinc],
dependencies: [gstbadaudio_dep, gstaudio_dep, openmpt_dep],

View file

@ -1,11 +1,30 @@
openni2_sources = [
'gstopenni2.cpp',
'gstopenni2src.cpp',
]
openni2_headers = [
'gstopenni2src.h',
]
doc_sources = []
foreach s: openni2_sources + openni2_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'openni2': pathsep.join(doc_sources)
}
if not add_languages('cpp', native: false, required: get_option('openni2'))
subdir_done()
endif
openni2_dep = dependency('libopenni2', version: '>= 0.26', required: get_option('openni2'))
if openni2_dep.found()
gstopenni2 = library('gstopenni2',
'gstopenni2.cpp', 'gstopenni2src.cpp',
openni2_sources,
cpp_args: gst_plugins_bad_args + cc.get_supported_arguments(['-Wno-undef']),
link_args: noseh_link_args,
include_directories: [configinc],

View file

@ -4,6 +4,20 @@ opus_sources = [
'gstopusparse.c',
]
opus_headers = [
'gstopusheader.h',
'gstopusparse.h',
]
doc_sources = []
foreach s: opus_sources + opus_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'opusparse': pathsep.join(doc_sources)
}
opus_dep = dependency('opus', version : '>= 0.9.4', required : get_option('opus'))
if opus_dep.found()

View file

@ -1,8 +1,34 @@
qrencode_dep = dependency('libqrencode', required: get_option('qroverlay'))
qroverlay_sources = [
'gstqroverlay.c',
'gstdebugqroverlay.c',
'gstbaseqroverlay.c',
'gstqroverlayelement.c',
'gstqroverlayplugin.c',
]
qroverlay_headers = [
'gstbaseqroverlay.h',
'gstdebugqroverlay.h',
'gstqroverlayelements.h',
'gstqroverlay.h',
]
doc_sources = []
foreach s: qroverlay_sources + qroverlay_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'qroverlay': pathsep.join(doc_sources)
}
if qrencode_dep.found()
json_dep = dependency('json-glib-1.0', fallback : ['json-glib', 'json_glib_dep'], required: get_option('qroverlay'))
if json_dep.found()
gstqroverlay = library('gstqroverlay', ['gstqroverlay.c', 'gstdebugqroverlay.c', 'gstbaseqroverlay.c', 'gstqroverlayelement.c', 'gstqroverlayplugin.c'],
gstqroverlay = library('gstqroverlay',
qroverlay_sources,
c_args : gst_plugins_bad_args,
include_directories : [configinc],
dependencies : [gstvideo_dep, qrencode_dep, json_dep],
@ -12,4 +38,3 @@ if qrencode_dep.found()
plugins += [gstqroverlay]
endif
endif

View file

@ -5,6 +5,21 @@ gstqt6d3d11_sources = [
'plugin.cpp',
]
gstqt6d3d11_headers = [
'gstqml6d3d11sink.h',
'gstqsg6d3d11node.h',
'gstqt6d3d11videoitem.h',
]
doc_sources = []
foreach s: gstqt6d3d11_sources + gstqt6d3d11_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'qt6d3d11': pathsep.join(doc_sources)
}
moc_headers = [
'gstqsg6d3d11node.h',
'gstqt6d3d11videoitem.h'

View file

@ -15,6 +15,27 @@ resindvd_sources = [
'rsnparsetter.c',
]
resindvd_headers = [
'gstpesfilter.h',
'rsnparsetter.h',
'resindvdsrc.h',
'gstmpegdemux.h',
'gstmpegdesc.h',
'rsninputselector.h',
'resindvdbin.h',
'rsndec.h',
'gstmpegdefs.h',
]
doc_sources = []
foreach s: resindvd_sources + resindvd_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'resindvd': pathsep.join(doc_sources)
}
dvdnav_dep = dependency('dvdnav', version : '>= 4.1.2', required : resindvd_opt)
dvdread_dep = dependency('dvdread', version : '>= 4.1.2', required : resindvd_opt)

View file

@ -4,6 +4,20 @@ rsvg_sources = [
'gstrsvgoverlay.c',
]
rsvg_headers = [
'gstrsvgdec.h',
'gstrsvgoverlay.h',
]
doc_sources = []
foreach s: rsvg_sources + rsvg_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'rsvg': pathsep.join(doc_sources)
}
cairo_dep = dependency('cairo', version: '>= 1.16.0', allow_fallback: true, required : get_option('rsvg'))
rsvg_dep = dependency('librsvg-2.0', version : '>= 2.36.2', required : get_option('rsvg'))
if cairo_dep.found() and rsvg_dep.found()

View file

@ -5,6 +5,21 @@ rtmp_sources = [
'gstrtmpsrc.c',
]
rtmp_headers = [
'gstrtmpelements.h',
'gstrtmpsrc.h',
'gstrtmpsink.h',
]
doc_sources = []
foreach s: rtmp_sources + rtmp_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'rtmp': pathsep.join(doc_sources)
}
rtmp_dep = dependency('librtmp', required : get_option('rtmp'))
if rtmp_dep.found()

View file

@ -4,6 +4,20 @@ sbc_sources = [
'gstsbcenc.c',
]
sbc_headers = [
'gstsbcdec.h',
'gstsbcenc.h',
]
doc_sources = []
foreach s: sbc_sources + sbc_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'sbc': pathsep.join(doc_sources)
}
sbc_dep = dependency('sbc', version : '>= 1.0', required : get_option('sbc'))
if sbc_dep.found()

View file

@ -5,6 +5,21 @@ sctp_sources = [
'sctpassociation.c'
]
sctp_headers = [
'gstsctpdec.h',
'gstsctpenc.h',
'sctpassociation.h',
]
doc_sources = []
foreach s: sctp_sources + sctp_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'sctp': pathsep.join(doc_sources)
}
sctp_option = get_option('sctp').enable_if(get_option('webrtc').enabled(), error_message: 'webrtc option is enabled')
if sctp_option.disabled()
subdir_done()

View file

@ -5,6 +5,21 @@ smoothstreaming_sources = [
'gstsmoothstreaming-plugin.c',
]
smoothstreaming_headers = [
'gstmssmanifest.h',
'gstmssdemux.h',
'gstmssfragmentparser.h',
]
doc_sources = []
foreach s: smoothstreaming_sources + smoothstreaming_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'smoothstreaming': pathsep.join(doc_sources)
}
xml28_dep = dependency('libxml-2.0', version : '>= 2.8', required : get_option('smoothstreaming'))
if xml28_dep.found()

View file

@ -1,8 +1,32 @@
sndfile_dep = dependency('sndfile', version: '>= 1.0.16', required: get_option('sndfile'))
sndfile_sources = [
'gstsf.c',
'gstsfelement.c',
'gstsfdec.c',
# 'gstsfsink.c',
# 'gstsfsrc.c',
]
sndfile_headers = [
'gstsfelements.h',
'gstsfdec.h',
'gstsfsrc.h',
'gstsfsink.h',
]
doc_sources = []
foreach s: sndfile_sources + sndfile_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'sndfile': pathsep.join(doc_sources)
}
if sndfile_dep.found()
gstsndfile = library('gstsndfile',
'gstsf.c', 'gstsfelement.c', 'gstsfdec.c', # 'gstsfsink.c', 'gstsfsrc.c',
sndfile_sources,
c_args: gst_plugins_bad_args,
include_directories: [configinc, libsinc],
dependencies: [gstaudio_dep, gst_dep, sndfile_dep],

View file

@ -4,6 +4,20 @@ soundtouch_sources = [
'gstbpmdetect.cc',
]
soundtouch_headers = [
'gstbpmdetect.hh',
'gstpitch.hh',
]
doc_sources = []
foreach s: soundtouch_sources + soundtouch_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'soundtouch': pathsep.join(doc_sources)
}
soundtouch_cargs = ['-DHAVE_SOUNDTOUCH']
if get_option('soundtouch').disabled()
subdir_done()

View file

@ -8,6 +8,21 @@ spandsp_sources = [
'gsttonegeneratesrc.h',
]
spandsp_headers = [
'gstspanplc.h',
'gstdtmfdetect.h',
'gsttonegeneratesrc.h',
]
doc_sources = []
foreach s: spandsp_sources + spandsp_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'spandsp': pathsep.join(doc_sources)
}
spandsp_dep = dependency('spandsp', version : '>= 0.0.6', required : get_option('spandsp'))
if spandsp_dep.found()

View file

@ -6,6 +6,24 @@ srt_sources = [
'gstsrtsink.c',
'gstsrtsrc.c'
]
srt_headers = [
'gstsrtelements.h',
'gstsrtsrc.h',
'gstsrtsink.h',
'gstsrtobject.h',
'gstsrt-enums.h',
]
doc_sources = []
foreach s: srt_sources + srt_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'srt': pathsep.join(doc_sources)
}
srt_option = get_option('srt')
if srt_option.disabled()
srt_dep = dependency('', required : false)

View file

@ -6,6 +6,23 @@ srtp_sources = [
'gstsrtpenc.c',
]
srtp_headers = [
'gstsrtp.h',
'gstsrtpenums.h',
'gstsrtpenc.h',
'gstsrtpdec.h',
'gstsrtpelements.h',
]
doc_sources = []
foreach s: srtp_sources + srtp_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'srtp': pathsep.join(doc_sources)
}
srtp_cargs = []
srtp_option = get_option('srtp').enable_if(get_option('webrtc').enabled(), error_message: 'webrtc option is enabled')
if srtp_option.disabled()

View file

@ -2,6 +2,19 @@ svtav1_sources = [
'gstsvtav1enc.c',
]
svtav1_headers = [
'gstsvtav1enc.h',
]
doc_sources = []
foreach s: svtav1_sources + svtav1_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'svtav1': pathsep.join(doc_sources)
}
svtav1_dep = dependency('SvtAv1Enc', version : '>= 1.1', required: get_option('svtav1'))
if svtav1_dep.found()

View file

@ -2,6 +2,19 @@ svthevcenc_sources = [
'gstsvthevcenc.c',
]
svthevcenc_headers = [
'gstsvthevcenc.h',
]
doc_sources = []
foreach s: svthevcenc_sources + svthevcenc_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'svthevcenc': pathsep.join(doc_sources)
}
svthevcenc_dep = dependency('SvtHevcEnc', version : '>= 1.4.1', required: get_option('svthevcenc'))
if svthevcenc_dep.found()

View file

@ -4,6 +4,20 @@ svtjpegxs_sources = [
'gstsvtjpegxsenc.c',
]
svtjpegxs_headers = [
'gstsvtjpegxsdec.h',
'gstsvtjpegxsenc.h',
]
doc_sources = []
foreach s: svtjpegxs_sources + svtjpegxs_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'svtjpegxs': pathsep.join(doc_sources)
}
svtjpegxs_dep = dependency('SvtJpegxs', version: '>= 0.9', required: get_option('svtjpegxs'))
if svtjpegxs_dep.found()

View file

@ -1,8 +1,25 @@
zvbi_dep = dependency('zvbi-0.2', required: get_option('teletext'))
teletext_sources = [
'gstteletextdec.c',
]
teletext_headers = [
'gstteletextdec.h',
]
doc_sources = []
foreach s: teletext_sources + teletext_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'teletext': pathsep.join(doc_sources)
}
if zvbi_dep.found()
gstteletext = library('gstteletext',
'gstteletextdec.c',
teletext_sources,
c_args: gst_plugins_bad_args,
link_args: noseh_link_args,
include_directories: [configinc],

View file

@ -3,15 +3,37 @@ pango_dep = dependency('pango', required : get_option('ttml'))
cairo_dep = dependency('cairo', required : get_option('ttml'))
pangocairo_dep = dependency('pangocairo', required : get_option('ttml'))
ttmlsubs_sources = [
'subtitle.c',
'subtitlemeta.c',
'gstttmlparse.c',
'ttmlparse.c',
'gstttmlrender.c',
'gstttmlelement.c',
'gstttmlplugin.c',
]
ttmlsubs_headers = [
'gstttmlelements.h',
'subtitlemeta.h',
'gstttmlparse.h',
'subtitle.h',
'gstttmlrender.h',
'ttmlparse.h',
]
doc_sources = []
foreach s: ttmlsubs_sources + ttmlsubs_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'ttmlsubs': pathsep.join(doc_sources)
}
if libxml_dep.found() and pango_dep.found() and cairo_dep.found() and pangocairo_dep.found()
gstttmlsubs = library('gstttmlsubs',
['subtitle.c',
'subtitlemeta.c',
'gstttmlparse.c',
'ttmlparse.c',
'gstttmlrender.c',
'gstttmlelement.c',
'gstttmlplugin.c'],
ttmlsubs_sources,
c_args : gst_plugins_bad_args + cc.get_supported_arguments(['-Wno-aggregate-return']),
include_directories : [configinc],
dependencies : [gstvideo_dep, libxml_dep, pango_dep, cairo_dep, pangocairo_dep, libm],

View file

@ -1,5 +1,18 @@
voaac_sources = ['gstvoaac.c', 'gstvoaacenc.c']
voaac_headers = [
'gstvoaacenc.h',
]
doc_sources = []
foreach s: voaac_sources + voaac_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'voaacenc': pathsep.join(doc_sources)
}
voaac_dep = dependency('vo-aacenc', required : get_option('voaacenc'))
if voaac_dep.found()

View file

@ -1,8 +1,26 @@
voamrwbenc_dep = dependency('vo-amrwbenc', version: '>= 0.1.0', required: get_option('voamrwbenc'))
voamrwbenc_sources = [
'gstvoamrwb.c',
'gstvoamrwbenc.c',
]
voamrwbenc_headers = [
'gstvoamrwbenc.h',
]
doc_sources = []
foreach s: voamrwbenc_sources + voamrwbenc_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'voamrwbenc': pathsep.join(doc_sources)
}
if voamrwbenc_dep.found()
gstvoamrwbenc = library('gstvoamrwbenc',
'gstvoamrwb.c', 'gstvoamrwbenc.c',
voamrwbenc_sources,
c_args: gst_plugins_bad_args,
link_args: noseh_link_args,
include_directories: [configinc],
@ -11,9 +29,9 @@ if voamrwbenc_dep.found()
install_dir: plugins_install_dir,
)
plugins += [gstvoamrwbenc]
install_data('GstVoAmrwbEnc.prs', install_dir: presetdir)
env = environment()
env.prepend('GST_PRESET_PATH', meson.current_source_dir())
meson.add_devenv(env)
endif
install_data('GstVoAmrwbEnc.prs', install_dir: presetdir)
env = environment()
env.prepend('GST_PRESET_PATH', meson.current_source_dir())
meson.add_devenv(env)

View file

@ -1,3 +1,49 @@
vulkan_sources = [
'gstvulkan.c',
'gstvulkanelement.c',
'vkdownload.c',
'vkdeviceprovider.c',
'vksink.c',
'vkupload.c',
]
vulkan_headers = [
'gstvulkanelements.h',
'vkcolorconvert.h',
'vkdeviceprovider.h',
'vkdownload.h',
'vkh264dec.h',
'vkh265dec.h',
'vkimageidentity.h',
'vkoverlaycompositor.h',
'vkshaderspv.h',
'vksink.h',
'vkupload.h',
'vkviewconvert.h',
]
glsc_sources = [
'vkcolorconvert.c',
'vkimageidentity.c',
'vkshaderspv.c',
'vkviewconvert.c',
'vkoverlaycompositor.c',
]
video_sources = [
'vkh264dec.c',
'vkh265dec.c',
]
doc_sources = []
foreach s: vulkan_sources + glsc_sources + video_sources + vulkan_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'vulkan': pathsep.join(doc_sources)
}
if get_option('vulkan').disabled()
subdir_done()
endif
@ -13,14 +59,6 @@ endif
extra_deps = []
extra_args = []
vulkan_sources = files(
'gstvulkan.c',
'gstvulkanelement.c',
'vkdownload.c',
'vkdeviceprovider.c',
'vksink.c',
'vkupload.c',
)
vulkan_plugin_enums = []
glslc = find_program('glslc', required: false)
@ -36,13 +74,7 @@ else
extra_args += ['-DHAVE_GLSLC']
subdir('shaders')
vulkan_sources += files(
'vkcolorconvert.c',
'vkimageidentity.c',
'vkshaderspv.c',
'vkviewconvert.c',
'vkoverlaycompositor.c',
)
vulkan_sources += glsc_sources
vulkan_plugin_enum_headers = files(
'vkviewconvert.h',
)
@ -53,7 +85,7 @@ else
endif
if vulkan_conf.get('GST_VULKAN_HAVE_VIDEO_EXTENSIONS') == 1
vulkan_sources += files('vkh264dec.c', 'vkh265dec.c')
vulkan_sources += video_sources
extra_deps += gstcodecs_dep
extra_args += ['-DGST_USE_UNSTABLE_API']
endif

View file

@ -2,15 +2,27 @@ wl_sources = [
'gstwaylandsink.c'
]
if use_wayland
wl_headers = [
'gstwaylandsink.h',
]
gstwaylandsink = library('gstwaylandsink',
wl_sources,
c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
include_directories : [configinc],
dependencies : [gst_dep, gstvideo_dep, gstwayland_dep],
install : true,
install_dir : plugins_install_dir,
)
plugins += [gstwaylandsink]
doc_sources = []
foreach s: wl_sources + wl_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'waylandsink': pathsep.join(doc_sources)
}
if use_wayland
gstwaylandsink = library('gstwaylandsink',
wl_sources,
c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
include_directories : [configinc],
dependencies : [gst_dep, gstvideo_dep, gstwayland_dep],
install : true,
install_dir : plugins_install_dir,
)
plugins += [gstwaylandsink]
endif

View file

@ -4,6 +4,20 @@ webp_sources = [
'gstwebpenc.c',
]
webp_headers = [
'gstwebpdec.h',
'gstwebpenc.h',
]
doc_sources = []
foreach s: webp_sources + webp_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'webp': pathsep.join(doc_sources)
}
webp_dep = dependency('libwebp', version : '>= 0.2.1', required : get_option('webp'))
webpmux_dep = dependency('libwebpmux', version : '>= 0.2.1', required : get_option('webp'))

View file

@ -12,6 +12,29 @@ webrtc_sources = [
'webrtcdatachannel.c',
]
webrtc_headers = [
'transportstream.h',
'gstwebrtcbin.h',
'transportreceivebin.h',
'fwd.h',
'transportsendbin.h',
'webrtcdatachannel.h',
'webrtcsctptransport.h',
'webrtctransceiver.h',
'utils.h',
'webrtcsdp.h',
'gstwebrtcstats.h',
]
doc_sources = []
foreach s: webrtc_sources + webrtc_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'webrtc': pathsep.join(doc_sources)
}
webrtc_option = get_option('webrtc').require(
libgstwebrtcnice_dep.found(), error_message: 'webrtc plugin requires libgstwebrtcnice.')
if webrtc_option.disabled()
@ -28,4 +51,3 @@ gstwebrtc_plugin = library('gstwebrtc',
install_dir : plugins_install_dir,
)
plugins += [gstwebrtc_plugin]

View file

@ -4,6 +4,19 @@ webrtc_sources = [
'gstwebrtcdspplugin.cpp'
]
webrtc_headers = [
'gstwebrtcechoprobe.h',
'gstwebrtcdsp.h',
]
doc_sources = []
foreach s: webrtc_sources + webrtc_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'webrtcdsp': pathsep.join(doc_sources)
}
webrtc_dep = dependency('webrtc-audio-processing-1', version : ['>= 1.0'],
required : get_option('webrtcdsp'))
@ -20,3 +33,4 @@ if webrtc_dep.found()
)
plugins += [gstwebrtcdsp]
endif

View file

@ -1,3 +1,20 @@
wildmidi_sources = [
'gstwildmididec.c',
]
wildmidi_headers = [
'gstwildmididec.h',
]
doc_sources = []
foreach s: wildmidi_sources + wildmidi_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'wildmidi': pathsep.join(doc_sources)
}
if get_option('wildmidi').disabled()
subdir_done()
endif
@ -23,7 +40,7 @@ endif
if wildmidi_dep.found()
gstwildmidi = library('gstwildmidi',
'gstwildmididec.c',
wildmidi_sources,
c_args: gst_plugins_bad_args,
include_directories: [configinc],
dependencies: [gstaudio_dep, gstbadaudio_dep, wildmidi_dep],

View file

@ -1,3 +1,25 @@
wpe_sources = [
'gstwpethreadedview.cpp','gstwpe.cpp',
'gstwpevideosrc.cpp',
'gstwpesrcbin.cpp',
]
wpe_headers = [
'gstwpesrcbin.h',
'gstwpevideosrc.h',
'gstwpe.h',
'gstwpethreadedview.h',
]
doc_sources = []
foreach s: wpe_sources + wpe_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'wpe': pathsep.join(doc_sources)
}
building_wpe = false
wpe_feat = get_option('wpe').require(gstgl_dep.found(),
error_message : 'wpe plugin enabled but GL support was not detected')
@ -55,8 +77,9 @@ giounix_dep = dependency('gio-unix-2.0', required: false)
wpe_extension_install_dir = get_option('prefix') / get_option('libdir') / meson.project_name() / 'wpe-extension'
building_wpe = true
gstwpe = library('gstwpe',
['gstwpethreadedview.cpp', 'gstwpe.cpp', 'gstwpevideosrc.cpp', 'gstwpesrcbin.cpp'],
wpe_sources,
dependencies : [egl_dep, wpewebkit_dep, wpe_fdo_dep, gstallocators_dep, gstaudio_dep, gstvideo_dep,
gstbase_dep, gstgl_dep, xkbcommon_dep, wl_server_dep, giounix_dep],
cpp_args : gst_plugins_bad_args + ['-DHAVE_CONFIG_H=1',

View file

@ -4,9 +4,26 @@ x265_opt = get_option('x265').require(gpl_allowed, error_message: '''
''')
x265_dep = dependency('x265', required: x265_opt)
x265_sources = [
'gstx265enc.c',
]
x265_headers = [
'gstx265enc.h',
]
doc_sources = []
foreach s: x265_sources + x265_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'x265': pathsep.join(doc_sources)
}
if x265_dep.found()
gstx265 = library('gstx265',
'gstx265enc.c',
x265_sources,
c_args : gst_plugins_bad_args + cc.get_supported_arguments(['-Wno-undef']),
include_directories : [configinc],
dependencies : [gstpbutils_dep, gstvideo_dep, x265_dep],

View file

@ -1,4 +1,22 @@
zbar_dep = dependency('zbar', version : '>= 0.9', required : get_option('zbar'))
zbar_sources = [
'gstzbar.c',
]
zbar_headers = [
'gstzbar.h',
]
doc_sources = []
foreach s: zbar_sources + zbar_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'zbar': pathsep.join(doc_sources)
}
if zbar_dep.found()
gstzbar = library('gstzbar',
'gstzbar.c',

View file

@ -2,6 +2,20 @@ zxing_sources = [
'gstzxing.cpp',
'gstzxingplugin.c',
]
zxing_headers = [
'gstzxing.h',
]
doc_sources = []
foreach s: zxing_sources + zxing_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'zxing': pathsep.join(doc_sources)
}
zxing_dep = dependency('zxing', version : '>= 1.4.0', required : get_option('zxing'))
if zxing_dep.found()
gstzxing = library('gstzxing',

View file

@ -2,6 +2,23 @@ accurip_sources = [
'gstaccurip.c',
]
accurip_headers = [
'gstaccurip.h',
]
doc_sources = []
foreach s: accurip_sources + accurip_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'accurip': pathsep.join(doc_sources)
}
if get_option('accurip').disabled()
subdir_done()
endif
gstaccurip = library('gstaccurip',
accurip_sources,
c_args : gst_plugins_bad_args,

View file

@ -2,6 +2,22 @@ adpcmdec_sources = [
'adpcmdec.c'
]
adpcmdec_headers = [
]
doc_sources = []
foreach s: adpcmdec_sources + adpcmdec_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'adpcmdec': pathsep.join(doc_sources)
}
if get_option('adpcmdec').disabled()
subdir_done()
endif
gstadpcmdec = library('gstadpcmdec',
adpcmdec_sources,
c_args : gst_plugins_bad_args,

View file

@ -2,6 +2,22 @@ gstadpcmenc_sources = [
'adpcmenc.c'
]
gstadpcmenc_headers = [
]
doc_sources = []
foreach s: gstadpcmenc_sources + gstadpcmenc_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'adpcmenc': pathsep.join(doc_sources)
}
if get_option('adpcmenc').disabled()
subdir_done()
endif
gstadpcmenc = library('gstadpcmenc',
gstadpcmenc_sources,
c_args : gst_plugins_bad_args,

View file

@ -2,6 +2,25 @@ aiff_sources = [
'aiff.c', 'aiffmux.c', 'aiffparse.c', 'gstaiffelement.c'
]
aiff_headers = [
'aiffmux.h',
'aiffelements.h',
'aiffparse.h',
]
doc_sources = []
foreach s: aiff_sources + aiff_headers
doc_sources += meson.current_source_dir() / s
endforeach
plugin_sources += {
'aiff': pathsep.join(doc_sources)
}
if get_option('aiff').disabled()
subdir_done()
endif
gstaiff = library('gstaiff',
aiff_sources,
c_args : gst_plugins_bad_args,

Some files were not shown because too many files have changed in this diff Show more