mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-30 05:31:15 +00:00
e9802f5f41
Adds the `atenc` element capable of encoding AAC-LC audio, using the AudioToolbox framework. It's able to encode up to 7.1 channel configurations. Comes with basic knobs for rate control (bitrate for CBR, quality for VBR). Support for more profiles (LD, HE-AAC) should be simple, but is not included here because of bugs with parsing of the AudioSpecificConfig. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6254>
46 lines
1.3 KiB
Meson
46 lines
1.3 KiB
Meson
osxaudio_sources = [
|
|
'gstosxaudioringbuffer.c',
|
|
'gstosxaudioelement.c',
|
|
'gstosxaudiosink.c',
|
|
'gstosxaudiosrc.c',
|
|
'gstosxcoreaudiocommon.c',
|
|
'gstosxcoreaudio.c',
|
|
'gstosxaudio.c',
|
|
'gstatdec.c',
|
|
'gstatenc.c',
|
|
]
|
|
|
|
have_osxaudio = false
|
|
osxaudio_option = get_option('osxaudio')
|
|
if osxaudio_option.disabled() or not ['darwin', 'ios'].contains(host_system)
|
|
subdir_done()
|
|
endif
|
|
|
|
if host_system == 'darwin'
|
|
# TODO: https://github.com/mesonbuild/meson/issues/3940
|
|
have_osxaudio = cc.has_header('CoreAudio/CoreAudio.h')
|
|
osxaudio_sources += ['gstosxaudiodeviceprovider.c']
|
|
elif host_system == 'ios'
|
|
have_osxaudio = cc.has_header('CoreAudio/CoreAudioTypes.h')
|
|
endif
|
|
|
|
if not have_osxaudio and osxaudio_option.enabled()
|
|
error('osxaudio plugin was enabled but CoreAudio headers not found')
|
|
endif
|
|
|
|
if have_osxaudio
|
|
modules = ['CoreAudio', 'AudioToolbox']
|
|
if host_system == 'darwin'
|
|
modules += ['AudioUnit', 'CoreServices']
|
|
endif
|
|
osxaudio_dep = dependency('appleframeworks', modules : modules)
|
|
|
|
gstosxaudio = library('gstosxaudio',
|
|
osxaudio_sources,
|
|
c_args : gst_plugins_good_args,
|
|
include_directories : [configinc, libsinc],
|
|
dependencies : [gstaudio_dep, gstpbutils_dep, osxaudio_dep],
|
|
install : true,
|
|
install_dir : plugins_install_dir)
|
|
plugins += [gstosxaudio]
|
|
endif
|