1*ec779b8eSAndroid Build Coastguard Workerpackage { 2*ec779b8eSAndroid Build Coastguard Worker default_team: "trendy_team_media_framework_audio", 3*ec779b8eSAndroid Build Coastguard Worker // See: http://go/android-license-faq 4*ec779b8eSAndroid Build Coastguard Worker // A large-scale-change added 'default_applicable_licenses' to import 5*ec779b8eSAndroid Build Coastguard Worker // all of the 'license_kinds' from "frameworks_av_license" 6*ec779b8eSAndroid Build Coastguard Worker // to get the below license kinds: 7*ec779b8eSAndroid Build Coastguard Worker // SPDX-license-identifier-Apache-2.0 8*ec779b8eSAndroid Build Coastguard Worker default_applicable_licenses: ["frameworks_av_license"], 9*ec779b8eSAndroid Build Coastguard Worker} 10*ec779b8eSAndroid Build Coastguard Worker 11*ec779b8eSAndroid Build Coastguard Workertidy_errors = [ 12*ec779b8eSAndroid Build Coastguard Worker // https://clang.llvm.org/extra/clang-tidy/checks/list.html 13*ec779b8eSAndroid Build Coastguard Worker // For many categories, the checks are too many to specify individually. 14*ec779b8eSAndroid Build Coastguard Worker // Feel free to disable as needed - as warnings are generally ignored, 15*ec779b8eSAndroid Build Coastguard Worker // we treat warnings as errors. 16*ec779b8eSAndroid Build Coastguard Worker "android-*", 17*ec779b8eSAndroid Build Coastguard Worker "bugprone-*", 18*ec779b8eSAndroid Build Coastguard Worker "cert-*", 19*ec779b8eSAndroid Build Coastguard Worker "clang-analyzer-security*", 20*ec779b8eSAndroid Build Coastguard Worker "google-*", 21*ec779b8eSAndroid Build Coastguard Worker "misc-*", 22*ec779b8eSAndroid Build Coastguard Worker //"modernize-*", // explicitly list the modernize as they can be subjective. 23*ec779b8eSAndroid Build Coastguard Worker "modernize-avoid-bind", 24*ec779b8eSAndroid Build Coastguard Worker //"modernize-avoid-c-arrays", // std::array<> can be verbose 25*ec779b8eSAndroid Build Coastguard Worker "modernize-concat-nested-namespaces", 26*ec779b8eSAndroid Build Coastguard Worker //"modernize-deprecated-headers", // C headers still ok even if there is C++ equivalent. 27*ec779b8eSAndroid Build Coastguard Worker "modernize-deprecated-ios-base-aliases", 28*ec779b8eSAndroid Build Coastguard Worker "modernize-loop-convert", 29*ec779b8eSAndroid Build Coastguard Worker "modernize-make-shared", 30*ec779b8eSAndroid Build Coastguard Worker "modernize-make-unique", 31*ec779b8eSAndroid Build Coastguard Worker "modernize-pass-by-value", 32*ec779b8eSAndroid Build Coastguard Worker "modernize-raw-string-literal", 33*ec779b8eSAndroid Build Coastguard Worker "modernize-redundant-void-arg", 34*ec779b8eSAndroid Build Coastguard Worker "modernize-replace-auto-ptr", 35*ec779b8eSAndroid Build Coastguard Worker "modernize-replace-random-shuffle", 36*ec779b8eSAndroid Build Coastguard Worker "modernize-return-braced-init-list", 37*ec779b8eSAndroid Build Coastguard Worker "modernize-shrink-to-fit", 38*ec779b8eSAndroid Build Coastguard Worker "modernize-unary-static-assert", 39*ec779b8eSAndroid Build Coastguard Worker // "modernize-use-auto", // found in AAudioAudio.cpp 40*ec779b8eSAndroid Build Coastguard Worker "modernize-use-bool-literals", 41*ec779b8eSAndroid Build Coastguard Worker "modernize-use-default-member-init", 42*ec779b8eSAndroid Build Coastguard Worker "modernize-use-emplace", 43*ec779b8eSAndroid Build Coastguard Worker "modernize-use-equals-default", 44*ec779b8eSAndroid Build Coastguard Worker "modernize-use-equals-delete", 45*ec779b8eSAndroid Build Coastguard Worker "modernize-use-nodiscard", 46*ec779b8eSAndroid Build Coastguard Worker "modernize-use-noexcept", 47*ec779b8eSAndroid Build Coastguard Worker "modernize-use-nullptr", 48*ec779b8eSAndroid Build Coastguard Worker "modernize-use-override", 49*ec779b8eSAndroid Build Coastguard Worker // "modernize-use-trailing-return-type", // not necessarily more readable 50*ec779b8eSAndroid Build Coastguard Worker "modernize-use-transparent-functors", 51*ec779b8eSAndroid Build Coastguard Worker "modernize-use-uncaught-exceptions", 52*ec779b8eSAndroid Build Coastguard Worker // "modernize-use-using", // found typedef in several files 53*ec779b8eSAndroid Build Coastguard Worker "performance-*", 54*ec779b8eSAndroid Build Coastguard Worker 55*ec779b8eSAndroid Build Coastguard Worker // Remove some pedantic stylistic requirements. 56*ec779b8eSAndroid Build Coastguard Worker "-android-cloexec-dup", // found in SharedMemoryParcelable.cpp 57*ec779b8eSAndroid Build Coastguard Worker "-bugprone-macro-parentheses", // found in SharedMemoryParcelable.h 58*ec779b8eSAndroid Build Coastguard Worker "-bugprone-narrowing-conversions", // found in several interface from size_t to int32_t 59*ec779b8eSAndroid Build Coastguard Worker 60*ec779b8eSAndroid Build Coastguard Worker "-google-build-using-namespace", // Reenable and fix later. 61*ec779b8eSAndroid Build Coastguard Worker "-google-global-names-in-headers", // found in several files 62*ec779b8eSAndroid Build Coastguard Worker "-google-readability-casting", // C++ casts not always necessary and may be verbose 63*ec779b8eSAndroid Build Coastguard Worker "-google-readability-todo", // do not require TODO(info) 64*ec779b8eSAndroid Build Coastguard Worker 65*ec779b8eSAndroid Build Coastguard Worker "-misc-non-private-member-variables-in-classes", // found in aidl generated files 66*ec779b8eSAndroid Build Coastguard Worker 67*ec779b8eSAndroid Build Coastguard Worker "-performance-no-int-to-ptr", // found in SharedMemoryParcelable.h 68*ec779b8eSAndroid Build Coastguard Worker] 69*ec779b8eSAndroid Build Coastguard Worker 70*ec779b8eSAndroid Build Coastguard Workercc_library { 71*ec779b8eSAndroid Build Coastguard Worker name: "libaaudio", 72*ec779b8eSAndroid Build Coastguard Worker 73*ec779b8eSAndroid Build Coastguard Worker local_include_dirs: [ 74*ec779b8eSAndroid Build Coastguard Worker "binding", 75*ec779b8eSAndroid Build Coastguard Worker "client", 76*ec779b8eSAndroid Build Coastguard Worker "core", 77*ec779b8eSAndroid Build Coastguard Worker "fifo", 78*ec779b8eSAndroid Build Coastguard Worker "flowgraph", 79*ec779b8eSAndroid Build Coastguard Worker "legacy", 80*ec779b8eSAndroid Build Coastguard Worker "utility", 81*ec779b8eSAndroid Build Coastguard Worker ], 82*ec779b8eSAndroid Build Coastguard Worker header_libs: [ 83*ec779b8eSAndroid Build Coastguard Worker "libaaudio_headers", 84*ec779b8eSAndroid Build Coastguard Worker ], 85*ec779b8eSAndroid Build Coastguard Worker export_header_lib_headers: ["libaaudio_headers"], 86*ec779b8eSAndroid Build Coastguard Worker version_script: "libaaudio.map.txt", 87*ec779b8eSAndroid Build Coastguard Worker 88*ec779b8eSAndroid Build Coastguard Worker srcs: [ 89*ec779b8eSAndroid Build Coastguard Worker "core/AAudioAudio.cpp", 90*ec779b8eSAndroid Build Coastguard Worker ], 91*ec779b8eSAndroid Build Coastguard Worker 92*ec779b8eSAndroid Build Coastguard Worker cflags: [ 93*ec779b8eSAndroid Build Coastguard Worker "-Wall", 94*ec779b8eSAndroid Build Coastguard Worker "-Werror", 95*ec779b8eSAndroid Build Coastguard Worker "-Wno-unused-parameter", 96*ec779b8eSAndroid Build Coastguard Worker "-Wthread-safety", 97*ec779b8eSAndroid Build Coastguard Worker 98*ec779b8eSAndroid Build Coastguard Worker // AAUDIO_API is used to explicitly export a function or a variable as a visible symbol. 99*ec779b8eSAndroid Build Coastguard Worker "-DAAUDIO_API=__attribute__((visibility(\"default\")))", 100*ec779b8eSAndroid Build Coastguard Worker ], 101*ec779b8eSAndroid Build Coastguard Worker 102*ec779b8eSAndroid Build Coastguard Worker shared_libs: [ 103*ec779b8eSAndroid Build Coastguard Worker "framework-permission-aidl-cpp", 104*ec779b8eSAndroid Build Coastguard Worker "libaaudio_internal", 105*ec779b8eSAndroid Build Coastguard Worker "libaudioclient", 106*ec779b8eSAndroid Build Coastguard Worker "libaudiofoundation", 107*ec779b8eSAndroid Build Coastguard Worker "libaudioutils", 108*ec779b8eSAndroid Build Coastguard Worker "libbinder", 109*ec779b8eSAndroid Build Coastguard Worker "libcutils", 110*ec779b8eSAndroid Build Coastguard Worker "liblog", 111*ec779b8eSAndroid Build Coastguard Worker "libmedia_helper", 112*ec779b8eSAndroid Build Coastguard Worker "libmediametrics", 113*ec779b8eSAndroid Build Coastguard Worker "libmediautils", 114*ec779b8eSAndroid Build Coastguard Worker "libutils", 115*ec779b8eSAndroid Build Coastguard Worker ], 116*ec779b8eSAndroid Build Coastguard Worker 117*ec779b8eSAndroid Build Coastguard Worker sanitize: { 118*ec779b8eSAndroid Build Coastguard Worker integer_overflow: true, 119*ec779b8eSAndroid Build Coastguard Worker misc_undefined: ["bounds"], 120*ec779b8eSAndroid Build Coastguard Worker }, 121*ec779b8eSAndroid Build Coastguard Worker 122*ec779b8eSAndroid Build Coastguard Worker stubs: { 123*ec779b8eSAndroid Build Coastguard Worker symbol_file: "libaaudio.map.txt", 124*ec779b8eSAndroid Build Coastguard Worker versions: ["28"], 125*ec779b8eSAndroid Build Coastguard Worker }, 126*ec779b8eSAndroid Build Coastguard Worker 127*ec779b8eSAndroid Build Coastguard Worker tidy: true, 128*ec779b8eSAndroid Build Coastguard Worker tidy_checks: tidy_errors, 129*ec779b8eSAndroid Build Coastguard Worker tidy_checks_as_errors: tidy_errors, 130*ec779b8eSAndroid Build Coastguard Worker tidy_flags: [ 131*ec779b8eSAndroid Build Coastguard Worker "-format-style=file", 132*ec779b8eSAndroid Build Coastguard Worker ], 133*ec779b8eSAndroid Build Coastguard Worker} 134*ec779b8eSAndroid Build Coastguard Worker 135*ec779b8eSAndroid Build Coastguard Workercc_library { 136*ec779b8eSAndroid Build Coastguard Worker name: "libaaudio_internal", 137*ec779b8eSAndroid Build Coastguard Worker 138*ec779b8eSAndroid Build Coastguard Worker defaults: [ 139*ec779b8eSAndroid Build Coastguard Worker "latest_android_media_audio_common_types_cpp_shared", 140*ec779b8eSAndroid Build Coastguard Worker ], 141*ec779b8eSAndroid Build Coastguard Worker 142*ec779b8eSAndroid Build Coastguard Worker local_include_dirs: [ 143*ec779b8eSAndroid Build Coastguard Worker "binding", 144*ec779b8eSAndroid Build Coastguard Worker "client", 145*ec779b8eSAndroid Build Coastguard Worker "core", 146*ec779b8eSAndroid Build Coastguard Worker "fifo", 147*ec779b8eSAndroid Build Coastguard Worker "legacy", 148*ec779b8eSAndroid Build Coastguard Worker "utility", 149*ec779b8eSAndroid Build Coastguard Worker ], 150*ec779b8eSAndroid Build Coastguard Worker 151*ec779b8eSAndroid Build Coastguard Worker export_include_dirs: ["."], 152*ec779b8eSAndroid Build Coastguard Worker header_libs: [ 153*ec779b8eSAndroid Build Coastguard Worker "libaaudio_headers", 154*ec779b8eSAndroid Build Coastguard Worker "libmedia_headers", 155*ec779b8eSAndroid Build Coastguard Worker "libmediametrics_headers", 156*ec779b8eSAndroid Build Coastguard Worker ], 157*ec779b8eSAndroid Build Coastguard Worker export_header_lib_headers: ["libaaudio_headers"], 158*ec779b8eSAndroid Build Coastguard Worker 159*ec779b8eSAndroid Build Coastguard Worker export_shared_lib_headers: [ 160*ec779b8eSAndroid Build Coastguard Worker "framework-permission-aidl-cpp", 161*ec779b8eSAndroid Build Coastguard Worker ], 162*ec779b8eSAndroid Build Coastguard Worker 163*ec779b8eSAndroid Build Coastguard Worker shared_libs: [ 164*ec779b8eSAndroid Build Coastguard Worker "aaudio-aidl-cpp", 165*ec779b8eSAndroid Build Coastguard Worker "audioclient-types-aidl-cpp", 166*ec779b8eSAndroid Build Coastguard Worker "com.android.media.aaudio-aconfig-cc", 167*ec779b8eSAndroid Build Coastguard Worker "framework-permission-aidl-cpp", 168*ec779b8eSAndroid Build Coastguard Worker "libaudioclient", 169*ec779b8eSAndroid Build Coastguard Worker "libaudioclient_aidl_conversion", 170*ec779b8eSAndroid Build Coastguard Worker "libaudiofoundation", 171*ec779b8eSAndroid Build Coastguard Worker "libaudioutils", 172*ec779b8eSAndroid Build Coastguard Worker "libbase", 173*ec779b8eSAndroid Build Coastguard Worker "libbinder", 174*ec779b8eSAndroid Build Coastguard Worker "libcutils", 175*ec779b8eSAndroid Build Coastguard Worker "liblog", 176*ec779b8eSAndroid Build Coastguard Worker "libmedia_helper", 177*ec779b8eSAndroid Build Coastguard Worker "libmediametrics", 178*ec779b8eSAndroid Build Coastguard Worker "libmediautils", 179*ec779b8eSAndroid Build Coastguard Worker "libutils", 180*ec779b8eSAndroid Build Coastguard Worker ], 181*ec779b8eSAndroid Build Coastguard Worker 182*ec779b8eSAndroid Build Coastguard Worker cflags: [ 183*ec779b8eSAndroid Build Coastguard Worker "-Wall", 184*ec779b8eSAndroid Build Coastguard Worker "-Werror", 185*ec779b8eSAndroid Build Coastguard Worker "-Wno-unused-parameter", 186*ec779b8eSAndroid Build Coastguard Worker ], 187*ec779b8eSAndroid Build Coastguard Worker 188*ec779b8eSAndroid Build Coastguard Worker srcs: [ 189*ec779b8eSAndroid Build Coastguard Worker "binding/AAudioBinderAdapter.cpp", 190*ec779b8eSAndroid Build Coastguard Worker "binding/AAudioBinderClient.cpp", 191*ec779b8eSAndroid Build Coastguard Worker "binding/AAudioStreamConfiguration.cpp", 192*ec779b8eSAndroid Build Coastguard Worker "binding/AAudioStreamRequest.cpp", 193*ec779b8eSAndroid Build Coastguard Worker "binding/AudioEndpointParcelable.cpp", 194*ec779b8eSAndroid Build Coastguard Worker "binding/RingBufferParcelable.cpp", 195*ec779b8eSAndroid Build Coastguard Worker "binding/SharedMemoryParcelable.cpp", 196*ec779b8eSAndroid Build Coastguard Worker "binding/SharedRegionParcelable.cpp", 197*ec779b8eSAndroid Build Coastguard Worker "client/AAudioFlowGraph.cpp", 198*ec779b8eSAndroid Build Coastguard Worker "client/AudioEndpoint.cpp", 199*ec779b8eSAndroid Build Coastguard Worker "client/AudioStreamInternal.cpp", 200*ec779b8eSAndroid Build Coastguard Worker "client/AudioStreamInternalCapture.cpp", 201*ec779b8eSAndroid Build Coastguard Worker "client/AudioStreamInternalPlay.cpp", 202*ec779b8eSAndroid Build Coastguard Worker "client/IsochronousClockModel.cpp", 203*ec779b8eSAndroid Build Coastguard Worker "core/AAudioStreamParameters.cpp", 204*ec779b8eSAndroid Build Coastguard Worker "core/AudioGlobal.cpp", 205*ec779b8eSAndroid Build Coastguard Worker "core/AudioStream.cpp", 206*ec779b8eSAndroid Build Coastguard Worker "core/AudioStreamBuilder.cpp", 207*ec779b8eSAndroid Build Coastguard Worker "fifo/FifoBuffer.cpp", 208*ec779b8eSAndroid Build Coastguard Worker "fifo/FifoControllerBase.cpp", 209*ec779b8eSAndroid Build Coastguard Worker "flowgraph/ChannelCountConverter.cpp", 210*ec779b8eSAndroid Build Coastguard Worker "flowgraph/ClipToRange.cpp", 211*ec779b8eSAndroid Build Coastguard Worker "flowgraph/FlowGraphNode.cpp", 212*ec779b8eSAndroid Build Coastguard Worker "flowgraph/Limiter.cpp", 213*ec779b8eSAndroid Build Coastguard Worker "flowgraph/ManyToMultiConverter.cpp", 214*ec779b8eSAndroid Build Coastguard Worker "flowgraph/MonoBlend.cpp", 215*ec779b8eSAndroid Build Coastguard Worker "flowgraph/MonoToMultiConverter.cpp", 216*ec779b8eSAndroid Build Coastguard Worker "flowgraph/MultiToManyConverter.cpp", 217*ec779b8eSAndroid Build Coastguard Worker "flowgraph/MultiToMonoConverter.cpp", 218*ec779b8eSAndroid Build Coastguard Worker "flowgraph/RampLinear.cpp", 219*ec779b8eSAndroid Build Coastguard Worker "flowgraph/SampleRateConverter.cpp", 220*ec779b8eSAndroid Build Coastguard Worker "flowgraph/SinkFloat.cpp", 221*ec779b8eSAndroid Build Coastguard Worker "flowgraph/SinkI8_24.cpp", 222*ec779b8eSAndroid Build Coastguard Worker "flowgraph/SinkI16.cpp", 223*ec779b8eSAndroid Build Coastguard Worker "flowgraph/SinkI24.cpp", 224*ec779b8eSAndroid Build Coastguard Worker "flowgraph/SinkI32.cpp", 225*ec779b8eSAndroid Build Coastguard Worker "flowgraph/SourceFloat.cpp", 226*ec779b8eSAndroid Build Coastguard Worker "flowgraph/SourceI8_24.cpp", 227*ec779b8eSAndroid Build Coastguard Worker "flowgraph/SourceI16.cpp", 228*ec779b8eSAndroid Build Coastguard Worker "flowgraph/SourceI24.cpp", 229*ec779b8eSAndroid Build Coastguard Worker "flowgraph/SourceI32.cpp", 230*ec779b8eSAndroid Build Coastguard Worker "flowgraph/resampler/IntegerRatio.cpp", 231*ec779b8eSAndroid Build Coastguard Worker "flowgraph/resampler/LinearResampler.cpp", 232*ec779b8eSAndroid Build Coastguard Worker "flowgraph/resampler/MultiChannelResampler.cpp", 233*ec779b8eSAndroid Build Coastguard Worker "flowgraph/resampler/PolyphaseResampler.cpp", 234*ec779b8eSAndroid Build Coastguard Worker "flowgraph/resampler/PolyphaseResamplerMono.cpp", 235*ec779b8eSAndroid Build Coastguard Worker "flowgraph/resampler/PolyphaseResamplerStereo.cpp", 236*ec779b8eSAndroid Build Coastguard Worker "flowgraph/resampler/SincResampler.cpp", 237*ec779b8eSAndroid Build Coastguard Worker "flowgraph/resampler/SincResamplerStereo.cpp", 238*ec779b8eSAndroid Build Coastguard Worker "legacy/AudioStreamLegacy.cpp", 239*ec779b8eSAndroid Build Coastguard Worker "legacy/AudioStreamRecord.cpp", 240*ec779b8eSAndroid Build Coastguard Worker "legacy/AudioStreamTrack.cpp", 241*ec779b8eSAndroid Build Coastguard Worker "utility/AAudioUtilities.cpp", 242*ec779b8eSAndroid Build Coastguard Worker "utility/FixedBlockAdapter.cpp", 243*ec779b8eSAndroid Build Coastguard Worker "utility/FixedBlockReader.cpp", 244*ec779b8eSAndroid Build Coastguard Worker "utility/FixedBlockWriter.cpp", 245*ec779b8eSAndroid Build Coastguard Worker ], 246*ec779b8eSAndroid Build Coastguard Worker sanitize: { 247*ec779b8eSAndroid Build Coastguard Worker integer_overflow: true, 248*ec779b8eSAndroid Build Coastguard Worker misc_undefined: ["bounds"], 249*ec779b8eSAndroid Build Coastguard Worker }, 250*ec779b8eSAndroid Build Coastguard Worker 251*ec779b8eSAndroid Build Coastguard Worker tidy: true, 252*ec779b8eSAndroid Build Coastguard Worker tidy_checks: tidy_errors, 253*ec779b8eSAndroid Build Coastguard Worker tidy_checks_as_errors: tidy_errors, 254*ec779b8eSAndroid Build Coastguard Worker tidy_flags: [ 255*ec779b8eSAndroid Build Coastguard Worker "-format-style=file", 256*ec779b8eSAndroid Build Coastguard Worker ], 257*ec779b8eSAndroid Build Coastguard Worker} 258*ec779b8eSAndroid Build Coastguard Worker 259*ec779b8eSAndroid Build Coastguard Workeraidl_interface { 260*ec779b8eSAndroid Build Coastguard Worker name: "aaudio-aidl", 261*ec779b8eSAndroid Build Coastguard Worker unstable: true, 262*ec779b8eSAndroid Build Coastguard Worker local_include_dir: "binding/aidl", 263*ec779b8eSAndroid Build Coastguard Worker defaults: [ 264*ec779b8eSAndroid Build Coastguard Worker "latest_android_media_audio_common_types_import_interface", 265*ec779b8eSAndroid Build Coastguard Worker ], 266*ec779b8eSAndroid Build Coastguard Worker srcs: [ 267*ec779b8eSAndroid Build Coastguard Worker "binding/aidl/aaudio/Endpoint.aidl", 268*ec779b8eSAndroid Build Coastguard Worker "binding/aidl/aaudio/IAAudioClient.aidl", 269*ec779b8eSAndroid Build Coastguard Worker "binding/aidl/aaudio/IAAudioService.aidl", 270*ec779b8eSAndroid Build Coastguard Worker "binding/aidl/aaudio/RingBuffer.aidl", 271*ec779b8eSAndroid Build Coastguard Worker "binding/aidl/aaudio/SharedRegion.aidl", 272*ec779b8eSAndroid Build Coastguard Worker "binding/aidl/aaudio/StreamParameters.aidl", 273*ec779b8eSAndroid Build Coastguard Worker "binding/aidl/aaudio/StreamRequest.aidl", 274*ec779b8eSAndroid Build Coastguard Worker ], 275*ec779b8eSAndroid Build Coastguard Worker imports: [ 276*ec779b8eSAndroid Build Coastguard Worker "audioclient-types-aidl", 277*ec779b8eSAndroid Build Coastguard Worker "framework-permission-aidl", 278*ec779b8eSAndroid Build Coastguard Worker "shared-file-region-aidl", 279*ec779b8eSAndroid Build Coastguard Worker ], 280*ec779b8eSAndroid Build Coastguard Worker backend: { 281*ec779b8eSAndroid Build Coastguard Worker java: { 282*ec779b8eSAndroid Build Coastguard Worker sdk_version: "module_current", 283*ec779b8eSAndroid Build Coastguard Worker }, 284*ec779b8eSAndroid Build Coastguard Worker }, 285*ec779b8eSAndroid Build Coastguard Worker} 286