1audio_src= [ 2 'audio.c', 3 'audio-buffer.c', 4 'audio-channel-mixer.c', 5 'audio-channels.c', 6 'audio-converter.c', 7 'audio-format.c', 8 'audio-info.c', 9 'audio-quantize.c', 10 'audio-resampler.c', 11 'gstaudioaggregator.c', 12 'gstaudiobasesink.c', 13 'gstaudiobasesrc.c', 14 'gstaudiocdsrc.c', 15 'gstaudioclock.c', 16 'gstaudiodecoder.c', 17 'gstaudioencoder.c', 18 'gstaudiofilter.c', 19 'gstaudioiec61937.c', 20 'gstaudiometa.c', 21 'gstaudioringbuffer.c', 22 'gstaudiosink.c', 23 'gstaudiosrc.c', 24 'gstaudioutilsprivate.c', 25 'streamvolume.c', 26 'gstaudiostreamalign.c', 27] 28 29audio_mkenum_headers = [ 30 'audio.h', 31 'audio-format.h', 32 'audio-channels.h', 33 'audio-channel-mixer.h', 34 'audio-converter.h', 35 'audio-info.h', 36 'audio-quantize.h', 37 'audio-resampler.h', 38 'gstaudioaggregator.h', 39 'gstaudioringbuffer.h', 40 'gstaudiobasesrc.h', 41 'gstaudiocdsrc.h', 42 'gstaudiobasesink.h', 43 'gstaudiostreamalign.h', 44] 45 46# FIXME: check headers 47audio_headers = audio_mkenum_headers + [ 48 'audio-prelude.h', 49 'audio-buffer.h', 50 'gstaudiobasesink.h', 51 'gstaudiobasesrc.h', 52 'gstaudiocdsrc.h', 53 'gstaudioclock.h', 54 'gstaudiodecoder.h', 55 'gstaudioencoder.h', 56 'gstaudiofilter.h', 57 'gstaudioiec61937.h', 58 'gstaudiometa.h', 59 'gstaudiosink.h', 60 'gstaudiosrc.h', 61 'streamvolume.h', 62] 63install_headers(audio_headers, subdir : 'gstreamer-1.0/gst/audio/') 64 65audio_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', 70 install_header: true, 71 install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/audio')) 72gstaudio_c = audio_enums[0] 73gstaudio_h = audio_enums[1] 74 75audio_gen_sources = [gstaudio_h] 76 77gstaudio_deps = [tag_dep, gst_base_dep, libm] 78orcsrc = 'gstaudiopack' 79if have_orcc 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@']) 89else 90 orc_h = configure_file(input : orcsrc + '-dist.h', 91 output : orcsrc + '.h', 92 copy : true) 93 orc_c = configure_file(input : orcsrc + '-dist.c', 94 output : orcsrc + '.c', 95 copy : true) 96endif 97 98simd_cargs = [] 99simd_dependencies = [] 100 101if have_sse 102 audio_resampler_sse = static_library('audio_resampler_sse', 103 ['audio-resampler-x86-sse.c', gstaudio_h], 104 c_args : gst_plugins_base_args + [sse_args], 105 include_directories : [configinc, libsinc], 106 dependencies : [gst_base_dep], 107 pic : true, 108 install : false 109 ) 110 simd_cargs += ['-DHAVE_SSE'] 111 simd_dependencies += audio_resampler_sse 112endif 113 114if have_sse2 115 audio_resampler_sse2 = static_library('audio_resampler_sse2', 116 ['audio-resampler-x86-sse2.c', gstaudio_h], 117 c_args : gst_plugins_base_args + [sse2_args], 118 include_directories : [configinc, libsinc], 119 dependencies : [gst_base_dep], 120 pic : true, 121 install : false 122 ) 123 124 simd_cargs += ['-DHAVE_SSE2'] 125 simd_dependencies += audio_resampler_sse2 126endif 127 128if have_sse41 129 audio_resampler_sse41 = static_library('audio_resampler_sse41', 130 ['audio-resampler-x86-sse41.c', gstaudio_h], 131 c_args : gst_plugins_base_args + [sse41_args], 132 include_directories : [configinc, libsinc], 133 dependencies : [gst_base_dep], 134 pic : true, 135 install : false 136 ) 137 138 simd_cargs += ['-DHAVE_SSE41'] 139 simd_dependencies += audio_resampler_sse41 140endif 141 142gstaudio = library('gstaudio-@0@'.format(api_version), 143 audio_src, gstaudio_h, gstaudio_c, orc_c, orc_h, 144 c_args : gst_plugins_base_args + simd_cargs + ['-DBUILDING_GST_AUDIO'], 145 include_directories: [configinc, libsinc], 146 link_with : simd_dependencies, 147 version : libversion, 148 soversion : soversion, 149 darwin_versions : osxversion, 150 install : true, 151 dependencies : gstaudio_deps, 152) 153 154if build_gir 155 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/audio/audio.h' ] 156 audio_gen_sources += [gnome.generate_gir(gstaudio, 157 sources : audio_src + audio_headers + [gstaudio_c] + [gstaudio_h], 158 namespace : 'GstAudio', 159 nsversion : api_version, 160 identifier_prefix : 'Gst', 161 symbol_prefix : 'gst', 162 export_packages : 'gstreamer-audio-1.0', 163 includes : ['Gst-1.0', 'GstBase-1.0', 'GLib-2.0', 'GObject-2.0', 'GModule-2.0' ], 164 install : true, 165 extra_args : gst_gir_extra_args, 166 dependencies : gstaudio_deps 167 )] 168endif 169 170audio_dep = declare_dependency(link_with : gstaudio, 171 include_directories : [libsinc], 172 dependencies : gstaudio_deps, 173 sources : audio_gen_sources) 174