| # These have to stay in -bad until we can move GstVideoAggregator to -base |
| # 'gstglbasemixer.c', |
| # 'gstglmixerbin.c', |
| # 'gstglmixer.c', |
| # 'gstglvideomixer.c', |
| # 'gstglstereomix.c', |
| opengl_sources = [ |
| 'gstopengl.c', |
| 'gstgluploadelement.c', |
| 'gstgldownloadelement.c', |
| 'gstglcolorconvertelement.c', |
| 'gstglfilterbin.c', |
| 'gstglsinkbin.c', |
| 'gstglsrcbin.c', |
| 'gstglimagesink.c', |
| 'gstglfiltercube.c', |
| 'gstgleffects.c', |
| 'effects/gstgleffectscurves.c', |
| 'effects/gstgleffectssources.c', |
| 'effects/gstgleffectidentity.c', |
| 'effects/gstgleffectmirror.c', |
| 'effects/gstgleffectsqueeze.c', |
| 'effects/gstgleffectstretch.c', |
| 'effects/gstgleffectfisheye.c', |
| 'effects/gstgleffecttwirl.c', |
| 'effects/gstgleffectbulge.c', |
| 'effects/gstgleffecttunnel.c', |
| 'effects/gstgleffectsquare.c', |
| 'effects/gstgleffectlumatocurve.c', |
| 'effects/gstgleffectrgbtocurve.c', |
| 'effects/gstgleffectsin.c', |
| 'effects/gstgleffectxray.c', |
| 'effects/gstgleffectglow.c', |
| 'effects/gstgleffectblur.c', |
| 'effects/gstgleffectsobel.c', |
| 'effects/gstgleffectlaplacian.c', |
| 'gstglcolorscale.c', |
| 'gstglcolorbalance.c', |
| 'gstglfiltershader.c', |
| 'gstglfilterapp.c', |
| 'gstglviewconvert.c', |
| 'gstglstereosplit.c', |
| 'gstgldeinterlace.c', |
| 'gltestsrc.c', |
| 'gstgltestsrc.c', |
| 'gstglutils.c' |
| ] |
| |
| if build_gstgl and gstgl_dep.found() |
| optional_deps = [] |
| |
| if gl_dep.found() # have desktop GL |
| # These have to stay in -bad until we can move GstVideoAggregator to -base |
| # 'gstglmosaic.c', |
| opengl_sources += [ |
| 'gstglfilterglass.c', |
| ] |
| endif |
| |
| graphene_dep = dependency('graphene-1.0', version : '>=1.4.0', required : false) |
| if graphene_dep.found() |
| optional_deps += graphene_dep |
| core_conf.set('HAVE_GRAPHENE', true) |
| opengl_sources += [ |
| 'gstgltransformation.c', |
| 'gstglvideoflip.c', |
| ] |
| endif |
| |
| png_dep = dependency('libpng', version : '>=1.0', required : false) |
| jpeg_dep = cc.find_library('jpeg-mmx', required : false) |
| if not jpeg_dep.found() |
| jpeg_dep = cc.find_library('jpeg', required : false) |
| endif |
| |
| if png_dep.found() |
| optional_deps += png_dep |
| core_conf.set('HAVE_PNG', true) |
| opengl_sources += [ |
| 'gstgldifferencematte.c', |
| ] |
| if jpeg_dep.found() |
| optional_deps += jpeg_dep |
| core_conf.set('HAVE_JPEG', true) |
| opengl_sources += [ |
| 'gstgloverlay.c', |
| ] |
| endif |
| endif |
| |
| if false # have cocoa |
| opengl_sources += [ |
| 'caopengllayersink.m', |
| ] |
| endif |
| |
| if x11_dep.found() |
| # for XInitThreads() |
| optional_deps += x11_dep |
| endif |
| |
| if bcm_host_dep.found() |
| optional_deps += bcm_host_dep |
| endif |
| |
| if egl_dep.found() and cc.has_header('libdrm/drm_fourcc.h') |
| optional_deps += allocators_dep |
| endif |
| |
| gstopengl = library('gstopengl', |
| opengl_sources, |
| c_args : gst_plugins_base_args, |
| link_args : noseh_link_args, |
| include_directories : [configinc], |
| dependencies : [gstgl_dep, video_dep, |
| gst_base_dep, gst_controller_dep, libm] + optional_deps, |
| install : true, |
| install_dir : plugins_install_dir, |
| ) |
| endif |