Include external modules statically in extractor implementations
- Statically include libvorbisidec in OggExtractor
- Statically include libstagefright_flacdec in MatroskaExtractor
- Statically include libsonivox in MidiExtractor
- Include MidiIoWrapper as a static lib in MidiExtractor
Test: build
Bug: 65851881
Bug: 67908539
Change-Id: I1406f86e7a64fe96a1fdbcaeaa47912dfe34f33a
diff --git a/media/extractors/midi/Android.bp b/media/extractors/midi/Android.bp
index 79c43b4..68f8766 100644
--- a/media/extractors/midi/Android.bp
+++ b/media/extractors/midi/Android.bp
@@ -8,13 +8,15 @@
shared_libs: [
"liblog",
- "libmedia", // Needed for MidiIoWrapper
"libmediaextractor",
- "libsonivox",
"libstagefright_foundation",
"libutils",
],
+ static_libs: [
+ "libmedia_midiiowrapper",
+ "libsonivox",
+ ],
name: "libmidiextractor",
relative_install_path: "extractors",
diff --git a/media/extractors/mkv/Android.bp b/media/extractors/mkv/Android.bp
index 476109a..350c6fe 100644
--- a/media/extractors/mkv/Android.bp
+++ b/media/extractors/mkv/Android.bp
@@ -12,12 +12,12 @@
shared_libs: [
"liblog",
"libmediaextractor",
- "libstagefright_flacdec",
"libstagefright_foundation",
"libutils",
],
static_libs: [
+ "libstagefright_flacdec",
"libwebm",
],
diff --git a/media/extractors/ogg/Android.bp b/media/extractors/ogg/Android.bp
index 03c4c24..6bd8025 100644
--- a/media/extractors/ogg/Android.bp
+++ b/media/extractors/ogg/Android.bp
@@ -12,6 +12,9 @@
"libmediaextractor",
"libstagefright_foundation",
"libutils",
+ ],
+
+ static_libs: [
"libvorbisidec",
],
diff --git a/media/libmedia/Android.bp b/media/libmedia/Android.bp
index 4479b4b..2761578 100644
--- a/media/libmedia/Android.bp
+++ b/media/libmedia/Android.bp
@@ -122,6 +122,33 @@
defaults: ["libmedia_omx_defaults"],
}
+cc_library_static {
+ name: "libmedia_midiiowrapper",
+
+ srcs: ["MidiIoWrapper.cpp"],
+
+ static_libs: [
+ "libsonivox",
+ ],
+
+ cflags: [
+ "-Werror",
+ "-Wno-error=deprecated-declarations",
+ "-Wall",
+ ],
+
+ sanitize: {
+ misc_undefined: [
+ "unsigned-integer-overflow",
+ "signed-integer-overflow",
+ ],
+ cfi: true,
+ diag: {
+ cfi: true,
+ },
+ },
+}
+
cc_library_shared {
name: "libmedia",
defaults: ["libmedia_omx_defaults"],
@@ -151,7 +178,6 @@
"IMediaMetadataRetriever.cpp",
"mediametadataretriever.cpp",
"MidiDeviceInfo.cpp",
- "MidiIoWrapper.cpp",
"JetPlayer.cpp",
"MediaScanner.cpp",
"MediaScannerClient.cpp",
@@ -193,9 +219,9 @@
"libsonivox",
],
- // for memory heap analysis
static_libs: [
- "libc_malloc_debug_backtrace",
+ "libc_malloc_debug_backtrace", // for memory heap analysis
+ "libmedia_midiiowrapper",
],
export_include_dirs: [
diff --git a/media/libstagefright/flac/dec/Android.bp b/media/libstagefright/flac/dec/Android.bp
index bbbd8c0..581e51b 100644
--- a/media/libstagefright/flac/dec/Android.bp
+++ b/media/libstagefright/flac/dec/Android.bp
@@ -1,4 +1,4 @@
-cc_library_shared {
+cc_library {
name: "libstagefright_flacdec",
vendor_available: true,
vndk: {
@@ -27,7 +27,13 @@
},
},
- static_libs: ["libFLAC"],
+ static: {
+ whole_static_libs: ["libFLAC"],
+ },
+
+ shared: {
+ static_libs: ["libFLAC"],
+ },
shared_libs: [
"liblog",