mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 19:51:11 +00:00
parent
54f4d3772c
commit
6917cb629e
13 changed files with 235 additions and 37 deletions
|
@ -5,8 +5,9 @@ gst_allocators_headers = [
|
|||
]
|
||||
install_headers(gst_allocators_headers, subdir : 'gstreamer-1.0/gst/allocators/')
|
||||
|
||||
gst_allocators_sources = [ 'gstdmabuf.c', 'gstfdmemory.c' ]
|
||||
gstallocators = library('gstallocators-@0@'.format(api_version),
|
||||
[ 'gstdmabuf.c', 'gstfdmemory.c' ],
|
||||
gst_allocators_sources,
|
||||
c_args : gst_plugins_base_args,
|
||||
include_directories: [configinc, libsinc],
|
||||
version : libversion,
|
||||
|
@ -15,8 +16,24 @@ gstallocators = library('gstallocators-@0@'.format(api_version),
|
|||
dependencies : [gst_dep],
|
||||
vs_module_defs: vs_module_defs_dir + 'libgstallocators.def',
|
||||
)
|
||||
# TODO: generate gir
|
||||
|
||||
allocators_gen_sources = []
|
||||
if build_gir
|
||||
allocators_gen_sources += [gnome.generate_gir(gstallocators,
|
||||
sources : gst_allocators_sources + gst_allocators_headers,
|
||||
namespace : 'GstAllocators',
|
||||
nsversion : api_version,
|
||||
identifier_prefix : 'Gst',
|
||||
symbol_prefix : 'gst',
|
||||
export_packages : 'gstreamer-allocators-1.0',
|
||||
includes : ['Gst-1.0'],
|
||||
install : true,
|
||||
extra_args : gir_init_section,
|
||||
dependencies : [gst_dep]
|
||||
)]
|
||||
endif
|
||||
|
||||
allocators_dep = declare_dependency(link_with: gstallocators,
|
||||
include_directories : [libsinc],
|
||||
dependencies : [gst_dep])
|
||||
dependencies : [gst_dep],
|
||||
sources : allocators_gen_sources)
|
||||
|
|
|
@ -13,8 +13,24 @@ gstapp = library('gstapp-@0@'.format(api_version),
|
|||
dependencies : [gst_base_dep],
|
||||
vs_module_defs: vs_module_defs_dir + 'libgstapp.def',
|
||||
)
|
||||
# TODO: generate gir
|
||||
|
||||
app_gen_sources = []
|
||||
if build_gir
|
||||
app_gen_sources += [gnome.generate_gir(gstapp,
|
||||
sources : app_sources + app_headers,
|
||||
namespace : 'GstApp',
|
||||
nsversion : api_version,
|
||||
identifier_prefix : 'Gst',
|
||||
symbol_prefix : 'gst',
|
||||
export_packages : 'gstreamer-app-1.0',
|
||||
includes : ['Gst-1.0', 'GstBase-1.0'],
|
||||
install : true,
|
||||
extra_args : gir_init_section,
|
||||
dependencies : [gst_dep, gst_base_dep]
|
||||
)]
|
||||
endif
|
||||
|
||||
app_dep = declare_dependency(link_with: gstapp,
|
||||
include_directories : [libsinc],
|
||||
dependencies : [gst_base_dep])
|
||||
dependencies : [gst_base_dep],
|
||||
sources : app_gen_sources)
|
||||
|
|
|
@ -65,6 +65,7 @@ gstaudio_c = custom_target('gstaudioenum_c',
|
|||
input : audio_mkenum_headers,
|
||||
depends : [gstaudio_h],
|
||||
command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
|
||||
audio_gen_sources = [gstaudio_h]
|
||||
|
||||
orcsrc = 'gstaudiopack'
|
||||
if have_orcc
|
||||
|
@ -127,6 +128,7 @@ if have_sse41
|
|||
simd_dependencies += audio_resampler_sse41
|
||||
endif
|
||||
|
||||
gstaudio_deps = [tag_dep, gst_base_dep, orc_dep, libm]
|
||||
gstaudio = library('gstaudio-@0@'.format(api_version),
|
||||
audio_src, gstaudio_h, gstaudio_c, orc_c, orc_h,
|
||||
c_args : gst_plugins_base_args + simd_cargs,
|
||||
|
@ -135,12 +137,26 @@ gstaudio = library('gstaudio-@0@'.format(api_version),
|
|||
version : libversion,
|
||||
soversion : soversion,
|
||||
install : true,
|
||||
dependencies : [tag_dep, gst_base_dep, orc_dep, libm],
|
||||
dependencies : gstaudio_deps,
|
||||
vs_module_defs: vs_module_defs_dir + 'libgstaudio.def',
|
||||
)
|
||||
# TODO: generate gir
|
||||
|
||||
if build_gir
|
||||
audio_gen_sources += [gnome.generate_gir(gstaudio,
|
||||
sources : audio_src + audio_headers + [gstaudio_c] + [gstaudio_h],
|
||||
namespace : 'GstAudio',
|
||||
nsversion : api_version,
|
||||
identifier_prefix : 'Gst',
|
||||
symbol_prefix : 'gst',
|
||||
export_packages : 'gstreamer-audio-1.0',
|
||||
includes : ['Gst-1.0', 'GLib-2.0', 'GObject-2.0', 'GModule-2.0' ],
|
||||
install : true,
|
||||
extra_args : gir_init_section,
|
||||
dependencies : gstaudio_deps
|
||||
)]
|
||||
endif
|
||||
|
||||
audio_dep = declare_dependency(link_with : gstaudio,
|
||||
include_directories : [libsinc],
|
||||
dependencies : [gst_base_dep, tag_dep],
|
||||
sources : [gstaudio_h])
|
||||
dependencies : gstaudio_deps,
|
||||
sources : audio_gen_sources)
|
||||
|
|
|
@ -34,8 +34,24 @@ gstfft = library('gstfft-@0@'.format(api_version),
|
|||
dependencies : [gst_dep, libm],
|
||||
vs_module_defs: vs_module_defs_dir + 'libgstfft.def',
|
||||
)
|
||||
# TODO: generate gir
|
||||
|
||||
fft_gen_sources = []
|
||||
if build_gir
|
||||
fft_gen_sources += [gnome.generate_gir(gstfft,
|
||||
sources : fft_sources + fft_headers,
|
||||
namespace : 'GstFft',
|
||||
nsversion : api_version,
|
||||
identifier_prefix : 'Gst',
|
||||
symbol_prefix : 'gst',
|
||||
export_packages : 'gstreamer-fft-1.0',
|
||||
includes : ['Gst-1.0'],
|
||||
install : true,
|
||||
extra_args : gir_init_section,
|
||||
dependencies : [gst_dep, libm]
|
||||
)]
|
||||
endif
|
||||
|
||||
fft_dep = declare_dependency(link_with: gstfft,
|
||||
include_directories : [libsinc],
|
||||
dependencies : [gst_dep])
|
||||
dependencies : [gst_dep],
|
||||
sources: fft_gen_sources)
|
||||
|
|
|
@ -51,6 +51,7 @@ gstpbutils_c = custom_target('gstpbutilsenum_c',
|
|||
depends : [gstaudio_h, gstvideo_h, gstpbutils_h],
|
||||
command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
|
||||
|
||||
gstpbutils_deps = [video_dep, audio_dep, tag_dep]
|
||||
pbutils = library('gstpbutils-@0@'.format(api_version),
|
||||
pbutils_sources, gstpbutils_c, gstpbutils_h,
|
||||
c_args : gst_plugins_base_args,
|
||||
|
@ -58,12 +59,27 @@ pbutils = library('gstpbutils-@0@'.format(api_version),
|
|||
version : libversion,
|
||||
soversion : soversion,
|
||||
install : true,
|
||||
dependencies : [video_dep, audio_dep, tag_dep],
|
||||
dependencies : gstpbutils_deps,
|
||||
vs_module_defs: vs_module_defs_dir + 'libgstpbutils.def',
|
||||
)
|
||||
# TODO: generate gir
|
||||
|
||||
pbutils_gen_sources = [gstpbutils_h]
|
||||
if build_gir
|
||||
pbutils_gen_sources += [gnome.generate_gir(pbutils,
|
||||
sources : pbutils_sources + pbutils_headers + [gstpbutils_h],
|
||||
namespace : 'GstPbutils',
|
||||
nsversion : api_version,
|
||||
identifier_prefix : 'Gst',
|
||||
symbol_prefix : 'gst',
|
||||
export_packages : 'gstreamer-pbutils-1.0',
|
||||
includes : ['Gst-1.0', 'GstBase-1.0'],
|
||||
install : true,
|
||||
extra_args : gir_init_section,
|
||||
dependencies : gstpbutils_deps
|
||||
)]
|
||||
endif
|
||||
|
||||
pbutils_dep = declare_dependency(link_with : pbutils,
|
||||
include_directories : [libsinc],
|
||||
dependencies : [video_dep, audio_dep, tag_dep],
|
||||
sources : [gstpbutils_h])
|
||||
dependencies : gstpbutils_deps,
|
||||
sources : pbutils_gen_sources)
|
||||
|
|
|
@ -12,6 +12,7 @@ riff_headers = [
|
|||
]
|
||||
install_headers(riff_headers, subdir : 'gstreamer-1.0/gst/riff/')
|
||||
|
||||
riff_deps = [audio_dep, tag_dep]
|
||||
gstriff = library('gstriff-@0@'.format(api_version),
|
||||
riff_sources,
|
||||
c_args : gst_plugins_base_args,
|
||||
|
@ -19,11 +20,31 @@ gstriff = library('gstriff-@0@'.format(api_version),
|
|||
version : libversion,
|
||||
soversion : soversion,
|
||||
install : true,
|
||||
dependencies : [audio_dep, tag_dep],
|
||||
dependencies : riff_deps,
|
||||
vs_module_defs: vs_module_defs_dir + 'libgstriff.def',
|
||||
)
|
||||
# TODO: generate gir
|
||||
|
||||
riff_gen_sources = []
|
||||
|
||||
# *** GIR DISABLED for this library ***
|
||||
# This library does not respect the type naming conventions required to be
|
||||
# usable in binded languages.
|
||||
# if build_gir
|
||||
# riff_gen_sources += [gnome.generate_gir(gstriff,
|
||||
# sources : riff_sources + riff_headers,
|
||||
# namespace : 'GstRiff',
|
||||
# nsversion : api_version,
|
||||
# identifier_prefix : 'Gst',
|
||||
# symbol_prefix : 'gst',
|
||||
# export_packages : 'gstreamer-riff-1.0',
|
||||
# includes : ['Gst-1.0'],
|
||||
# install : true,
|
||||
# extra_args : gir_init_section,
|
||||
# dependencies : riff_deps,
|
||||
# )]
|
||||
# endif
|
||||
|
||||
riff_dep = declare_dependency(link_with: gstriff,
|
||||
include_directories : [libsinc],
|
||||
dependencies : [audio_dep, tag_dep])
|
||||
dependencies : riff_deps,
|
||||
sources : riff_gen_sources )
|
||||
|
|
|
@ -36,6 +36,7 @@ gstrtp_enum_c = custom_target('gstrtp_enum_c',
|
|||
depends : [gstaudio_h, gstrtp_enum_h],
|
||||
command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
|
||||
|
||||
gstrtp_deps = [audio_dep, gst_base_dep]
|
||||
gst_rtp = library('gstrtp-@0@'.format(api_version),
|
||||
rtp_sources, gstrtp_enum_c, gstrtp_enum_h,
|
||||
c_args : gst_plugins_base_args,
|
||||
|
@ -43,12 +44,28 @@ gst_rtp = library('gstrtp-@0@'.format(api_version),
|
|||
version : libversion,
|
||||
soversion : soversion,
|
||||
install : true,
|
||||
dependencies : [audio_dep, gst_base_dep],
|
||||
dependencies : gstrtp_deps,
|
||||
vs_module_defs: vs_module_defs_dir + 'libgstrtp.def',
|
||||
)
|
||||
# TODO: generate gir
|
||||
|
||||
rtp_gen_sources = [gstrtp_enum_h]
|
||||
if build_gir
|
||||
rtp_gen_sources += [gnome.generate_gir(gst_rtp,
|
||||
sources : rtp_sources + rtp_headers + [gstrtp_enum_c] + [gstrtp_enum_h],
|
||||
namespace : 'GstRtp',
|
||||
nsversion : api_version,
|
||||
identifier_prefix : 'Gst',
|
||||
symbol_prefix : 'gst',
|
||||
export_packages : 'gstreamer-rtp-1.0',
|
||||
includes : ['Gst-1.0', 'GstBase-1.0'],
|
||||
install : true,
|
||||
extra_args : gir_init_section,
|
||||
dependencies : gstrtp_deps
|
||||
)]
|
||||
endif
|
||||
|
||||
|
||||
rtp_dep = declare_dependency(link_with : gst_rtp,
|
||||
include_directories : [libsinc],
|
||||
dependencies : [audio_dep, gst_base_dep],
|
||||
sources : [gstrtp_enum_h])
|
||||
dependencies : gstrtp_deps,
|
||||
sources : rtp_gen_sources)
|
||||
|
|
|
@ -38,6 +38,7 @@ gstrtsp_c = custom_target('gstrtspenum_c',
|
|||
|
||||
winsock2 = cc.find_library('ws2_32', required : false)
|
||||
|
||||
gstrtsp_deps = [gst_dep, gio_dep, libm, winsock2]
|
||||
gst_rtsp = library('gstrtsp-@0@'.format(api_version),
|
||||
rtsp_sources,
|
||||
gstrtsp_h, gstrtsp_c,
|
||||
|
@ -46,12 +47,27 @@ gst_rtsp = library('gstrtsp-@0@'.format(api_version),
|
|||
version : libversion,
|
||||
soversion : soversion,
|
||||
install : true,
|
||||
dependencies : [gst_dep, gio_dep, libm, winsock2],
|
||||
dependencies : gstrtsp_deps,
|
||||
vs_module_defs: vs_module_defs_dir + 'libgstrtsp.def',
|
||||
)
|
||||
# TODO: generate gir
|
||||
|
||||
rtsp_gen_sources = [gstrtsp_h]
|
||||
if build_gir
|
||||
rtsp_gen_sources += [gnome.generate_gir(gst_rtsp,
|
||||
sources : rtsp_sources + rtsp_headers + [gstrtsp_c] + [gstrtsp_h],
|
||||
namespace : 'GstRtsp',
|
||||
nsversion : api_version,
|
||||
identifier_prefix : 'Gst',
|
||||
symbol_prefix : 'gst',
|
||||
export_packages : 'gstreamer-rtsp-1.0',
|
||||
includes : ['Gst-1.0', 'GstSdp-1.0', 'Gio-2.0'],
|
||||
install : true,
|
||||
extra_args : gir_init_section,
|
||||
dependencies : gstrtsp_deps
|
||||
)]
|
||||
endif
|
||||
|
||||
rtsp_dep = declare_dependency(link_with : gst_rtsp,
|
||||
include_directories : [libsinc],
|
||||
dependencies : [gst_dep, gio_dep],
|
||||
sources : [gstrtsp_h])
|
||||
dependencies : gstrtsp_deps,
|
||||
sources : rtsp_gen_sources)
|
||||
|
|
|
@ -6,18 +6,36 @@ gst_sdp_headers = [
|
|||
]
|
||||
install_headers(gst_sdp_headers, subdir : 'gstreamer-1.0/gst/sdp/')
|
||||
|
||||
rtsp_deps = [rtp_dep, gst_dep, gio_dep]
|
||||
gst_sdp_sources = ['gstsdpmessage.c', 'gstmikey.c']
|
||||
gstsdp = library('gstsdp-@0@'.format(api_version),
|
||||
'gstsdpmessage.c', 'gstmikey.c',
|
||||
gst_sdp_sources,
|
||||
c_args : gst_plugins_base_args,
|
||||
include_directories: [configinc, libsinc],
|
||||
version : libversion,
|
||||
soversion : soversion,
|
||||
install : true,
|
||||
dependencies : [rtp_dep, gst_dep, gio_dep],
|
||||
dependencies : rtsp_deps,
|
||||
vs_module_defs: vs_module_defs_dir + 'libgstsdp.def',
|
||||
)
|
||||
# TODO: generate gir
|
||||
|
||||
sdp_gen_sources = []
|
||||
if build_gir
|
||||
sdp_gen_sources += [gnome.generate_gir(gstsdp,
|
||||
sources : gst_sdp_sources + gst_sdp_headers,
|
||||
namespace : 'GstSdp',
|
||||
nsversion : api_version,
|
||||
identifier_prefix : 'Gst',
|
||||
symbol_prefix : 'gst',
|
||||
export_packages : 'gstreamer-sdp-1.0',
|
||||
includes : ['Gst-1.0'],
|
||||
install : true,
|
||||
extra_args : gir_init_section,
|
||||
dependencies : rtsp_deps
|
||||
)]
|
||||
endif
|
||||
|
||||
sdp_dep = declare_dependency(link_with: gstsdp,
|
||||
include_directories : [libsinc],
|
||||
dependencies : [rtp_dep, gst_dep, gio_dep])
|
||||
dependencies : rtsp_deps,
|
||||
sources: sdp_gen_sources)
|
||||
|
|
|
@ -22,6 +22,7 @@ tag_headers = [
|
|||
]
|
||||
install_headers(tag_headers, subdir : 'gstreamer-1.0/gst/tag/')
|
||||
|
||||
tag_deps = [gst_base_dep, libm]
|
||||
gsttag = library('gsttag-@0@'.format(api_version),
|
||||
tag_sources,
|
||||
c_args : gst_plugins_base_args,
|
||||
|
@ -29,14 +30,30 @@ gsttag = library('gsttag-@0@'.format(api_version),
|
|||
version : libversion,
|
||||
soversion : soversion,
|
||||
install : true,
|
||||
dependencies : [gst_base_dep, libm],
|
||||
dependencies : tag_deps,
|
||||
vs_module_defs: vs_module_defs_dir + 'libgsttag.def',
|
||||
)
|
||||
# TODO: generate gir
|
||||
|
||||
tag_gen_sources = []
|
||||
if build_gir
|
||||
tag_gen_sources += [gnome.generate_gir(gsttag,
|
||||
sources : tag_sources + tag_headers,
|
||||
namespace : 'GstTag',
|
||||
nsversion : api_version,
|
||||
identifier_prefix : 'Gst',
|
||||
symbol_prefix : 'gst',
|
||||
export_packages : 'gstreamer-tag-1.0',
|
||||
includes : ['Gst-1.0'],
|
||||
install : true,
|
||||
extra_args : gir_init_section,
|
||||
dependencies : tag_deps
|
||||
)]
|
||||
endif
|
||||
|
||||
tag_dep = declare_dependency(link_with: gsttag,
|
||||
include_directories : [libsinc],
|
||||
dependencies : [gst_base_dep])
|
||||
dependencies : tag_deps,
|
||||
sources: tag_gen_sources)
|
||||
|
||||
# FIXME: iso-codes stuff
|
||||
# little program that reads iso_639.xml and outputs tables for us as fallback
|
||||
|
|
|
@ -96,6 +96,7 @@ gstvideo_c = custom_target('gstvideoenum_c',
|
|||
input : video_mkenum_headers,
|
||||
depends : [gstvideo_h],
|
||||
command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
|
||||
video_gen_sources = [gstvideo_h]
|
||||
|
||||
orcsrc = 'video-orc'
|
||||
if have_orcc
|
||||
|
@ -116,6 +117,7 @@ else
|
|||
configuration : configuration_data())
|
||||
endif
|
||||
|
||||
gstvideo_deps = [gst_base_dep, orc_dep, libm]
|
||||
gstvideo = library('gstvideo-@0@'.format(api_version),
|
||||
video_sources, gstvideo_h, gstvideo_c, orc_c, orc_h,
|
||||
c_args : gst_plugins_base_args,
|
||||
|
@ -123,12 +125,26 @@ gstvideo = library('gstvideo-@0@'.format(api_version),
|
|||
version : libversion,
|
||||
soversion : soversion,
|
||||
install : true,
|
||||
dependencies : [gst_base_dep, orc_dep, libm],
|
||||
dependencies : gstvideo_deps,
|
||||
vs_module_defs: vs_module_defs_dir + 'libgstvideo.def',
|
||||
)
|
||||
# TODO: generate gir
|
||||
|
||||
if build_gir
|
||||
video_gen_sources += [gnome.generate_gir(gstvideo,
|
||||
sources : video_sources + video_headers + [gstvideo_c] + [gstvideo_h],
|
||||
namespace : 'GstVideo',
|
||||
nsversion : api_version,
|
||||
identifier_prefix : 'Gst',
|
||||
symbol_prefix : 'gst',
|
||||
export_packages : 'gstreamer-video-1.0',
|
||||
includes : ['Gst-1.0', 'GLib-2.0', 'GObject-2.0', 'GModule-2.0' ],
|
||||
install : true,
|
||||
extra_args : gir_init_section,
|
||||
dependencies : gstvideo_deps
|
||||
)]
|
||||
endif
|
||||
|
||||
video_dep = declare_dependency(link_with : gstvideo,
|
||||
include_directories : [libsinc],
|
||||
dependencies : [gst_base_dep],
|
||||
sources : [gstvideo_h])
|
||||
dependencies : gstvideo_deps,
|
||||
sources : video_gen_sources)
|
||||
|
|
|
@ -195,6 +195,15 @@ if host_machine.system() == 'windows'
|
|||
pic_args = []
|
||||
endif
|
||||
|
||||
gir = find_program('g-ir-scanner', required : false)
|
||||
gnome = import('gnome')
|
||||
build_gir = gir.found() and not meson.is_cross_build() and not get_option('disable_introspection')
|
||||
gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
|
||||
'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
|
||||
'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \
|
||||
'g_setenv("GST_PLUGIN_SYSTEM_PATH_1_0", "", TRUE);' + \
|
||||
'gst_init(NULL,NULL);' ]
|
||||
|
||||
subdir('gst-libs')
|
||||
subdir('gst')
|
||||
subdir('ext')
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
option('audioresample_format', type : 'combo', choices : ['int', 'float', 'auto'], value : 'auto')
|
||||
option('disable_examples', type : 'boolean', value : false)
|
||||
option('use_orc', type : 'combo', choices : ['yes', 'no', 'auto'], value : 'auto')
|
||||
option('disable_introspection',
|
||||
type : 'boolean', value : false,
|
||||
description : 'Whether to disable the introspection generation')
|
||||
|
|
Loading…
Reference in a new issue