mirror of
https://github.com/Rafostar/clapper.git
synced 2025-09-02 09:22:01 +02:00
This significantly improves performance on mobile devices by removing the texture copy from an OES texture to 2D texture.
109 lines
3.1 KiB
Meson
Vendored
109 lines
3.1 KiB
Meson
Vendored
gnome = import('gnome')
|
|
|
|
gstclapper_sources = [
|
|
'gstclapper.c',
|
|
'gstclapper-signal-dispatcher.c',
|
|
'gstclapper-video-renderer.c',
|
|
'gstclapper-media-info.c',
|
|
'gstclapper-g-main-context-signal-dispatcher.c',
|
|
'gstclapper-video-overlay-video-renderer.c',
|
|
'gstclapper-visualization.c',
|
|
'gstclapper-mpris.c',
|
|
'gstclapper-gtk4-plugin.c',
|
|
|
|
'gtk4/gstclapperglsink.c',
|
|
'gtk4/gstgtkutils.c',
|
|
'gtk4/gtkclapperglwidget.c',
|
|
'gtk4/gstclapperglutils.c',
|
|
]
|
|
gstclapper_headers = [
|
|
'clapper.h',
|
|
'clapper-prelude.h',
|
|
'gstclapper.h',
|
|
'gstclapper-types.h',
|
|
'gstclapper-signal-dispatcher.h',
|
|
'gstclapper-video-renderer.h',
|
|
'gstclapper-media-info.h',
|
|
'gstclapper-g-main-context-signal-dispatcher.h',
|
|
'gstclapper-video-overlay-video-renderer.h',
|
|
'gstclapper-visualization.h',
|
|
'gstclapper-mpris.h',
|
|
'gstclapper-gtk4-plugin.h',
|
|
]
|
|
gstclapper_defines = [
|
|
'-DHAVE_CONFIG_H',
|
|
'-DBUILDING_GST_CLAPPER',
|
|
'-DGST_USE_UNSTABLE_API',
|
|
'-DHAVE_GTK_GL',
|
|
]
|
|
gtk_deps = [gstgl_dep, gstglproto_dep]
|
|
have_gtk_gl_windowing = false
|
|
|
|
gtk4_dep = dependency('gtk4', required : true)
|
|
|
|
if not gtk4_dep.version().version_compare('>=4.0.0')
|
|
error('GTK4 version on this system is too old')
|
|
endif
|
|
|
|
if gst_gl_have_window_x11 and (gst_gl_have_platform_egl or gst_gl_have_platform_glx)
|
|
gtk_x11_dep = dependency('gtk4-x11', required : false)
|
|
if gtk_x11_dep.found()
|
|
gtk_deps += gtk_x11_dep
|
|
if gst_gl_have_platform_glx
|
|
gtk_deps += gstglx11_dep
|
|
endif
|
|
have_gtk_gl_windowing = true
|
|
endif
|
|
endif
|
|
|
|
if gst_gl_have_window_wayland and gst_gl_have_platform_egl
|
|
gtk_wayland_dep = dependency('gtk4-wayland', required : false)
|
|
if gtk_wayland_dep.found()
|
|
gtk_deps += [gtk_wayland_dep, gstglwayland_dep]
|
|
have_gtk_gl_windowing = true
|
|
endif
|
|
endif
|
|
|
|
if gst_gl_have_platform_egl
|
|
gtk_deps += gstglegl_dep
|
|
endif
|
|
|
|
if not have_gtk_gl_windowing
|
|
error('GTK4 widget requires GL windowing')
|
|
endif
|
|
|
|
gstclapper_mpris_gdbus = gnome.gdbus_codegen('gstclapper-mpris-gdbus',
|
|
sources: '../../../data/gstclapper-mpris-gdbus.xml',
|
|
interface_prefix: 'org.mpris.',
|
|
namespace: 'GstClapperMpris'
|
|
)
|
|
|
|
gstclapper = library('gstclapper-' + api_version,
|
|
gstclapper_sources + gstclapper_mpris_gdbus,
|
|
c_args : gstclapper_defines,
|
|
link_args : noseh_link_args,
|
|
include_directories : [configinc, libsinc],
|
|
version : libversion,
|
|
install : true,
|
|
install_dir : clapper_libdir,
|
|
dependencies : [gtk4_dep, glib_dep, gio_dep,
|
|
gstbase_dep, gstvideo_dep, gstaudio_dep,
|
|
gsttag_dep, gstpbutils_dep, libm] + gtk_deps,
|
|
)
|
|
|
|
clapper_gir = gnome.generate_gir(gstclapper,
|
|
sources : gstclapper_sources + gstclapper_headers,
|
|
namespace : 'GstClapper',
|
|
nsversion : api_version,
|
|
identifier_prefix : 'Gst',
|
|
symbol_prefix : 'gst',
|
|
export_packages : 'gstreamer-clapper-1.0',
|
|
includes : ['Gst-1.0', 'GstPbutils-1.0', 'GstBase-1.0', 'GstVideo-1.0',
|
|
'GstAudio-1.0', 'GstTag-1.0'],
|
|
install : true,
|
|
install_dir_typelib : join_paths(clapper_libdir, 'girepository-1.0'),
|
|
extra_args : gir_init_section + ['-DGST_USE_UNSTABLE_API'],
|
|
dependencies : [gstbase_dep, gstvideo_dep, gstaudio_dep,
|
|
gsttag_dep, gstpbutils_dep]
|
|
)
|