4 'audio-channel-mixer.c',
11 'gstaudioaggregator.c',
21 'gstaudioringbuffer.c',
24 'gstaudioutilsprivate.c',
26 'gstaudiostreamalign.c',
29 audio_mkenum_headers = files([
33 'audio-channel-mixer.h',
38 'gstaudioaggregator.h',
39 'gstaudioringbuffer.h',
43 'gstaudiostreamalign.h',
46 # FIXME: check headers
47 audio_headers = audio_mkenum_headers + files([
63 install_headers(audio_headers, subdir : 'gstreamer-1.0/gst/audio/')
65 audio_enums = gnome.mkenums_simple('audio-enumtypes',
66 sources : audio_mkenum_headers,
67 body_prefix : '#ifdef HAVE_CONFIG_H\n#include "config.h"\n#endif',
68 header_prefix : '#include <gst/audio/audio-prelude.h>',
69 decorator : 'GST_AUDIO_API',
71 install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/audio'))
72 gstaudio_c = audio_enums[0]
73 gstaudio_h = audio_enums[1]
75 audio_gen_sources = [gstaudio_h]
77 gstaudio_deps = [tag_dep, gst_base_dep, libm]
78 orcsrc = 'gstaudiopack'
80 gstaudio_deps += [orc_dep]
81 orc_h = custom_target(orcsrc + '.h',
82 input : orcsrc + '.orc',
83 output : orcsrc + '.h',
84 command : orcc_args + ['--header', '-o', '@OUTPUT@', '@INPUT@'])
85 orc_c = custom_target(orcsrc + '.c',
86 input : orcsrc + '.orc',
87 output : orcsrc + '.c',
88 command : orcc_args + ['--implementation', '-o', '@OUTPUT@', '@INPUT@'])
89 orc_targets += {'name': orcsrc, 'orc-source': files(orcsrc + '.orc'), 'header': orc_h, 'source': orc_c}
91 orc_h = configure_file(input : orcsrc + '-dist.h',
92 output : orcsrc + '.h',
94 orc_c = configure_file(input : orcsrc + '-dist.c',
95 output : orcsrc + '.c',
103 audio_resampler_sse = static_library('audio_resampler_sse',
104 ['audio-resampler-x86-sse.c', gstaudio_h],
105 c_args : gst_plugins_base_args + [sse_args],
106 include_directories : [configinc, libsinc],
107 dependencies : [gst_base_dep],
111 simd_cargs += ['-DHAVE_SSE']
112 simd_objects += audio_resampler_sse.extract_all_objects()
116 audio_resampler_sse2 = static_library('audio_resampler_sse2',
117 ['audio-resampler-x86-sse2.c', gstaudio_h],
118 c_args : gst_plugins_base_args + [sse2_args],
119 include_directories : [configinc, libsinc],
120 dependencies : [gst_base_dep],
125 simd_cargs += ['-DHAVE_SSE2']
126 simd_objects += audio_resampler_sse2.extract_all_objects()
130 audio_resampler_sse41 = static_library('audio_resampler_sse41',
131 ['audio-resampler-x86-sse41.c', gstaudio_h],
132 c_args : gst_plugins_base_args + [sse41_args],
133 include_directories : [configinc, libsinc],
134 dependencies : [gst_base_dep],
139 simd_cargs += ['-DHAVE_SSE41']
140 simd_objects += audio_resampler_sse41.extract_all_objects()
143 gstaudio = library('gstaudio-@0@'.format(api_version),
144 audio_src, gstaudio_h, gstaudio_c, orc_c, orc_h,
145 c_args : gst_plugins_base_args + simd_cargs + ['-DBUILDING_GST_AUDIO'],
146 include_directories: [configinc, libsinc],
147 objects : simd_objects,
148 version : libversion,
149 soversion : soversion,
150 darwin_versions : osxversion,
152 dependencies : gstaudio_deps,
155 pkgconfig.generate(gstaudio,
156 libraries : [gst_dep, gst_base_dep],
157 variables : pkgconfig_variables,
158 subdirs : pkgconfig_subdirs,
159 name : 'gstreamer-audio-1.0',
160 description : 'Audio helper functions and base classes',
164 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/audio/audio.h' ]
165 audio_gir = gnome.generate_gir(gstaudio,
166 sources : audio_src + audio_headers + [gstaudio_c] + [gstaudio_h],
167 namespace : 'GstAudio',
168 nsversion : api_version,
169 identifier_prefix : 'Gst',
170 symbol_prefix : 'gst',
171 export_packages : 'gstreamer-audio-1.0',
172 includes : ['Gst-1.0', 'GstBase-1.0', 'GLib-2.0', 'GObject-2.0', 'GModule-2.0' ],
174 extra_args : gst_gir_extra_args,
175 dependencies : gstaudio_deps
177 audio_gen_sources += [audio_gir]
180 audio_dep = declare_dependency(link_with : gstaudio,
181 include_directories : [libsinc],
182 dependencies : gstaudio_deps,
183 sources : audio_gen_sources)
185 meson.override_dependency('gstreamer-audio-1.0', audio_dep)