blob: 33a5c7fd824a42ec41785b3139325644bdb95604 [file] [log] [blame]
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "frameworks_av_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["frameworks_av_license"],
}
cc_library {
name: "libaaudio",
local_include_dirs: [
"binding",
"client",
"core",
"fifo",
"flowgraph",
"legacy",
"utility",
],
header_libs: [
"libaaudio_headers",
],
export_header_lib_headers: ["libaaudio_headers"],
version_script: "libaaudio.map.txt",
srcs: [
"core/AAudioAudio.cpp",
],
cflags: [
"-Wthread-safety",
"-Wno-unused-parameter",
"-Wall",
"-Werror",
// By default, all symbols are hidden.
// "-fvisibility=hidden",
// AAUDIO_API is used to explicitly export a function or a variable as a visible symbol.
"-DAAUDIO_API=__attribute__((visibility(\"default\")))",
],
shared_libs: [
"libaaudio_internal",
"libaudioclient",
"libaudioutils",
"libmedia_helper",
"libmediametrics",
"libmediautils",
"liblog",
"libcutils",
"libutils",
"libbinder",
"libpermission",
],
sanitize: {
integer_overflow: true,
misc_undefined: ["bounds"],
},
stubs: {
symbol_file: "libaaudio.map.txt",
versions: ["28"],
},
}
cc_library {
name: "libaaudio_internal",
local_include_dirs: [
"binding",
"client",
"core",
"fifo",
"legacy",
"utility",
],
export_include_dirs: ["."],
header_libs: [
"libaaudio_headers",
"libmedia_headers",
"libmediametrics_headers",
],
export_header_lib_headers: ["libaaudio_headers"],
export_shared_lib_headers: [
"framework-permission-aidl-cpp",
],
shared_libs: [
"libaudioclient",
"libaudioutils",
"libmedia_helper",
"libmediametrics",
"libmediautils",
"liblog",
"libcutils",
"libutils",
"libbinder",
"framework-permission-aidl-cpp",
"aaudio-aidl-cpp",
"libaudioclient_aidl_conversion",
],
cflags: [
"-Wno-unused-parameter",
"-Wall",
"-Werror",
],
srcs: [
"core/AudioGlobal.cpp",
"core/AudioStream.cpp",
"core/AudioStreamBuilder.cpp",
"core/AAudioStreamParameters.cpp",
"legacy/AudioStreamLegacy.cpp",
"legacy/AudioStreamRecord.cpp",
"legacy/AudioStreamTrack.cpp",
"utility/AAudioUtilities.cpp",
"utility/FixedBlockAdapter.cpp",
"utility/FixedBlockReader.cpp",
"utility/FixedBlockWriter.cpp",
"fifo/FifoBuffer.cpp",
"fifo/FifoControllerBase.cpp",
"client/AAudioFlowGraph.cpp",
"client/AudioEndpoint.cpp",
"client/AudioStreamInternal.cpp",
"client/AudioStreamInternalCapture.cpp",
"client/AudioStreamInternalPlay.cpp",
"client/IsochronousClockModel.cpp",
"binding/AudioEndpointParcelable.cpp",
"binding/AAudioBinderAdapter.cpp",
"binding/AAudioBinderClient.cpp",
"binding/AAudioStreamRequest.cpp",
"binding/AAudioStreamConfiguration.cpp",
"binding/RingBufferParcelable.cpp",
"binding/SharedMemoryParcelable.cpp",
"binding/SharedRegionParcelable.cpp",
"flowgraph/AudioProcessorBase.cpp",
"flowgraph/ClipToRange.cpp",
"flowgraph/MonoToMultiConverter.cpp",
"flowgraph/RampLinear.cpp",
"flowgraph/SinkFloat.cpp",
"flowgraph/SinkI16.cpp",
"flowgraph/SinkI24.cpp",
"flowgraph/SinkI32.cpp",
"flowgraph/SourceFloat.cpp",
"flowgraph/SourceI16.cpp",
"flowgraph/SourceI24.cpp",
"flowgraph/SourceI32.cpp",
],
sanitize: {
integer_overflow: true,
misc_undefined: ["bounds"],
},
}
aidl_interface {
name: "aaudio-aidl",
unstable: true,
local_include_dir: "binding/aidl",
srcs: [
"binding/aidl/aaudio/Endpoint.aidl",
"binding/aidl/aaudio/RingBuffer.aidl",
"binding/aidl/aaudio/SharedRegion.aidl",
"binding/aidl/aaudio/StreamParameters.aidl",
"binding/aidl/aaudio/StreamRequest.aidl",
"binding/aidl/aaudio/IAAudioClient.aidl",
"binding/aidl/aaudio/IAAudioService.aidl",
],
imports: [
"audio_common-aidl",
"shared-file-region-aidl",
"framework-permission-aidl"
],
backend:
{
cpp: {
enabled: true,
},
java: {
// TODO: need to have audio_common-aidl available in Java to enable
// this.
enabled: false,
},
},
}