project('gst-plugins-base', 'c',
- version : '1.21.0.1',
- meson_version : '>= 0.60',
+ version : '1.22.0',
+ meson_version : '>= 0.62',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])
plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0')
static_build = get_option('default_library') == 'static'
plugins = []
-libraries = []
+gst_libraries = []
cc = meson.get_compiler('c')
add_project_link_arguments('-Wl,-Bsymbolic-functions', language : 'c')
endif
+# glib doesn't support unloading, which means that unloading and reloading
+# any library that registers static types will fail
+if cc.has_link_argument('-Wl,-z,nodelete')
+ add_project_link_arguments('-Wl,-z,nodelete', language: 'c')
+endif
+
core_conf = configuration_data()
core_conf.set('ENABLE_NLS', 1)
# Symbol visibility
-if cc.get_id() == 'msvc'
- export_define = '__declspec(dllexport) extern'
-elif cc.has_argument('-fvisibility=hidden')
+if cc.has_argument('-fvisibility=hidden')
add_project_arguments('-fvisibility=hidden', language: 'c')
if have_objc
add_project_arguments('-fvisibility=hidden', language: 'objc')
endif
- export_define = 'extern __attribute__ ((visibility ("default")))'
-else
- export_define = 'extern'
endif
-# Passing this through the command line would be too messy
-core_conf.set('GST_API_EXPORT', export_define)
-
# Disable strict aliasing
if cc.has_argument('-fno-strict-aliasing')
add_project_arguments('-fno-strict-aliasing', language: 'c')
core_conf.set('DISABLE_ORC', 1)
endif
+# TIZEN_BUILD_OPTION
+core_conf.set('TIZEN_FEATURE_FIX_SEG_FAULT', true)
+core_conf.set('TIZEN_FEATURE_WAYLAND_ENHANCEMENT', true)
+core_conf.set('TIZEN_FEATURE_TYPEFIND_ENHANCEMENT', true)
+core_conf.set('TIZEN_FEATURE_AUDIODECODER_MODIFICATION', true)
+core_conf.set('TIZEN_FEATURE_DISABLE_MIME_TYPES', true)
+core_conf.set('TIZEN_FEATURE_VIDEO_MODIFICATION', true)
+core_conf.set('TIZEN_FEATURE_SUBPARSE_MODIFICATION', true)
+core_conf.set('TIZEN_FEATURE_SUBPARSE_DROP_OUT_OF_SEGMENT', true)
+core_conf.set('TIZEN_FEATURE_HLS_WEBVTT', true)
+core_conf.set('TIZEN_FEATURE_VOLUME_MODIFICATION', true)
+core_conf.set('TIZEN_FEATURE_FORCE_SW_DECODER', true)
+core_conf.set('TIZEN_FEATURE_PLAYBIN3_MODIFICATION', true)
+core_conf.set('TIZEN_FEATURE_DISABLE_EOS_DROP', true)
+core_conf.set('TIZEN_FEATURE_MANUAL_BUFFERING_CTRL', true)
+core_conf.set('TIZEN_FEATURE_FIX_PAD_BLOCK', true)
+
+tbm_dep = dependency('libtbm', required : get_option('tbm'))
+if tbm_dep.found()
+ core_conf.set('USE_TBM', true)
+endif
+
+if get_option('tv-profile')
+ core_conf.set('TIZEN_PROFILE_TV', true)
+ core_conf.set('TIZEN_FEATURE_TRUSTZONE', true)
+else
+ core_conf.set('TIZEN_FEATURE_RESOURCE_MANAGER', true)
+endif
+
+# TIZEN_GLOBAL_BUILD_OPTION
+core_conf.set('TIZEN_FEATURE_BASEPARSE_MODIFICATION', true)
+
+# TIZEN_BUILD_OPTION end
+
# Used to build SSE* things in audio-resampler
sse_args = '-msse'
sse2_args = '-msse2'
'datadir=${datarootdir}',
'girdir=${datadir}/gir-1.0',
'typelibdir=${libdir}/girepository-1.0',
- 'libexecdir=${prefix}/libexec']
+ 'libexecdir=${prefix}/libexec',
+ 'pluginscannerdir=${libexecdir}/gstreamer-1.0'
+]
pkgconfig_subdirs = ['gstreamer-1.0']
meson_pkg_config_file_fixup_script = find_program('scripts/meson-pkg-config-file-fixup.py')
# Use core_conf after all subdirs have set values
configure_file(output : 'config.h', configuration : core_conf)
+meson.add_dist_script('scripts/gen-changelog.py', meson.project_name(), '1.20.0', meson.project_version())
+
plugin_names = []
+gst_plugins = []
foreach plugin: plugins
+ pkgconfig.generate(plugin, install_dir: plugins_pkgconfig_install_dir)
+ dep = declare_dependency(link_with: plugin, variables: {'full_path': plugin.full_path()})
+ meson.override_dependency(plugin.name(), dep)
+ gst_plugins += [dep]
if plugin.name().startswith('gst')
plugin_names += [plugin.name().substring(3)]
else