1*ec779b8eSAndroid Build Coastguard Workerpackage { 2*ec779b8eSAndroid Build Coastguard Worker default_applicable_licenses: [ 3*ec779b8eSAndroid Build Coastguard Worker "frameworks_av_media_libstagefright_foundation_license", 4*ec779b8eSAndroid Build Coastguard Worker ], 5*ec779b8eSAndroid Build Coastguard Worker} 6*ec779b8eSAndroid Build Coastguard Worker 7*ec779b8eSAndroid Build Coastguard Worker// Added automatically by a large-scale-change 8*ec779b8eSAndroid Build Coastguard Worker// See: http://go/android-license-faq 9*ec779b8eSAndroid Build Coastguard Workerlicense { 10*ec779b8eSAndroid Build Coastguard Worker name: "frameworks_av_media_libstagefright_foundation_license", 11*ec779b8eSAndroid Build Coastguard Worker visibility: [":__subpackages__"], 12*ec779b8eSAndroid Build Coastguard Worker license_kinds: [ 13*ec779b8eSAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 14*ec779b8eSAndroid Build Coastguard Worker ], 15*ec779b8eSAndroid Build Coastguard Worker license_text: [ 16*ec779b8eSAndroid Build Coastguard Worker "NOTICE", 17*ec779b8eSAndroid Build Coastguard Worker ], 18*ec779b8eSAndroid Build Coastguard Worker} 19*ec779b8eSAndroid Build Coastguard Worker 20*ec779b8eSAndroid Build Coastguard Workercc_library_headers { 21*ec779b8eSAndroid Build Coastguard Worker name: "libstagefright_foundation_headers", 22*ec779b8eSAndroid Build Coastguard Worker export_include_dirs: ["include"], 23*ec779b8eSAndroid Build Coastguard Worker vendor_available: true, 24*ec779b8eSAndroid Build Coastguard Worker host_supported: true, 25*ec779b8eSAndroid Build Coastguard Worker min_sdk_version: "29", 26*ec779b8eSAndroid Build Coastguard Worker apex_available: [ 27*ec779b8eSAndroid Build Coastguard Worker "//apex_available:platform", 28*ec779b8eSAndroid Build Coastguard Worker "com.android.media", 29*ec779b8eSAndroid Build Coastguard Worker "com.android.media.swcodec", 30*ec779b8eSAndroid Build Coastguard Worker ], 31*ec779b8eSAndroid Build Coastguard Worker} 32*ec779b8eSAndroid Build Coastguard Worker 33*ec779b8eSAndroid Build Coastguard Workercc_defaults { 34*ec779b8eSAndroid Build Coastguard Worker name: "libstagefright_foundation_defaults", 35*ec779b8eSAndroid Build Coastguard Worker vendor_available: true, 36*ec779b8eSAndroid Build Coastguard Worker host_supported: true, 37*ec779b8eSAndroid Build Coastguard Worker double_loadable: true, 38*ec779b8eSAndroid Build Coastguard Worker 39*ec779b8eSAndroid Build Coastguard Worker local_include_dirs: [ 40*ec779b8eSAndroid Build Coastguard Worker "include/media/stagefright/foundation", 41*ec779b8eSAndroid Build Coastguard Worker ], 42*ec779b8eSAndroid Build Coastguard Worker 43*ec779b8eSAndroid Build Coastguard Worker header_libs: [ 44*ec779b8eSAndroid Build Coastguard Worker "av-headers", 45*ec779b8eSAndroid Build Coastguard Worker // this is only needed for the vendor variant that removes libbinder, but vendor 46*ec779b8eSAndroid Build Coastguard Worker // target below does not allow adding header_libs. 47*ec779b8eSAndroid Build Coastguard Worker "libbinder_headers", 48*ec779b8eSAndroid Build Coastguard Worker "libstagefright_foundation_headers", 49*ec779b8eSAndroid Build Coastguard Worker "media_ndk_headers", 50*ec779b8eSAndroid Build Coastguard Worker "media_plugin_headers", 51*ec779b8eSAndroid Build Coastguard Worker ], 52*ec779b8eSAndroid Build Coastguard Worker 53*ec779b8eSAndroid Build Coastguard Worker export_header_lib_headers: [ 54*ec779b8eSAndroid Build Coastguard Worker "libstagefright_foundation_headers", 55*ec779b8eSAndroid Build Coastguard Worker "media_plugin_headers", 56*ec779b8eSAndroid Build Coastguard Worker ], 57*ec779b8eSAndroid Build Coastguard Worker 58*ec779b8eSAndroid Build Coastguard Worker cflags: [ 59*ec779b8eSAndroid Build Coastguard Worker "-Wno-multichar", 60*ec779b8eSAndroid Build Coastguard Worker "-Werror", 61*ec779b8eSAndroid Build Coastguard Worker "-Wall", 62*ec779b8eSAndroid Build Coastguard Worker ], 63*ec779b8eSAndroid Build Coastguard Worker 64*ec779b8eSAndroid Build Coastguard Worker shared_libs: [ 65*ec779b8eSAndroid Build Coastguard Worker "libbinder", 66*ec779b8eSAndroid Build Coastguard Worker "libutils", 67*ec779b8eSAndroid Build Coastguard Worker "libcutils", 68*ec779b8eSAndroid Build Coastguard Worker "liblog", 69*ec779b8eSAndroid Build Coastguard Worker ], 70*ec779b8eSAndroid Build Coastguard Worker 71*ec779b8eSAndroid Build Coastguard Worker srcs: [ 72*ec779b8eSAndroid Build Coastguard Worker "AAtomizer.cpp", 73*ec779b8eSAndroid Build Coastguard Worker "ABitReader.cpp", 74*ec779b8eSAndroid Build Coastguard Worker "ABuffer.cpp", 75*ec779b8eSAndroid Build Coastguard Worker "ADebug.cpp", 76*ec779b8eSAndroid Build Coastguard Worker "AHandler.cpp", 77*ec779b8eSAndroid Build Coastguard Worker "ALooper.cpp", 78*ec779b8eSAndroid Build Coastguard Worker "ALooperRoster.cpp", 79*ec779b8eSAndroid Build Coastguard Worker "AMessage.cpp", 80*ec779b8eSAndroid Build Coastguard Worker "AString.cpp", 81*ec779b8eSAndroid Build Coastguard Worker "AStringUtils.cpp", 82*ec779b8eSAndroid Build Coastguard Worker "AudioPresentationInfo.cpp", 83*ec779b8eSAndroid Build Coastguard Worker "ByteUtils.cpp", 84*ec779b8eSAndroid Build Coastguard Worker "ColorUtils.cpp", 85*ec779b8eSAndroid Build Coastguard Worker "ColorUtils_fill.cpp", 86*ec779b8eSAndroid Build Coastguard Worker "FoundationUtils.cpp", 87*ec779b8eSAndroid Build Coastguard Worker "MediaBuffer.cpp", 88*ec779b8eSAndroid Build Coastguard Worker "MediaBufferBase.cpp", 89*ec779b8eSAndroid Build Coastguard Worker "MediaBufferGroup.cpp", 90*ec779b8eSAndroid Build Coastguard Worker "MediaDefs.cpp", 91*ec779b8eSAndroid Build Coastguard Worker "MediaKeys.cpp", 92*ec779b8eSAndroid Build Coastguard Worker "MetaData.cpp", 93*ec779b8eSAndroid Build Coastguard Worker "MetaDataBase.cpp", 94*ec779b8eSAndroid Build Coastguard Worker "OpusHeader.cpp", 95*ec779b8eSAndroid Build Coastguard Worker "avc_utils.cpp", 96*ec779b8eSAndroid Build Coastguard Worker "base64.cpp", 97*ec779b8eSAndroid Build Coastguard Worker "hexdump.cpp", 98*ec779b8eSAndroid Build Coastguard Worker ], 99*ec779b8eSAndroid Build Coastguard Worker 100*ec779b8eSAndroid Build Coastguard Worker target: { 101*ec779b8eSAndroid Build Coastguard Worker vendor: { 102*ec779b8eSAndroid Build Coastguard Worker // TODO: add libbinder_headers here instead of above when it becomes supported 103*ec779b8eSAndroid Build Coastguard Worker exclude_shared_libs: [ 104*ec779b8eSAndroid Build Coastguard Worker "libbinder", 105*ec779b8eSAndroid Build Coastguard Worker ], 106*ec779b8eSAndroid Build Coastguard Worker cflags: [ 107*ec779b8eSAndroid Build Coastguard Worker "-DNO_IMEMORY", 108*ec779b8eSAndroid Build Coastguard Worker ], 109*ec779b8eSAndroid Build Coastguard Worker }, 110*ec779b8eSAndroid Build Coastguard Worker host: { 111*ec779b8eSAndroid Build Coastguard Worker sanitize: { 112*ec779b8eSAndroid Build Coastguard Worker cfi: false, 113*ec779b8eSAndroid Build Coastguard Worker }, 114*ec779b8eSAndroid Build Coastguard Worker }, 115*ec779b8eSAndroid Build Coastguard Worker apex: { 116*ec779b8eSAndroid Build Coastguard Worker exclude_shared_libs: [ 117*ec779b8eSAndroid Build Coastguard Worker "libbinder", 118*ec779b8eSAndroid Build Coastguard Worker ], 119*ec779b8eSAndroid Build Coastguard Worker }, 120*ec779b8eSAndroid Build Coastguard Worker darwin: { 121*ec779b8eSAndroid Build Coastguard Worker enabled: false, 122*ec779b8eSAndroid Build Coastguard Worker }, 123*ec779b8eSAndroid Build Coastguard Worker }, 124*ec779b8eSAndroid Build Coastguard Worker 125*ec779b8eSAndroid Build Coastguard Worker sanitize: { 126*ec779b8eSAndroid Build Coastguard Worker misc_undefined: [ 127*ec779b8eSAndroid Build Coastguard Worker "unsigned-integer-overflow", 128*ec779b8eSAndroid Build Coastguard Worker "signed-integer-overflow", 129*ec779b8eSAndroid Build Coastguard Worker ], 130*ec779b8eSAndroid Build Coastguard Worker cfi: true, 131*ec779b8eSAndroid Build Coastguard Worker }, 132*ec779b8eSAndroid Build Coastguard Worker} 133*ec779b8eSAndroid Build Coastguard Worker 134*ec779b8eSAndroid Build Coastguard Workercc_library { 135*ec779b8eSAndroid Build Coastguard Worker name: "libstagefright_foundation", 136*ec779b8eSAndroid Build Coastguard Worker defaults: ["libstagefright_foundation_defaults"], 137*ec779b8eSAndroid Build Coastguard Worker min_sdk_version: "29", 138*ec779b8eSAndroid Build Coastguard Worker apex_available: [ 139*ec779b8eSAndroid Build Coastguard Worker "//apex_available:platform", 140*ec779b8eSAndroid Build Coastguard Worker "com.android.media", 141*ec779b8eSAndroid Build Coastguard Worker "com.android.media.swcodec", 142*ec779b8eSAndroid Build Coastguard Worker ], 143*ec779b8eSAndroid Build Coastguard Worker} 144*ec779b8eSAndroid Build Coastguard Worker 145*ec779b8eSAndroid Build Coastguard Workercc_library_static { 146*ec779b8eSAndroid Build Coastguard Worker name: "libstagefright_foundation_without_imemory", 147*ec779b8eSAndroid Build Coastguard Worker defaults: ["libstagefright_foundation_defaults"], 148*ec779b8eSAndroid Build Coastguard Worker min_sdk_version: "29", 149*ec779b8eSAndroid Build Coastguard Worker apex_available: ["com.android.media"], 150*ec779b8eSAndroid Build Coastguard Worker 151*ec779b8eSAndroid Build Coastguard Worker 152*ec779b8eSAndroid Build Coastguard Worker cflags: [ 153*ec779b8eSAndroid Build Coastguard Worker "-Wno-multichar", 154*ec779b8eSAndroid Build Coastguard Worker "-Werror", 155*ec779b8eSAndroid Build Coastguard Worker "-Wall", 156*ec779b8eSAndroid Build Coastguard Worker "-DNO_IMEMORY", 157*ec779b8eSAndroid Build Coastguard Worker ], 158*ec779b8eSAndroid Build Coastguard Worker} 159*ec779b8eSAndroid Build Coastguard Worker 160*ec779b8eSAndroid Build Coastguard Worker// this gets linked into extractors in media mainline module 161*ec779b8eSAndroid Build Coastguard Worker// so must be ndk api 29 so that it runs on >=Q 162*ec779b8eSAndroid Build Coastguard Workercc_library_static { 163*ec779b8eSAndroid Build Coastguard Worker name: "libstagefright_foundation_colorutils_ndk", 164*ec779b8eSAndroid Build Coastguard Worker host_supported: true, 165*ec779b8eSAndroid Build Coastguard Worker vendor_available: true, 166*ec779b8eSAndroid Build Coastguard Worker 167*ec779b8eSAndroid Build Coastguard Worker target: { 168*ec779b8eSAndroid Build Coastguard Worker darwin: { 169*ec779b8eSAndroid Build Coastguard Worker enabled: false, 170*ec779b8eSAndroid Build Coastguard Worker }, 171*ec779b8eSAndroid Build Coastguard Worker }, 172*ec779b8eSAndroid Build Coastguard Worker 173*ec779b8eSAndroid Build Coastguard Worker shared_libs: [ 174*ec779b8eSAndroid Build Coastguard Worker "liblog", 175*ec779b8eSAndroid Build Coastguard Worker "libutils", // for sp<> 176*ec779b8eSAndroid Build Coastguard Worker // actually invokes this, but called from folks who already load it 177*ec779b8eSAndroid Build Coastguard Worker // "libmediandk", 178*ec779b8eSAndroid Build Coastguard Worker ], 179*ec779b8eSAndroid Build Coastguard Worker 180*ec779b8eSAndroid Build Coastguard Worker header_libs: [ 181*ec779b8eSAndroid Build Coastguard Worker // this is only needed for the vendor variant that removes libbinder, but vendor 182*ec779b8eSAndroid Build Coastguard Worker // target below does not allow adding header_libs. 183*ec779b8eSAndroid Build Coastguard Worker "libbinder_headers", 184*ec779b8eSAndroid Build Coastguard Worker "libstagefright_foundation_headers", 185*ec779b8eSAndroid Build Coastguard Worker "media_ndk_headers", 186*ec779b8eSAndroid Build Coastguard Worker "media_plugin_headers", 187*ec779b8eSAndroid Build Coastguard Worker ], 188*ec779b8eSAndroid Build Coastguard Worker 189*ec779b8eSAndroid Build Coastguard Worker local_include_dirs: [ 190*ec779b8eSAndroid Build Coastguard Worker "include/media/stagefright/foundation", 191*ec779b8eSAndroid Build Coastguard Worker ], 192*ec779b8eSAndroid Build Coastguard Worker 193*ec779b8eSAndroid Build Coastguard Worker cflags: [ 194*ec779b8eSAndroid Build Coastguard Worker "-Werror", 195*ec779b8eSAndroid Build Coastguard Worker "-Wall", 196*ec779b8eSAndroid Build Coastguard Worker ], 197*ec779b8eSAndroid Build Coastguard Worker 198*ec779b8eSAndroid Build Coastguard Worker srcs: [ 199*ec779b8eSAndroid Build Coastguard Worker "ColorUtils_ndk.cpp", 200*ec779b8eSAndroid Build Coastguard Worker "ColorUtils_fill.cpp", 201*ec779b8eSAndroid Build Coastguard Worker ], 202*ec779b8eSAndroid Build Coastguard Worker 203*ec779b8eSAndroid Build Coastguard Worker sanitize: { 204*ec779b8eSAndroid Build Coastguard Worker misc_undefined: [ 205*ec779b8eSAndroid Build Coastguard Worker "unsigned-integer-overflow", 206*ec779b8eSAndroid Build Coastguard Worker "signed-integer-overflow", 207*ec779b8eSAndroid Build Coastguard Worker ], 208*ec779b8eSAndroid Build Coastguard Worker cfi: true, 209*ec779b8eSAndroid Build Coastguard Worker }, 210*ec779b8eSAndroid Build Coastguard Worker 211*ec779b8eSAndroid Build Coastguard Worker min_sdk_version: "29", 212*ec779b8eSAndroid Build Coastguard Worker apex_available: [ 213*ec779b8eSAndroid Build Coastguard Worker "//apex_available:platform", 214*ec779b8eSAndroid Build Coastguard Worker "com.android.media", 215*ec779b8eSAndroid Build Coastguard Worker "com.android.media.swcodec", 216*ec779b8eSAndroid Build Coastguard Worker ], 217*ec779b8eSAndroid Build Coastguard Worker 218*ec779b8eSAndroid Build Coastguard Worker} 219