mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 16:50:47 +00:00
6c500b619c
... in order to make older g-i happy (~1.60) which doesn't like freeform descriptions in the value_name field. Which in turn then makes hotdoc happy instead of erroring out when we bump the symbol index version. We usually only (ab)use the name field for description strings for private plugin enums, not for public API visible to bindings. This lets glib-mkenum generate the _get_type() function for the enum again, which in turn will generate the expected value names to match the enums. We might be able to add this back later once we can upgrade the g-i version requirement (and the documentation job image). This reverts most of commit b0aab48cdcf0a454d14aeb4d907209d8ee3f1add
183 lines
4.7 KiB
Meson
183 lines
4.7 KiB
Meson
video_sources = files([
|
|
'colorbalance.c',
|
|
'colorbalancechannel.c',
|
|
'convertframe.c',
|
|
'gstvideoaffinetransformationmeta.c',
|
|
'gstvideocodecalphameta.c',
|
|
'gstvideoaggregator.c',
|
|
'gstvideodecoder.c',
|
|
'gstvideoencoder.c',
|
|
'gstvideofilter.c',
|
|
'gstvideometa.c',
|
|
'gstvideopool.c',
|
|
'gstvideosink.c',
|
|
'gstvideotimecode.c',
|
|
'gstvideoutils.c',
|
|
'gstvideoutilsprivate.c',
|
|
'navigation.c',
|
|
'video.c',
|
|
'video-anc.c',
|
|
'video-blend.c',
|
|
'video-chroma.c',
|
|
'video-color.c',
|
|
'video-converter.c',
|
|
'video-dither.c',
|
|
'video-event.c',
|
|
'video-format.c',
|
|
'video-frame.c',
|
|
'video-hdr.c',
|
|
'video-info.c',
|
|
'video-multiview.c',
|
|
'video-resampler.c',
|
|
'video-scaler.c',
|
|
'video-tile.c',
|
|
'video-overlay-composition.c',
|
|
'videodirection.c',
|
|
'videoorientation.c',
|
|
'videooverlay.c',
|
|
])
|
|
|
|
video_headers = files([
|
|
'colorbalance.h',
|
|
'colorbalancechannel.h',
|
|
'gstvideoaffinetransformationmeta.h',
|
|
'gstvideocodecalphameta.h',
|
|
'gstvideoaggregator.h',
|
|
'gstvideodecoder.h',
|
|
'gstvideoencoder.h',
|
|
'gstvideofilter.h',
|
|
'gstvideometa.h',
|
|
'gstvideopool.h',
|
|
'gstvideosink.h',
|
|
'gstvideotimecode.h',
|
|
'gstvideoutils.h',
|
|
'navigation.h',
|
|
'video.h',
|
|
'video-anc.h',
|
|
'video-event.h',
|
|
'video-format.h',
|
|
'video-chroma.h',
|
|
'video-color.h',
|
|
'video-converter.h',
|
|
'video-dither.h',
|
|
'video-hdr.h',
|
|
'video-info.h',
|
|
'video-frame.h',
|
|
'video-prelude.h',
|
|
'video-scaler.h',
|
|
'video-tile.h',
|
|
'videodirection.h',
|
|
'videoorientation.h',
|
|
'videooverlay.h',
|
|
'video-resampler.h',
|
|
'video-blend.h',
|
|
'video-overlay-composition.h',
|
|
'video-multiview.h',
|
|
])
|
|
install_headers(video_headers, subdir : 'gstreamer-1.0/gst/video/')
|
|
|
|
video_mkenum_headers = [
|
|
'video.h',
|
|
'video-anc.h',
|
|
'video-format.h',
|
|
'video-frame.h',
|
|
'video-chroma.h',
|
|
'video-color.h',
|
|
'video-converter.h',
|
|
'video-dither.h',
|
|
'video-info.h',
|
|
'video-overlay-composition.h',
|
|
'video-resampler.h',
|
|
'video-scaler.h',
|
|
'video-tile.h',
|
|
'gstvideometa.h',
|
|
'gstvideotimecode.h',
|
|
'gstvideoutils.h',
|
|
'gstvideoencoder.h',
|
|
'gstvideodecoder.h',
|
|
'colorbalance.h',
|
|
'navigation.h',
|
|
]
|
|
|
|
video_enums = gnome.mkenums_simple('video-enumtypes',
|
|
sources : video_mkenum_headers,
|
|
body_prefix : '#ifdef HAVE_CONFIG_H\n#include "config.h"\n#endif',
|
|
header_prefix : '#include <gst/video/video-prelude.h>',
|
|
decorator : 'GST_VIDEO_API',
|
|
install_header: true,
|
|
install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/video'))
|
|
gstvideo_c = video_enums[0]
|
|
gstvideo_h = video_enums[1]
|
|
video_gen_sources = [gstvideo_h]
|
|
|
|
orcsrc = 'video-orc'
|
|
gstvideo_deps = [gst_base_dep, libm]
|
|
if have_orcc
|
|
gstvideo_deps += [orc_dep]
|
|
orc_h = custom_target(orcsrc + '.h',
|
|
input : orcsrc + '.orc',
|
|
output : orcsrc + '.h',
|
|
command : orcc_args + ['--header', '-o', '@OUTPUT@', '@INPUT@'])
|
|
orc_c = custom_target(orcsrc + '.c',
|
|
input : orcsrc + '.orc',
|
|
output : orcsrc + '.c',
|
|
command : orcc_args + ['--implementation', '-o', '@OUTPUT@', '@INPUT@'])
|
|
orc_targets += {'name': orcsrc, 'orc-source': files(orcsrc + '.orc'), 'header': orc_h, 'source': orc_c}
|
|
else
|
|
orc_h = configure_file(input : orcsrc + '-dist.h',
|
|
output : orcsrc + '.h',
|
|
copy : true)
|
|
orc_c = configure_file(input : orcsrc + '-dist.c',
|
|
output : orcsrc + '.c',
|
|
copy : true)
|
|
endif
|
|
|
|
gstvideo = library('gstvideo-@0@'.format(api_version),
|
|
video_sources, gstvideo_h, gstvideo_c, orc_c, orc_h,
|
|
c_args : gst_plugins_base_args + ['-DBUILDING_GST_VIDEO', '-DG_LOG_DOMAIN="GStreamer-Video"'],
|
|
include_directories: [configinc, libsinc],
|
|
version : libversion,
|
|
soversion : soversion,
|
|
darwin_versions : osxversion,
|
|
install : true,
|
|
dependencies : gstvideo_deps,
|
|
)
|
|
|
|
library_def = {'lib': gstvideo}
|
|
pkg_name = 'gstreamer-video-1.0'
|
|
pkgconfig.generate(gstvideo,
|
|
libraries : [gst_dep, gst_base_dep],
|
|
variables : pkgconfig_variables,
|
|
subdirs : pkgconfig_subdirs,
|
|
name : pkg_name,
|
|
description : 'Video base classes and helper functions',
|
|
)
|
|
|
|
if build_gir
|
|
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/video/video.h' ]
|
|
gir = {
|
|
'sources' : video_sources + video_headers + [gstvideo_c] + [gstvideo_h],
|
|
'namespace' : 'GstVideo',
|
|
'nsversion' : api_version,
|
|
'identifier_prefix' : 'Gst',
|
|
'symbol_prefix' : 'gst',
|
|
'export_packages' : pkg_name,
|
|
'includes' : ['Gst-1.0','GstBase-1.0'],
|
|
'install' : true,
|
|
'extra_args' : gst_gir_extra_args,
|
|
'dependencies' : gstvideo_deps
|
|
}
|
|
library_def += {'gir': [gir]}
|
|
if not static_build
|
|
video_gir = gnome.generate_gir(gstvideo, kwargs: gir)
|
|
video_gen_sources += [video_gir]
|
|
endif
|
|
endif
|
|
libraries += [[pkg_name, library_def]]
|
|
|
|
video_dep = declare_dependency(link_with : gstvideo,
|
|
include_directories : [libsinc],
|
|
dependencies : gstvideo_deps,
|
|
sources : video_gen_sources)
|
|
|
|
meson.override_dependency(pkg_name, video_dep)
|