1 cc_defaults { 2 name: "libmedia_defaults", 3 include_dirs: [ 4 "bionic/libc/private", 5 ], 6 } 7 8 cc_library_headers { 9 name: "libmedia_headers", 10 vendor_available: true, 11 export_include_dirs: ["include"], 12 header_libs:[ 13 "libbase_headers", 14 "libgui_headers", 15 "libstagefright_headers", 16 "media_plugin_headers", 17 ], 18 export_header_lib_headers: [ 19 "libgui_headers", 20 "libstagefright_headers", 21 "media_plugin_headers", 22 ], 23 } 24 25 cc_library { 26 name: "libmedia_helper", 27 vendor_available: true, 28 vndk: { 29 enabled: true, 30 }, 31 double_loadable: true, 32 srcs: ["AudioParameter.cpp", "TypeConverter.cpp"], 33 cflags: [ 34 "-Werror", 35 "-Wno-error=deprecated-declarations", 36 "-Wall", 37 ], 38 shared_libs: ["libutils", "liblog"], 39 header_libs: [ 40 "libmedia_headers", 41 "libaudioclient_headers", 42 "libaudio_system_headers", 43 ], 44 export_header_lib_headers: [ 45 "libmedia_headers", 46 ], 47 clang: true, 48 } 49 50 cc_library_shared { 51 name: "libmedia_omx", 52 vendor_available: true, 53 vndk: { 54 enabled: true, 55 }, 56 double_loadable: true, 57 58 srcs: [ 59 "aidl/android/IGraphicBufferSource.aidl", 60 "aidl/android/IOMXBufferSource.aidl", 61 62 "IMediaCodecList.cpp", 63 "IOMX.cpp", 64 "MediaCodecBuffer.cpp", 65 "MediaCodecInfo.cpp", 66 "OMXBuffer.cpp", 67 "omx/1.0/WGraphicBufferSource.cpp", 68 "omx/1.0/WOmxBufferSource.cpp", 69 "omx/1.0/WOmxNode.cpp", 70 "omx/1.0/WOmxObserver.cpp", 71 ], 72 73 aidl: { 74 local_include_dirs: ["aidl"], 75 export_aidl_headers: true, 76 }, 77 78 local_include_dirs: [ 79 "include", 80 ], 81 82 shared_libs: [ 83 "android.hidl.token (a] 1.0-utils", 84 "android.hardware.media.omx (a] 1.0", 85 "libbinder", 86 "libcutils", 87 "libhidlbase", 88 "libhidltransport", 89 "liblog", 90 "libstagefright_foundation", 91 "libui", 92 "libutils", 93 ], 94 95 export_shared_lib_headers: [ 96 "android.hidl.token (a] 1.0-utils", 97 "android.hardware.media.omx (a] 1.0", 98 "libstagefright_foundation", 99 "libui", 100 ], 101 102 header_libs: [ 103 "libstagefright_headers", 104 "media_plugin_headers", 105 ], 106 107 export_header_lib_headers: [ 108 "libstagefright_headers", 109 "media_plugin_headers", 110 ], 111 112 export_include_dirs: [ 113 "aidl", 114 "include", 115 ], 116 117 cflags: [ 118 "-Werror", 119 "-Wno-error=deprecated-declarations", 120 "-Wall", 121 ], 122 123 sanitize: { 124 misc_undefined: [ 125 "unsigned-integer-overflow", 126 "signed-integer-overflow", 127 ], 128 cfi: true, 129 }, 130 } 131 132 133 cc_library_shared { 134 name: "libmedia_omx_client", 135 136 srcs: [ 137 "omx/1.0/WOmx.cpp", 138 ], 139 140 local_include_dirs: [ 141 "include", 142 ], 143 144 shared_libs: [ 145 "libbinder", 146 "libcutils", 147 "libgui", 148 "libhidlbase", 149 "libhidltransport", 150 "liblog", 151 "libmedia_omx", 152 "libstagefright_foundation", 153 "libui", 154 "libutils", 155 ], 156 157 export_shared_lib_headers: [ 158 "libgui", 159 "libmedia_omx", 160 "libstagefright_foundation", 161 "libui", 162 ], 163 164 header_libs: [ 165 "libstagefright_headers", 166 "media_plugin_headers", 167 ], 168 169 export_header_lib_headers: [ 170 "libstagefright_headers", 171 "media_plugin_headers", 172 ], 173 174 export_include_dirs: [ 175 "include", 176 ], 177 178 cflags: [ 179 "-Werror", 180 "-Wno-error=deprecated-declarations", 181 "-Wall", 182 ], 183 184 sanitize: { 185 misc_undefined: [ 186 "unsigned-integer-overflow", 187 "signed-integer-overflow", 188 ], 189 cfi: true, 190 }, 191 } 192 193 cc_library_static { 194 name: "libmedia_midiiowrapper", 195 196 srcs: ["MidiIoWrapper.cpp"], 197 198 static_libs: [ 199 "libsonivox", 200 ], 201 202 header_libs: [ 203 "media_ndk_headers", 204 ], 205 206 cflags: [ 207 "-Werror", 208 "-Wno-error=deprecated-declarations", 209 "-Wall", 210 ], 211 212 sanitize: { 213 misc_undefined: [ 214 "unsigned-integer-overflow", 215 "signed-integer-overflow", 216 ], 217 cfi: true, 218 }, 219 } 220 221 cc_library { 222 name: "libmedia", 223 224 defaults: [ "libmedia_defaults" ], 225 226 srcs: [ 227 "IDataSource.cpp", 228 "BufferingSettings.cpp", 229 "mediaplayer.cpp", 230 "IMediaHTTPConnection.cpp", 231 "IMediaHTTPService.cpp", 232 "IMediaExtractor.cpp", 233 "IMediaExtractorService.cpp", 234 "IMediaPlayerService.cpp", 235 "IMediaPlayerClient.cpp", 236 "IMediaRecorderClient.cpp", 237 "IMediaPlayer.cpp", 238 "IMediaRecorder.cpp", 239 "IMediaSource.cpp", 240 "IRemoteDisplay.cpp", 241 "IRemoteDisplayClient.cpp", 242 "IResourceManagerClient.cpp", 243 "IResourceManagerService.cpp", 244 "IStreamSource.cpp", 245 "MediaUtils.cpp", 246 "Metadata.cpp", 247 "mediarecorder.cpp", 248 "IMediaMetadataRetriever.cpp", 249 "mediametadataretriever.cpp", 250 "MidiDeviceInfo.cpp", 251 "JetPlayer.cpp", 252 "MediaScanner.cpp", 253 "MediaScannerClient.cpp", 254 "CharacterEncodingDetector.cpp", 255 "IMediaDeathNotifier.cpp", 256 "MediaProfiles.cpp", 257 "MediaResource.cpp", 258 "MediaResourcePolicy.cpp", 259 "Visualizer.cpp", 260 "StringArray.cpp", 261 "NdkMediaFormatPriv.cpp", 262 "NdkMediaErrorPriv.cpp", 263 ], 264 265 aidl: { 266 local_include_dirs: ["aidl"], 267 export_aidl_headers: true, 268 }, 269 270 header_libs: [ 271 "libstagefright_headers", 272 "media_ndk_headers", 273 ], 274 275 export_header_lib_headers: [ 276 "libstagefright_headers", 277 "media_ndk_headers", 278 ], 279 280 shared_libs: [ 281 "android.hidl.token (a] 1.0-utils", 282 "liblog", 283 "libcutils", 284 "libprocessgroup", 285 "libutils", 286 "libbinder", 287 "libsonivox", 288 "libandroidicu", 289 "libexpat", 290 "libcamera_client", 291 "libstagefright_foundation", 292 "libgui", 293 "libdl", 294 "libaudioutils", 295 "libaudioclient", 296 "libmedia_omx", 297 ], 298 299 export_shared_lib_headers: [ 300 "libaudioclient", 301 "libbinder", 302 "libandroidicu", 303 "libsonivox", 304 "libmedia_omx", 305 ], 306 307 static_libs: [ 308 "libc_malloc_debug_backtrace", // for memory heap analysis 309 "libmedia_midiiowrapper", 310 ], 311 312 export_include_dirs: [ 313 "include", 314 ], 315 316 cflags: [ 317 "-Werror", 318 "-Wno-error=deprecated-declarations", 319 "-Wall", 320 ], 321 322 version_script: "exports.lds", 323 324 sanitize: { 325 misc_undefined: [ 326 "unsigned-integer-overflow", 327 "signed-integer-overflow", 328 ], 329 cfi: true, 330 }, 331 } 332 333 cc_library_static { 334 name: "libmedia_player2_util", 335 336 defaults: [ "libmedia_defaults" ], 337 338 srcs: [ 339 "AudioParameter.cpp", 340 "BufferingSettings.cpp", 341 "DataSourceDesc.cpp", 342 "MediaCodecBuffer.cpp", 343 "Metadata.cpp", 344 "NdkWrapper.cpp", 345 ], 346 347 shared_libs: [ 348 "libbinder", 349 "libcutils", 350 "liblog", 351 "libmediandk", 352 "libnativewindow", 353 "libmediandk_utils", 354 "libstagefright_foundation", 355 "libui", 356 "libutils", 357 ], 358 359 export_shared_lib_headers: [ 360 "libbinder", 361 "libmediandk", 362 ], 363 364 header_libs: [ 365 "media_plugin_headers", 366 ], 367 368 include_dirs: [ 369 "frameworks/av/media/ndk", 370 ], 371 372 static_libs: [ 373 "libstagefright_rtsp", 374 "libstagefright_timedtext", 375 ], 376 377 export_include_dirs: [ 378 "include", 379 ], 380 381 cflags: [ 382 "-Werror", 383 "-Wno-error=deprecated-declarations", 384 "-Wall", 385 ], 386 387 sanitize: { 388 misc_undefined: [ 389 "unsigned-integer-overflow", 390 "signed-integer-overflow", 391 ], 392 cfi: true, 393 }, 394 } 395