Separate out ESDS as a static lib

A static lib, libstagefright_esds, is added so that it can be used
only when needed in the extractor implementation.

Test: build
Bug: 65851881
Change-Id: I06a6d8816f1241eb8b37a997cff8a9d36d237b96
diff --git a/media/extractors/mp4/Android.bp b/media/extractors/mp4/Android.bp
index c1e299e..49a3714 100644
--- a/media/extractors/mp4/Android.bp
+++ b/media/extractors/mp4/Android.bp
@@ -14,12 +14,12 @@
     shared_libs: [
         "liblog",
         "libmediaextractor",
-        "libstagefright",  // Needed for ESDS
         "libstagefright_foundation",
         "libutils",
     ],
 
     static_libs: [
+        "libstagefright_esds",
         "libstagefright_id3",
     ],
 
diff --git a/media/libstagefright/Android.bp b/media/libstagefright/Android.bp
index 3ed8630..fe1b285 100644
--- a/media/libstagefright/Android.bp
+++ b/media/libstagefright/Android.bp
@@ -4,6 +4,28 @@
     vendor_available: true,
 }
 
+cc_library_static {
+    name: "libstagefright_esds",
+
+    srcs: ["ESDS.cpp"],
+
+    cflags: [
+        "-Werror",
+        "-Wall",
+    ],
+    sanitize: {
+        misc_undefined: [
+            "signed-integer-overflow",
+        ],
+        cfi: true,
+        diag: {
+            cfi: true,
+        },
+    },
+
+    shared_libs: ["libmedia"],
+}
+
 cc_library_shared {
     name: "libstagefright",
 
@@ -23,7 +45,6 @@
         "DataConverter.cpp",
         "DataSourceFactory.cpp",
         "DataURISource.cpp",
-        "ESDS.cpp",
         "FileSource.cpp",
         "FrameRenderTracker.cpp",
         "HTTPBase.cpp",
@@ -97,6 +118,7 @@
         "libvpx",
         "libwebm",
         "libstagefright_mpeg2support",
+        "libstagefright_esds",
         "libstagefright_id3",
         "libFLAC",
     ],