package { default_applicable_licenses: ["frameworks_av_media_libstagefright_license"], } // Added automatically by a large-scale-change // See: http://go/android-license-faq license { name: "frameworks_av_media_libstagefright_license", visibility: [":__subpackages__"], license_kinds: [ "SPDX-license-identifier-Apache-2.0", ], license_text: [ "NOTICE", ], } cc_library_headers { name: "libstagefright_headers", export_include_dirs: ["include"], vendor_available: true, apex_available: [ "//apex_available:platform", "com.android.media", "com.android.media.swcodec", ], min_sdk_version: "29", host_supported: true, target: { darwin: { enabled: false, }, }, } cc_library_shared { name: "libstagefright_codecbase", export_include_dirs: ["include"], srcs: [ "CodecBase.cpp", "DataConverter.cpp", "FrameRenderTracker.cpp", "MediaCodecListWriter.cpp", "SkipCutBuffer.cpp", ], cflags: [ "-Werror", "-Wall", ], header_libs: [ "libmediadrm_headers", "media_ndk_headers", ], shared_libs: [ "libaudioutils", "libgui", "libhidlallocatorutils", "liblog", "libmedia_codeclist", "libmedia_omx", "libstagefright_foundation", "libui", "libutils", "android.hardware.cas.native@1.0", "android.hardware.drm@1.0", ], sanitize: { cfi: true, misc_undefined: [ "unsigned-integer-overflow", "signed-integer-overflow", ], }, } cc_library_static { name: "libstagefright_mpeg2extractor", apex_available: [ "//apex_available:platform", "com.android.media", ], min_sdk_version: "29", srcs: [ "Utils.cpp", "MediaSource.cpp", "HevcUtils.cpp", ], shared_libs: [ "liblog", ], static_libs: [ "libstagefright_esds", "android.media.extractor.flags-aconfig-cc", ], export_include_dirs: [ "include", ], header_libs: [ "libaudioclient_headers", "libbase_headers", "libmedia_datasource_headers", "media_ndk_headers", "media_plugin_headers", ], cflags: [ "-Wno-multichar", "-Werror", "-Wno-error=deprecated-declarations", "-Wall", ], sanitize: { cfi: true, misc_undefined: [ "unsigned-integer-overflow", "signed-integer-overflow", ], }, host_supported: true, target: { darwin: { enabled: false, }, linux: { cflags: [ "-DDISABLE_AUDIO_SYSTEM_OFFLOAD", ], }, }, } cc_library_shared { name: "libstagefright_framecapture_utils", srcs: [ "FrameCaptureLayer.cpp", "FrameCaptureProcessor.cpp", ], shared_libs: [ "libbase", "libcutils", "libEGL", "libGLESv1_CM", "libGLESv2", "libvulkan", "libgui", "liblog", "libprocessgroup", "libstagefright_foundation", "libsync", "libui", "libutils", ], static_libs: [ "librenderfright", ], export_include_dirs: [ "include", ], cflags: [ "-Wno-multichar", "-Werror", "-Wno-error=deprecated-declarations", "-Wall", ], sanitize: { // TODO: re-enabled cfi for this lib after b/139945549 fixed cfi: false, misc_undefined: [ "unsigned-integer-overflow", "signed-integer-overflow", ], }, } cc_library_shared { name: "libstagefright_surface_utils", srcs: [ "SurfaceUtils.cpp", ], shared_libs: [ "libgui", "liblog", "libui", "libutils", ], export_include_dirs: [ "include", ], cflags: [ "-Wno-multichar", "-Werror", "-Wall", ], sanitize: { cfi: true, misc_undefined: [ "unsigned-integer-overflow", "signed-integer-overflow", ], }, } cc_library { name: "libstagefright", srcs: [ "AACWriter.cpp", "ACodec.cpp", "ACodecBufferChannel.cpp", "AHierarchicalStateMachine.cpp", "AMRWriter.cpp", "AudioSource.cpp", "BufferImpl.cpp", "CallbackDataSource.cpp", "CallbackMediaSource.cpp", "CameraSource.cpp", "CameraSourceTimeLapse.cpp", "CodecErrorLog.cpp", "CryptoAsync.cpp", "FrameDecoder.cpp", "HevcUtils.cpp", "InterfaceUtils.cpp", "JPEGSource.cpp", "MPEG2TSWriter.cpp", "MPEG4Writer.cpp", "MediaAdapter.cpp", "MediaAppender.cpp", "MediaClock.cpp", "MediaCodec.cpp", "MediaCodecList.cpp", "MediaCodecListOverrides.cpp", "MediaCodecSource.cpp", "MediaExtractor.cpp", "MediaExtractorFactory.cpp", "MediaSource.cpp", "MediaSync.cpp", "MediaTrack.cpp", "MediaMuxer.cpp", "NuMediaExtractor.cpp", "OggWriter.cpp", "OMXClient.cpp", "OmxInfoBuilder.cpp", "RemoteMediaExtractor.cpp", "RemoteMediaSource.cpp", "SimpleDecodingSource.cpp", "StagefrightMediaScanner.cpp", "SurfaceUtils.cpp", "ThrottledSource.cpp", "Utils.cpp", "VideoFrameSchedulerBase.cpp", "VideoFrameScheduler.cpp", "VideoRenderQualityTracker.cpp", ], shared_libs: [ "libstagefright_framecapture_utils", "libaudioutils", "libbase", "libbinder", "libbinder_ndk", "libcamera_client", "libcodec2", "libcodec2_vndk", "libcutils", "libdatasource", "libdl", "libdl_android", "libgui", "liblog", "libmedia", "libmedia_codeclist", "libmedia_omx", "libmedia_omx_client", "libaudioclient", "libmediametrics", "libui", "libutils", "libmedia_helper", "libsfplugin_ccodec", "libsfplugin_ccodec_utils", "libstagefright_codecbase", "libstagefright_foundation", "libstagefright_omx_utils", "libhidlallocatorutils", "libhidlbase", "libhidlmemory", "android.hidl.allocator@1.0", "android.hardware.cas.native@1.0", "android.hardware.drm@1.0", "android.hardware.media.omx@1.0", "framework-permission-aidl-cpp", "libaudioclient_aidl_conversion", "packagemanager_aidl-cpp", "server_configurable_flags", "libaconfig_storage_read_api_cc", "aconfig_mediacodec_flags_c_lib", ], static_libs: [ "android.media.codec-aconfig-cc", "android.media.extractor.flags-aconfig-cc", "com.android.media.flags.editing-aconfig-cc", "libstagefright_esds", "libstagefright_color_conversion", "libyuv", "libstagefright_webm", "libstagefright_timedtext", "libogg", "libstagefright_id3", "framework-permission-aidl-cpp", "libmediandk_format", "libmedia_ndkformatpriv", ], header_libs: [ "libmediadrm_headers", "libnativeloader-headers", "libstagefright_xmlparser_headers", "media_ndk_headers", "libmediaformatshaper_headers", ], export_shared_lib_headers: [ "libgui", "libhidlmemory", "libmedia", "android.hidl.allocator@1.0", "framework-permission-aidl-cpp", ], export_include_dirs: [ "include", ], cflags: [ "-Wno-multichar", "-Werror", "-Wno-error=deprecated-declarations", "-Wall", ], version_script: "exports.lds", product_variables: { debuggable: { // enable experiments only in userdebug and eng builds cflags: ["-DENABLE_STAGEFRIGHT_EXPERIMENTS"], }, }, sanitize: { cfi: true, misc_undefined: [ "unsigned-integer-overflow", "signed-integer-overflow", ], }, }