4 'gstgluploadelement.c',
5 'gstgldownloadelement.c',
6 'gstglcolorconvertelement.c',
13 'effects/gstgleffectscurves.c',
14 'effects/gstgleffectssources.c',
15 'effects/gstgleffectidentity.c',
16 'effects/gstgleffectmirror.c',
17 'effects/gstgleffectsqueeze.c',
18 'effects/gstgleffectstretch.c',
19 'effects/gstgleffectfisheye.c',
20 'effects/gstgleffecttwirl.c',
21 'effects/gstgleffectbulge.c',
22 'effects/gstgleffecttunnel.c',
23 'effects/gstgleffectsquare.c',
24 'effects/gstgleffectlumatocurve.c',
25 'effects/gstgleffectrgbtocurve.c',
26 'effects/gstgleffectsin.c',
27 'effects/gstgleffectxray.c',
28 'effects/gstgleffectglow.c',
29 'effects/gstgleffectblur.c',
30 'effects/gstgleffectsobel.c',
31 'effects/gstgleffectlaplacian.c',
34 'gstglcolorbalance.c',
36 'gstglfiltershader.c',
46 'gstgloverlaycompositorelement.c',
50 if get_option('gl').disabled() or not gstgl_dep.found()
57 if gl_dep.found() # have desktop GL
64 graphene_dep = dependency('graphene-gobject-1.0',
66 required : get_option('gl-graphene'),
67 fallback: ['graphene', 'graphene_gobject_dep'],
68 default_options: ['introspection=false', 'installed_tests=false', 'tests=false'])
70 if graphene_dep.found()
71 optional_deps += graphene_dep
72 core_conf.set('HAVE_GRAPHENE', true)
74 'gstgltransformation.c',
79 png_dep = dependency('libpng', version : '>=1.0', required : get_option('gl-png'))
80 jpeg_dep = dependency('libjpeg', required : get_option('gl-jpeg'))
83 optional_deps += png_dep
84 core_conf.set('HAVE_PNG', true)
86 'gstgldifferencematte.c',
89 optional_deps += jpeg_dep
90 core_conf.set('HAVE_JPEG', true)
97 if glconf.get('GST_GL_HAVE_WINDOW_COCOA', 0) == 1
98 foundation_dep = dependency('appleframeworks', modules : ['Foundation'], required : false)
99 quartzcore_dep = dependency('appleframeworks', modules : ['QuartzCore'], required : false)
100 if foundation_dep.found() and quartzcore_dep.found() # have cocoa
102 'caopengllayersink.m',
104 optional_deps += quartzcore_dep
110 optional_deps += x11_dep
113 if bcm_host_dep.found()
114 optional_deps += bcm_host_dep
117 if egl_dep.found() and cc.has_header('libdrm/drm_fourcc.h')
118 optional_deps += allocators_dep
121 if ['darwin', 'ios'].contains(host_system)
123 error('No ObjC compiler found')
126 objc = meson.get_compiler('objc')
127 if not objc.has_argument('-fobjc-arc')
128 error('ARC is required for building')
131 gl_objc_args += ['-fobjc-arc']
134 gstopengl = library('gstopengl',
136 c_args : gst_plugins_base_args,
137 objc_args : gst_plugins_base_args + gl_objc_args,
138 link_args : noseh_link_args,
139 include_directories : [configinc],
140 dependencies : [gstgl_dep, video_dep,
141 gst_base_dep, gst_controller_dep, libm] + optional_deps,
143 install_dir : plugins_install_dir)
145 pkgconfig.generate(gstopengl, install_dir : plugins_pkgconfig_install_dir)
146 plugins += [gstopengl]