1video_sources = [
2  'colorbalance.c',
3  'colorbalancechannel.c',
4  'convertframe.c',
5  'gstvideoaffinetransformationmeta.c',
6  'gstvideoaggregator.c',
7  'gstvideodecoder.c',
8  'gstvideoencoder.c',
9  'gstvideofilter.c',
10  'gstvideometa.c',
11  'gstvideopool.c',
12  'gstvideosink.c',
13  'gstvideotimecode.c',
14  'gstvideoutils.c',
15  'gstvideoutilsprivate.c',
16  'navigation.c',
17  'video.c',
18  'video-anc.c',
19  'video-blend.c',
20  'video-chroma.c',
21  'video-color.c',
22  'video-converter.c',
23  'video-dither.c',
24  'video-event.c',
25  'video-format.c',
26  'video-frame.c',
27  'video-info.c',
28  'video-multiview.c',
29  'video-resampler.c',
30  'video-scaler.c',
31  'video-tile.c',
32  'video-overlay-composition.c',
33  'videodirection.c',
34  'videoorientation.c',
35  'videooverlay.c',
36]
37
38video_headers = [
39  'colorbalance.h',
40  'colorbalancechannel.h',
41  'gstvideoaffinetransformationmeta.h',
42  'gstvideoaggregator.h',
43  'gstvideodecoder.h',
44  'gstvideoencoder.h',
45  'gstvideofilter.h',
46  'gstvideometa.h',
47  'gstvideopool.h',
48  'gstvideosink.h',
49  'gstvideotimecode.h',
50  'gstvideoutils.h',
51  'navigation.h',
52  'video.h',
53  'video-anc.h',
54  'video-event.h',
55  'video-format.h',
56  'video-chroma.h',
57  'video-color.h',
58  'video-converter.h',
59  'video-dither.h',
60  'video-info.h',
61  'video-frame.h',
62  'video-prelude.h',
63  'video-scaler.h',
64  'video-tile.h',
65  'videodirection.h',
66  'videoorientation.h',
67  'videooverlay.h',
68  'video-resampler.h',
69  'video-blend.h',
70  'video-overlay-composition.h',
71  'video-multiview.h',
72]
73install_headers(video_headers, subdir : 'gstreamer-1.0/gst/video/')
74
75video_mkenum_headers = [
76  'video.h',
77  'video-anc.h',
78  'video-format.h',
79  'video-frame.h',
80  'video-chroma.h',
81  'video-color.h',
82  'video-converter.h',
83  'video-dither.h',
84  'video-info.h',
85  'video-overlay-composition.h',
86  'video-resampler.h',
87  'video-scaler.h',
88  'video-tile.h',
89  'colorbalance.h',
90  'navigation.h',
91]
92
93video_enums = gnome.mkenums_simple('video-enumtypes',
94  sources : video_mkenum_headers,
95  body_prefix : '#ifdef HAVE_CONFIG_H\n#include "config.h"\n#endif',
96  header_prefix : '#include <gst/video/video-prelude.h>',
97  decorator : 'GST_VIDEO_API',
98  install_header: true,
99  install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/video'))
100gstvideo_c = video_enums[0]
101gstvideo_h = video_enums[1]
102video_gen_sources = [gstvideo_h]
103
104orcsrc = 'video-orc'
105gstvideo_deps = [gst_base_dep, libm]
106if have_orcc
107  gstvideo_deps += [orc_dep]
108  orc_h = custom_target(orcsrc + '.h',
109    input : orcsrc + '.orc',
110    output : orcsrc + '.h',
111    command : orcc_args + ['--header', '-o', '@OUTPUT@', '@INPUT@'])
112  orc_c = custom_target(orcsrc + '.c',
113    input : orcsrc + '.orc',
114    output : orcsrc + '.c',
115    command : orcc_args + ['--implementation', '-o', '@OUTPUT@', '@INPUT@'])
116else
117  orc_h = configure_file(input : orcsrc + '-dist.h',
118    output : orcsrc + '.h',
119    copy : true)
120  orc_c = configure_file(input : orcsrc + '-dist.c',
121    output : orcsrc + '.c',
122    copy : true)
123endif
124
125gstvideo = library('gstvideo-@0@'.format(api_version),
126  video_sources, gstvideo_h, gstvideo_c, orc_c, orc_h,
127  c_args : gst_plugins_base_args + ['-DBUILDING_GST_VIDEO'],
128  include_directories: [configinc, libsinc],
129  version : libversion,
130  soversion : soversion,
131  darwin_versions : osxversion,
132  install : true,
133  dependencies : gstvideo_deps,
134)
135
136if build_gir
137  gst_gir_extra_args = gir_init_section + [ '--c-include=gst/video/video.h' ]
138  video_gen_sources += [gnome.generate_gir(gstvideo,
139    sources : video_sources + video_headers + [gstvideo_c] + [gstvideo_h],
140    namespace : 'GstVideo',
141    nsversion : api_version,
142    identifier_prefix : 'Gst',
143    symbol_prefix : 'gst',
144    export_packages : 'gstreamer-video-1.0',
145    includes : ['Gst-1.0', 'GstBase-1.0'],
146    install : true,
147    extra_args : gst_gir_extra_args,
148    dependencies : gstvideo_deps
149  )]
150endif
151
152video_dep = declare_dependency(link_with : gstvideo,
153  include_directories : [libsinc],
154  dependencies : gstvideo_deps,
155  sources : video_gen_sources)
156