diff --git a/media/codec2/hidl/1.0/utils/Android.bp b/media/codec2/hidl/1.0/utils/Android.bp index b96d29b2f6..75c94247bc 100644 --- a/media/codec2/hidl/1.0/utils/Android.bp +++ b/media/codec2/hidl/1.0/utils/Android.bp @@ -83,11 +83,22 @@ cc_library { "libhidlbase", "liblog", "libstagefright_bufferpool@2.0.1", - "libstagefright_bufferqueue_helper", + "libstagefright_bufferqueue_helper_novndk", "libui", "libutils", ], + target: { + vendor: { + exclude_shared_libs: [ + "libstagefright_bufferqueue_helper_novndk", + ], + shared_libs: [ + "libstagefright_bufferqueue_helper", + ], + }, + }, + export_include_dirs: [ "include", ], diff --git a/media/codec2/hidl/1.1/utils/Android.bp b/media/codec2/hidl/1.1/utils/Android.bp index d48197bb62..8fddf98eae 100644 --- a/media/codec2/hidl/1.1/utils/Android.bp +++ b/media/codec2/hidl/1.1/utils/Android.bp @@ -89,11 +89,22 @@ cc_library { "libhidlbase", "liblog", "libstagefright_bufferpool@2.0.1", - "libstagefright_bufferqueue_helper", + "libstagefright_bufferqueue_helper_novndk", "libui", "libutils", ], + target: { + vendor: { + exclude_shared_libs: [ + "libstagefright_bufferqueue_helper_novndk", + ], + shared_libs: [ + "libstagefright_bufferqueue_helper", + ], + }, + }, + export_include_dirs: [ "include", ], @@ -106,7 +117,6 @@ cc_library { "libcodec2_vndk", "libhidlbase", "libstagefright_bufferpool@2.0.1", - "libstagefright_bufferqueue_helper", "libui", ], } diff --git a/media/libstagefright/bqhelper/Android.bp b/media/libstagefright/bqhelper/Android.bp index 9c64d79d6a..731713f709 100644 --- a/media/libstagefright/bqhelper/Android.bp +++ b/media/libstagefright/bqhelper/Android.bp @@ -1,11 +1,7 @@ -cc_library_shared { - name: "libstagefright_bufferqueue_helper", - vendor_available: true, - vndk: { - enabled: true, - }, - +cc_defaults { + name: "libstagefright_bufferqueue-defaults", double_loadable: true, + srcs: [ "FrameDropper.cpp", "GraphicBufferSource.cpp", @@ -26,7 +22,6 @@ cc_library_shared { shared_libs: [ "libbase", "libcutils", - "libgui", "libhidlbase", "libhidlmemory", "liblog", @@ -52,6 +47,23 @@ cc_library_shared { "-Wno-documentation", ], + sanitize: { + misc_undefined: [ + "signed-integer-overflow", + "unsigned-integer-overflow", + ], + cfi: true, + }, +} + +cc_library_shared { + name: "libstagefright_bufferqueue_helper", + defaults: ["libstagefright_bufferqueue-defaults"], + vendor_available: true, + vndk: { + enabled: true, + }, + shared_libs: [ "libgui" ], target: { vendor: { exclude_shared_libs: [ @@ -71,12 +83,31 @@ cc_library_shared { ], }, }, +} - sanitize: { - misc_undefined: [ - "signed-integer-overflow", - "unsigned-integer-overflow", - ], - cfi: true, - }, +// This lib is needed on devices that doesn't use vndk, +// on these devices we still don't want libgui to be pulled +// in onto the apex build. It should only be used by +// libcodec2_hidl@1.x, etc. from service side. It could +// be removed if all builds are using vndk. +cc_library_shared { + name: "libstagefright_bufferqueue_helper_novndk", + defaults: ["libstagefright_bufferqueue-defaults"], + apex_available: [ + "com.android.media.swcodec", + "test_com.android.media.swcodec", + ], + vendor_available: false, + static_libs: [ + "libgui_bufferqueue_static", + ], + shared_libs: [ + "android.hidl.token@1.0-utils", + "libEGL", + "libnativewindow", + "libvndksupport", + ], + cflags: [ + "-DNO_BINDER", + ], }