Remove libmedia_omx_defaults from libmedia

libmedia_omx_defaults includes source files and this default was
used in both libmedia.so and libmedia_omx.so. This is an issue because
libmedia_omx and libmedia are both loaded in the framework process
through dependency chains such as libstagefright ->
libstagefright_omx_utils -> libmedia_omx.

To fix the issue, libmedia_omx_defaults is removed from libmedia and
libmedia now depends on libmedia_omx. Other modules/libs that originally
depended on libmedia and need access to libmedia_omx_defaults' source
files, now depend on libmedia_omx as well.

Bug: 67871061
Test: mma -j and boot test
Change-Id: I93a10df1fed3c7cea93b580d00f33ba749d80e95
diff --git a/cmds/screenrecord/Android.mk b/cmds/screenrecord/Android.mk
index fa9466c..5e83ed6 100644
--- a/cmds/screenrecord/Android.mk
+++ b/cmds/screenrecord/Android.mk
@@ -25,7 +25,7 @@
 	Program.cpp
 
 LOCAL_SHARED_LIBRARIES := \
-	libstagefright libmedia libutils libbinder libstagefright_foundation \
+	libstagefright libmedia libmedia_omx libutils libbinder libstagefright_foundation \
 	libjpeg libui libgui libcutils liblog libEGL libGLESv2
 
 LOCAL_C_INCLUDES := \
diff --git a/cmds/stagefright/Android.mk b/cmds/stagefright/Android.mk
index a0aef0d..7623d6d 100644
--- a/cmds/stagefright/Android.mk
+++ b/cmds/stagefright/Android.mk
@@ -8,7 +8,7 @@
         SineSource.cpp
 
 LOCAL_SHARED_LIBRARIES := \
-        libstagefright libmedia libmediaextractor libutils libbinder \
+        libstagefright libmedia libmedia_omx libmediaextractor libutils libbinder \
         libstagefright_foundation libjpeg libui libgui libcutils liblog \
         libhidlmemory \
         android.hardware.media.omx@1.0 \
@@ -135,7 +135,7 @@
 
 LOCAL_SHARED_LIBRARIES := \
         libstagefright liblog libutils libbinder libstagefright_foundation \
-        libmedia libaudioclient libui libgui libcutils
+        libmedia libmedia_omx libaudioclient libui libgui libcutils
 
 LOCAL_C_INCLUDES:= \
         frameworks/av/media/libstagefright \
@@ -166,6 +166,7 @@
         libbinder \
         libstagefright_foundation \
         libmedia \
+        libmedia_omx \
         libui \
         libgui \
         libcutils \
diff --git a/media/libmedia/Android.bp b/media/libmedia/Android.bp
index 2761578..1381d27 100644
--- a/media/libmedia/Android.bp
+++ b/media/libmedia/Android.bp
@@ -33,10 +33,12 @@
     clang: true,
 }
 
-// TODO(b/35449087): merge back with libmedia when OMX implementatoins
-// no longer use aidl wrappers (or remove OMX component form libmedia)
-cc_defaults {
-    name: "libmedia_omx_defaults",
+cc_library_shared {
+    name: "libmedia_omx",
+    vendor_available: true,
+    vndk: {
+        enabled: true,
+    },
 
     srcs: [
         "aidl/android/IGraphicBufferSource.aidl",
@@ -112,16 +114,6 @@
     },
 }
 
-cc_library_shared {
-    name: "libmedia_omx",
-    vendor_available: true,
-    vndk: {
-        enabled: true,
-    },
-
-    defaults: ["libmedia_omx_defaults"],
-}
-
 cc_library_static {
     name: "libmedia_midiiowrapper",
 
@@ -151,7 +143,6 @@
 
 cc_library_shared {
     name: "libmedia",
-    defaults: ["libmedia_omx_defaults"],
 
     srcs: [
         "IDataSource.cpp",
@@ -209,6 +200,7 @@
         "libaudioclient",
         "libhidlbase",
         "libhidltransport",
+        "libmedia_omx",
     ],
 
     export_shared_lib_headers: [
@@ -217,6 +209,7 @@
         "libicuuc",
         "libicui18n",
         "libsonivox",
+        "libmedia_omx",
     ],
 
     static_libs: [
diff --git a/media/libmediaplayerservice/Android.bp b/media/libmediaplayerservice/Android.bp
index dc23b6a..a37973b 100644
--- a/media/libmediaplayerservice/Android.bp
+++ b/media/libmediaplayerservice/Android.bp
@@ -23,6 +23,7 @@
         "libhidlmemory",
         "liblog",
         "libmedia",
+        "libmedia_omx",
         "libmediaextractor",
         "libmediadrm",
         "libmediametrics",
diff --git a/media/libstagefright/Android.bp b/media/libstagefright/Android.bp
index 4c7259f..7ba4b7d 100644
--- a/media/libstagefright/Android.bp
+++ b/media/libstagefright/Android.bp
@@ -91,6 +91,7 @@
         "libgui",
         "liblog",
         "libmedia",
+        "libmedia_omx",
         "libaudioclient",
         "libmediaextractor",
         "libmediametrics",
diff --git a/media/libstagefright/codecs/on2/h264dec/Android.bp b/media/libstagefright/codecs/on2/h264dec/Android.bp
index 0984283..f484509 100644
--- a/media/libstagefright/codecs/on2/h264dec/Android.bp
+++ b/media/libstagefright/codecs/on2/h264dec/Android.bp
@@ -117,6 +117,7 @@
 
     shared_libs: [
         "libmedia",
+        "libmedia_omx",
         "libstagefright_omx",
         "libstagefright_foundation",
         "libutils",
diff --git a/media/libstagefright/omx/tests/Android.bp b/media/libstagefright/omx/tests/Android.bp
index f5108ca..999d9d4 100644
--- a/media/libstagefright/omx/tests/Android.bp
+++ b/media/libstagefright/omx/tests/Android.bp
@@ -8,6 +8,7 @@
         "libstagefright",
         "libbinder",
         "libmedia",
+        "libmedia_omx",
         "libmediaextractor",
         "libutils",
         "liblog",
diff --git a/media/ndk/Android.bp b/media/ndk/Android.bp
index 116f156..cea2f9e 100644
--- a/media/ndk/Android.bp
+++ b/media/ndk/Android.bp
@@ -67,6 +67,7 @@
     shared_libs: [
         "libbinder",
         "libmedia",
+        "libmedia_omx",
         "libmedia_jni",
         "libmediadrm",
         "libstagefright",