mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-22 16:26:39 +00:00
7c7f2bb6df
This allow allocating memory from any DRM driver that supports this method. It additionally allow exporting DMABuf. This allocator depends on libdrm and will be stubbed if the dependency is missing. This is derived from kmssink dumb allocator. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801>
61 lines
1.9 KiB
Meson
61 lines
1.9 KiB
Meson
gst_allocators_headers = files([
|
|
'allocators.h',
|
|
'allocators-prelude.h',
|
|
'gstfdmemory.h',
|
|
'gstphysmemory.h',
|
|
'gstdmabuf.h',
|
|
'gstdrmdumb.h',
|
|
])
|
|
install_headers(gst_allocators_headers, subdir : 'gstreamer-1.0/gst/allocators/')
|
|
|
|
gst_allocators_sources = files([ 'gstdrmdumb.c', 'gstdmabuf.c', 'gstfdmemory.c', 'gstphysmemory.c'])
|
|
gstallocators = library('gstallocators-@0@'.format(api_version),
|
|
gst_allocators_sources,
|
|
c_args : gst_plugins_base_args + ['-DBUILDING_GST_ALLOCATORS', '-DG_LOG_DOMAIN="GStreamer-Allocators"'],
|
|
include_directories: [configinc, libsinc],
|
|
version : libversion,
|
|
soversion : soversion,
|
|
darwin_versions : osxversion,
|
|
install : true,
|
|
dependencies : [libdrm_dep, gst_dep],
|
|
)
|
|
|
|
pkg_name = 'gstreamer-allocators-1.0'
|
|
pkgconfig.generate(gstallocators,
|
|
libraries : [libdrm_dep, gst_dep],
|
|
variables : pkgconfig_variables,
|
|
subdirs : pkgconfig_subdirs,
|
|
name : pkg_name,
|
|
description : 'Allocators implementation',
|
|
)
|
|
|
|
library_def = {'lib': gstallocators}
|
|
allocators_gen_sources = []
|
|
if build_gir
|
|
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/allocators/allocators.h' ]
|
|
gir = {
|
|
'sources' : gst_allocators_sources + gst_allocators_headers,
|
|
'namespace' : 'GstAllocators',
|
|
'nsversion' : api_version,
|
|
'identifier_prefix' : 'Gst',
|
|
'symbol_prefix' : 'gst',
|
|
'export_packages' : pkg_name,
|
|
'includes' : ['Gst-1.0'],
|
|
'install' : true,
|
|
'extra_args' : gst_gir_extra_args,
|
|
'dependencies' : [gst_dep]
|
|
}
|
|
library_def += {'gir': [gir]}
|
|
if not static_build
|
|
allocators_gir = gnome.generate_gir(gstallocators, kwargs: gir)
|
|
allocators_gen_sources += allocators_gir
|
|
endif
|
|
endif
|
|
gst_libraries += [[pkg_name, library_def]]
|
|
|
|
allocators_dep = declare_dependency(link_with: gstallocators,
|
|
include_directories : [libsinc],
|
|
dependencies : [gst_dep],
|
|
sources : allocators_gen_sources)
|
|
|
|
meson.override_dependency('gstreamer-allocators-1.0', allocators_dep)
|