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/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: [