mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 08:46:40 +00:00
meson: Add build files for androidmedia and opensles
Note that androidmedia requires Android gstgl
This commit is contained in:
parent
4ca76e0c12
commit
4af7637012
4 changed files with 74 additions and 2 deletions
|
@ -74,6 +74,7 @@ option('x11', type : 'feature', value : 'auto', description : 'X11 support in Vu
|
|||
|
||||
# Feature options for plugins that need external deps
|
||||
option('aom', type : 'feature', value : 'auto', description : 'AOM AV1 video codec plugin')
|
||||
option('androidmedia', type : 'feature', value : 'auto', description : 'Video capture and codec plugins for Android')
|
||||
option('applemedia', type : 'feature', value : 'auto', description : 'Video capture and codec access plugins for macOS and iOS')
|
||||
option('assrender', type : 'feature', value : 'auto', description : 'ASS/SSA subtitle renderer plugin')
|
||||
option('bluez', type : 'feature', value : 'auto', description : 'Bluetooth audio A2DP/AVDTP sink, AVDTP source plugin')
|
||||
|
@ -112,6 +113,7 @@ option('musepack', type : 'feature', value : 'auto', description : 'libmpcdec Mu
|
|||
option('neon', type : 'feature', value : 'auto', description : 'NEON HTTP source plugin')
|
||||
option('openh264', type : 'feature', value : 'auto', description : 'H.264 video codec plugin')
|
||||
option('openjpeg', type : 'feature', value : 'auto', description : 'JPEG2000 image codec plugin')
|
||||
option('opensles', type : 'feature', value : 'auto', description : 'OpenSL ES audio source/sink plugin')
|
||||
option('opus', type : 'feature', value : 'auto', description : 'OPUS audio parser plugin')
|
||||
option('resindvd', type : 'feature', value : 'auto', description : 'Resin DVD playback plugin')
|
||||
option('rsvg', type : 'feature', value : 'auto', description : 'SVG overlayer and image decoder plugin')
|
||||
|
|
41
sys/androidmedia/meson.build
Normal file
41
sys/androidmedia/meson.build
Normal file
|
@ -0,0 +1,41 @@
|
|||
androidmedia_sources = [
|
||||
'gstahcsrc.c',
|
||||
'gstahssrc.c',
|
||||
'gstamcaudiodec.c',
|
||||
'gstamc.c',
|
||||
'gstamcsurface.c',
|
||||
'gstamcsurfacetexture.c',
|
||||
'gstamcvideodec.c',
|
||||
'gstamcvideoenc.c',
|
||||
'gst-android-graphics-imageformat.c',
|
||||
'gst-android-hardware-camera.c',
|
||||
'gst-android-hardware-sensor.c',
|
||||
'gstjniutils.c'
|
||||
]
|
||||
|
||||
if host_system != 'android' or get_option('androidmedia').disabled()
|
||||
subdir_done()
|
||||
endif
|
||||
|
||||
if not gstgl_dep.found()
|
||||
if get_option('androidmedia').enabled()
|
||||
error('androidmedia plugin enabled but GL support was not detected')
|
||||
endif
|
||||
subdir_done()
|
||||
endif
|
||||
|
||||
have_jni_h = cc.has_header('jni.h', required : false)
|
||||
if not have_jni_h and get_option('androidmedia').enabled()
|
||||
error('androidmedia plugin enabled but jni.h not found')
|
||||
endif
|
||||
|
||||
if have_jni_h
|
||||
gstandroidmedia = library('gstandroidmedia',
|
||||
androidmedia_sources,
|
||||
c_args : gst_plugins_bad_args,
|
||||
include_directories : [configinc],
|
||||
dependencies : [gstgl_dep, gstpbutils_dep, gstaudio_dep, gstvideo_dep, gstphotography_dep],
|
||||
install : true,
|
||||
install_dir : plugins_install_dir)
|
||||
pkgconfig.generate(gstandroidmedia, install_dir : plugins_pkgconfig_install_dir)
|
||||
endif
|
|
@ -1,7 +1,7 @@
|
|||
#FIXME
|
||||
#subdir('acmenc')
|
||||
#subdir('acmmp3dec')
|
||||
#subdir('androidmedia')
|
||||
subdir('androidmedia')
|
||||
subdir('applemedia')
|
||||
subdir('bluez')
|
||||
subdir('d3dvideosink')
|
||||
|
@ -16,7 +16,7 @@ subdir('ipcpipeline')
|
|||
subdir('kms')
|
||||
subdir('msdk')
|
||||
#subdir('nvenc')
|
||||
#subdir('opensles')
|
||||
subdir('opensles')
|
||||
subdir('shm')
|
||||
subdir('uvch264')
|
||||
#subdir('vcd')
|
||||
|
|
29
sys/opensles/meson.build
Normal file
29
sys/opensles/meson.build
Normal file
|
@ -0,0 +1,29 @@
|
|||
opensles_sources = [
|
||||
'openslescommon.c',
|
||||
'openslesringbuffer.c',
|
||||
'openslessink.c',
|
||||
'openslessrc.c',
|
||||
'opensles.c',
|
||||
]
|
||||
|
||||
opensles_option = get_option('opensles')
|
||||
if opensles_option.disabled()
|
||||
subdir_done()
|
||||
endif
|
||||
|
||||
have_opensles_h = cc.has_header('SLES/OpenSLES.h', required : false)
|
||||
if not have_opensles_h and opensles_option.enabled()
|
||||
error('opensles plugin enabled but SLES/OpenSLES.h not found')
|
||||
endif
|
||||
opensles_dep = cc.find_library('OpenSLES', required : opensles_option)
|
||||
|
||||
if have_opensles_h and opensles_dep.found()
|
||||
gstopensles = library('gstopensles',
|
||||
opensles_sources,
|
||||
c_args : gst_plugins_bad_args,
|
||||
include_directories : [configinc],
|
||||
dependencies : [gstaudio_dep, opensles_dep],
|
||||
install : true,
|
||||
install_dir : plugins_install_dir)
|
||||
pkgconfig.generate(gstopensles, install_dir : plugins_pkgconfig_install_dir)
|
||||
endif
|
Loading…
Reference in a new issue