| gtk_sources = [ |
| 'gstgtkbasesink.c', |
| 'gstgtksink.c', |
| 'gstgtkutils.c', |
| 'gstplugin.c', |
| 'gtkgstbasewidget.c', |
| 'gtkgstwidget.c', |
| ] |
| |
| gtk_defines = [] |
| optional_deps = [] |
| |
| gtk_dep = dependency('gtk+-3.0', required : false) |
| if gtk_dep.found() |
| if build_gstgl and gstgl_dep.found() and gtk_dep.version().version_compare('>=3.15.0') |
| have_gtk3_gl_windowing = false |
| |
| if gst_gl_have_window_x11 and gst_gl_have_platform_glx |
| gtk_x11_dep = dependency('gtk+-x11-3.0', required : false) |
| if gtk_x11_dep.found() |
| optional_deps += gtk_x11_dep |
| have_gtk3_gl_windowing = true |
| endif |
| endif |
| |
| if gst_gl_have_window_wayland and gst_gl_have_platform_egl |
| gtk_wayland_dep = dependency('gtk+-wayland-3.0', required : false) |
| if gtk_wayland_dep.found() |
| optional_deps += gtk_wayland_dep |
| have_gtk3_gl_windowing = true |
| endif |
| endif |
| |
| if have_gtk3_gl_windowing |
| gtk_sources += [ |
| 'gstgtkglsink.c', |
| 'gtkgstglwidget.c', |
| ] |
| optional_deps += gstgl_dep |
| gtk_defines += ['-DGST_USE_UNSTABLE_API', '-DHAVE_GTK3_GL'] |
| endif |
| endif |
| |
| gstgtk = library('gstgtk', |
| gtk_sources, |
| c_args : gst_plugins_good_args + gtk_defines, |
| link_args : noseh_link_args, |
| include_directories : [configinc], |
| dependencies : [gtk_dep, gstvideo_dep, gstbase_dep, libm] + optional_deps, |
| install : true, |
| install_dir : plugins_install_dir, |
| ) |
| endif |
| |