1 video_sources = files([
3 'colorbalancechannel.c',
5 'gstvideoaffinetransformationmeta.c',
6 'gstvideocodecalphameta.c',
7 'gstvideoaggregator.c',
16 'gstvideoutilsprivate.c',
34 'video-overlay-composition.c',
40 video_headers = files([
42 'colorbalancechannel.h',
43 'gstvideoaffinetransformationmeta.h',
44 'gstvideocodecalphameta.h',
45 'gstvideoaggregator.h',
74 'video-overlay-composition.h',
77 install_headers(video_headers, subdir : 'gstreamer-1.0/gst/video/')
79 video_mkenum_headers = [
88 'video-overlay-composition.h',
101 video_enums = gnome.mkenums_simple('video-enumtypes',
102 sources : video_mkenum_headers,
103 body_prefix : '#ifdef HAVE_CONFIG_H\n#include "config.h"\n#endif',
104 header_prefix : '#include <gst/video/video-prelude.h>',
105 decorator : 'GST_VIDEO_API',
106 install_header: true,
107 install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/video'))
108 gstvideo_c = video_enums[0]
109 gstvideo_h = video_enums[1]
110 video_gen_sources = [gstvideo_h]
113 gstvideo_deps = [gst_base_dep, libm]
115 gstvideo_deps += [orc_dep]
116 orc_h = custom_target(orcsrc + '.h',
117 input : orcsrc + '.orc',
118 output : orcsrc + '.h',
119 command : orcc_args + ['--header', '-o', '@OUTPUT@', '@INPUT@'])
120 orc_c = custom_target(orcsrc + '.c',
121 input : orcsrc + '.orc',
122 output : orcsrc + '.c',
123 command : orcc_args + ['--implementation', '-o', '@OUTPUT@', '@INPUT@'])
124 orc_targets += {'name': orcsrc, 'orc-source': files(orcsrc + '.orc'), 'header': orc_h, 'source': orc_c}
126 orc_h = configure_file(input : orcsrc + '-dist.h',
127 output : orcsrc + '.h',
129 orc_c = configure_file(input : orcsrc + '-dist.c',
130 output : orcsrc + '.c',
134 gstvideo = library('gstvideo-@0@'.format(api_version),
135 video_sources, gstvideo_h, gstvideo_c, orc_c, orc_h,
136 c_args : gst_plugins_base_args + ['-DBUILDING_GST_VIDEO'],
137 include_directories: [configinc, libsinc],
138 version : libversion,
139 soversion : soversion,
140 darwin_versions : osxversion,
142 dependencies : gstvideo_deps,
145 library_def = {'lib': gstvideo}
146 pkg_name = 'gstreamer-video-1.0'
147 pkgconfig.generate(gstvideo,
148 libraries : [gst_dep, gst_base_dep],
149 variables : pkgconfig_variables,
150 subdirs : pkgconfig_subdirs,
152 description : 'Video base classes and helper functions',
156 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/video/video.h' ]
158 'sources' : video_sources + video_headers + [gstvideo_c] + [gstvideo_h],
159 'namespace' : 'GstVideo',
160 'nsversion' : api_version,
161 'identifier_prefix' : 'Gst',
162 'symbol_prefix' : 'gst',
163 'export_packages' : pkg_name,
164 'includes' : ['Gst-1.0','GstBase-1.0'],
166 'extra_args' : gst_gir_extra_args,
167 'dependencies' : gstvideo_deps
169 library_def += {'gir': [gir]}
171 video_gir = gnome.generate_gir(gstvideo, kwargs: gir)
172 video_gen_sources += [video_gir]
175 libraries += [[pkg_name, library_def]]
177 video_dep = declare_dependency(link_with : gstvideo,
178 include_directories : [libsinc],
179 dependencies : gstvideo_deps,
180 sources : video_gen_sources)
182 meson.override_dependency(pkg_name, video_dep)