1 video_sources = files([
3 'cameracontrolchannel.c',
5 'colorbalancechannel.c',
7 'gstvideoaffinetransformationmeta.c',
8 'gstvideocodecalphameta.c',
9 'gstvideoaggregator.c',
18 'gstvideoutilsprivate.c',
37 'video-overlay-composition.c',
43 video_headers = files([
45 'cameracontrolchannel.h',
47 'colorbalancechannel.h',
48 'gstvideoaffinetransformationmeta.h',
49 'gstvideocodecalphameta.h',
50 'gstvideoaggregator.h',
79 'video-overlay-composition.h',
83 install_headers(video_headers, subdir : 'gstreamer-1.0/gst/video/')
85 video_mkenum_headers = [
95 'video-overlay-composition.h',
100 'gstvideotimecode.h',
108 video_enums = gnome.mkenums_simple('video-enumtypes',
109 sources : video_mkenum_headers,
110 body_prefix : '#ifdef HAVE_CONFIG_H\n#include "config.h"\n#endif',
111 header_prefix : '#include <gst/video/video-prelude.h>',
112 decorator : 'GST_VIDEO_API',
113 install_header: true,
114 install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/video'))
115 gstvideo_c = video_enums[0]
116 gstvideo_h = video_enums[1]
117 video_gen_sources = [gstvideo_h]
120 gstvideo_deps = [gst_base_dep, libm]
122 gstvideo_deps += [orc_dep]
123 orc_h = custom_target(orcsrc + '.h',
124 input : orcsrc + '.orc',
125 output : orcsrc + '.h',
126 command : orcc_args + ['--header', '-o', '@OUTPUT@', '@INPUT@'])
127 orc_c = custom_target(orcsrc + '.c',
128 input : orcsrc + '.orc',
129 output : orcsrc + '.c',
130 command : orcc_args + ['--implementation', '-o', '@OUTPUT@', '@INPUT@'])
131 orc_targets += {'name': orcsrc, 'orc-source': files(orcsrc + '.orc'), 'header': orc_h, 'source': orc_c}
133 orc_h = configure_file(input : orcsrc + '-dist.h',
134 output : orcsrc + '.h',
136 orc_c = configure_file(input : orcsrc + '-dist.c',
137 output : orcsrc + '.c',
141 gstvideo = library('gstvideo-@0@'.format(api_version),
142 video_sources, gstvideo_h, gstvideo_c, orc_c, orc_h,
143 c_args : gst_plugins_base_args + ['-DBUILDING_GST_VIDEO', '-DG_LOG_DOMAIN="GStreamer-Video"'],
144 include_directories: [configinc, libsinc],
145 version : libversion,
146 soversion : soversion,
147 darwin_versions : osxversion,
149 dependencies : gstvideo_deps,
152 extra_defs = ['-DTIZEN_FEATURE_WAYLAND_ENHANCEMENT']
153 if get_option('tv-profile')
154 extra_defs += ['-DTIZEN_PROFILE_TV']
157 library_def = {'lib': gstvideo}
158 pkg_name = 'gstreamer-video-1.0'
159 pkgconfig.generate(gstvideo,
160 libraries : [gst_dep, gst_base_dep],
161 variables : pkgconfig_variables,
162 subdirs : pkgconfig_subdirs,
163 extra_cflags : extra_defs,
165 description : 'Video base classes and helper functions',
169 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/video/video.h' ]
171 'sources' : video_sources + video_headers + [gstvideo_c] + [gstvideo_h],
172 'namespace' : 'GstVideo',
173 'nsversion' : api_version,
174 'identifier_prefix' : 'Gst',
175 'symbol_prefix' : 'gst',
176 'export_packages' : pkg_name,
177 'includes' : ['Gst-1.0','GstBase-1.0'],
179 'extra_args' : gst_gir_extra_args,
180 'dependencies' : gstvideo_deps
182 library_def += {'gir': [gir]}
184 video_gir = gnome.generate_gir(gstvideo, kwargs: gir)
185 video_gen_sources += [video_gir]
188 gst_libraries += [[pkg_name, library_def]]
190 video_dep = declare_dependency(link_with : gstvideo,
191 include_directories : [libsinc],
192 dependencies : gstvideo_deps,
193 sources : video_gen_sources)
195 meson.override_dependency(pkg_name, video_dep)