dtlsdec: Check if pad is linked before pushing buffer
[platform/upstream/gstreamer.git] / subprojects / gst-plugins-base / gst-libs / gst / video / meson.build
1 video_sources = files([
2   'cameracontrol.c',
3   'cameracontrolchannel.c',
4   'colorbalance.c',
5   'colorbalancechannel.c',
6   'convertframe.c',
7   'gstvideoaffinetransformationmeta.c',
8   'gstvideocodecalphameta.c',
9   'gstvideoaggregator.c',
10   'gstvideodecoder.c',
11   'gstvideoencoder.c',
12   'gstvideofilter.c',
13   'gstvideometa.c',
14   'gstvideopool.c',
15   'gstvideosink.c',
16   'gstvideotimecode.c',
17   'gstvideoutils.c',
18   'gstvideoutilsprivate.c',
19   'navigation.c',
20   'video.c',
21   'video-anc.c',
22   'video-blend.c',
23   'video-chroma.c',
24   'video-color.c',
25   'video-converter.c',
26   'video-dither.c',
27   'video-event.c',
28   'video-format.c',
29   'video-frame.c',
30   'video-hdr.c',
31   'video-info.c',
32   'video-multiview.c',
33   'video-resampler.c',
34   'video-scaler.c',
35   'video-sei.c',
36   'video-tile.c',
37   'video-overlay-composition.c',
38   'videodirection.c',
39   'videoorientation.c',
40   'videooverlay.c',
41 ])
42
43 video_headers = files([
44   'cameracontrol.h',
45   'cameracontrolchannel.h',
46   'colorbalance.h',
47   'colorbalancechannel.h',
48   'gstvideoaffinetransformationmeta.h',
49   'gstvideocodecalphameta.h',
50   'gstvideoaggregator.h',
51   'gstvideodecoder.h',
52   'gstvideoencoder.h',
53   'gstvideofilter.h',
54   'gstvideometa.h',
55   'gstvideopool.h',
56   'gstvideosink.h',
57   'gstvideotimecode.h',
58   'gstvideoutils.h',
59   'navigation.h',
60   'video.h',
61   'video-anc.h',
62   'video-event.h',
63   'video-format.h',
64   'video-chroma.h',
65   'video-color.h',
66   'video-converter.h',
67   'video-dither.h',
68   'video-hdr.h',
69   'video-info.h',
70   'video-frame.h',
71   'video-prelude.h',
72   'video-scaler.h',
73   'video-tile.h',
74   'videodirection.h',
75   'videoorientation.h',
76   'videooverlay.h',
77   'video-resampler.h',
78   'video-blend.h',
79   'video-overlay-composition.h',
80   'video-multiview.h',
81   'video-sei.h',
82 ])
83 install_headers(video_headers, subdir : 'gstreamer-1.0/gst/video/')
84
85 video_mkenum_headers = [
86   'video.h',
87   'video-anc.h',
88   'video-format.h',
89   'video-frame.h',
90   'video-chroma.h',
91   'video-color.h',
92   'video-converter.h',
93   'video-dither.h',
94   'video-info.h',
95   'video-overlay-composition.h',
96   'video-resampler.h',
97   'video-scaler.h',
98   'video-tile.h',
99   'gstvideometa.h',
100   'gstvideotimecode.h',
101   'gstvideoutils.h',
102   'gstvideoencoder.h',
103   'gstvideodecoder.h',
104   'colorbalance.h',
105   'navigation.h',
106 ]
107
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]
118
119 orcsrc = 'video-orc'
120 gstvideo_deps = [gst_base_dep, libm]
121 if have_orcc
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}
132 else
133   orc_h = configure_file(input : orcsrc + '-dist.h',
134     output : orcsrc + '.h',
135     copy : true)
136   orc_c = configure_file(input : orcsrc + '-dist.c',
137     output : orcsrc + '.c',
138     copy : true)
139 endif
140
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,
148   install : true,
149   dependencies : gstvideo_deps,
150 )
151
152 extra_defs = ['-DTIZEN_FEATURE_WAYLAND_ENHANCEMENT']
153 if get_option('tv-profile')
154   extra_defs += ['-DTIZEN_PROFILE_TV']
155 endif
156
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,
164   name : pkg_name,
165   description : 'Video base classes and helper functions',
166 )
167
168 if build_gir
169   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/video/video.h' ]
170   gir = {
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'],
178     'install' : true,
179     'extra_args' : gst_gir_extra_args,
180     'dependencies' : gstvideo_deps
181   }
182   library_def += {'gir': [gir]}
183   if not static_build
184     video_gir = gnome.generate_gir(gstvideo, kwargs: gir)
185     video_gen_sources += [video_gir]
186   endif
187 endif
188 gst_libraries += [[pkg_name, library_def]]
189
190 video_dep = declare_dependency(link_with : gstvideo,
191   include_directories : [libsinc],
192   dependencies : gstvideo_deps,
193   sources : video_gen_sources)
194
195 meson.override_dependency(pkg_name, video_dep)