diff --git a/android.hardware.media.omx@1.0.xml b/android.hardware.media.omx@1.0.xml
new file mode 100644
index 0000000..0b6ce80
--- /dev/null
+++ b/android.hardware.media.omx@1.0.xml
@@ -0,0 +1,15 @@
+
+
+ android.hardware.media.omx
+ hwbinder
+ 1.0
+
+ IOmx
+ default
+
+
+ IOmxStore
+ default
+
+
+
diff --git a/manifest.xml b/manifest.xml
index f3f4a61..6e742b7 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -1,4 +1,4 @@
-
+
android.hardware.audio
hwbinder
@@ -53,17 +53,4 @@
default
-
- android.hardware.media.omx
- hwbinder
- 1.0
-
- IOmx
- default
-
-
- IOmxStore
- default
-
-
diff --git a/media_codecs.xml b/media_codecs.xml
new file mode 100644
index 0000000..87d11f2
--- /dev/null
+++ b/media_codecs.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/redroid.mk b/redroid.mk
index d46c3e6..0373cd3 100644
--- a/redroid.mk
+++ b/redroid.mk
@@ -102,6 +102,23 @@ PRODUCT_PACKAGES += \
android.hardware.keymaster@3.0-service \
android.hardware.keymaster@3.0-impl \
+
+ifneq ($(REDROID_DISABLE_OMX),true)
+# Codec 1.0 requires the OMX services
+DEVICE_MANIFEST_FILE += device/redroid/android.hardware.media.omx@1.0.xml
+
+PRODUCT_COPY_FILES += \
+ device/redroid/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
+ frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
+ frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
+ frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
+
+else
+# use Codec 2.0
+PRODUCT_PACKAGES += android.hardware.media.c2@1.2-default-service
+endif
+
+
PRODUCT_SOONG_NAMESPACES += frameworks/av/services/audiopolicy/config
# audio policy
PRODUCT_PACKAGES += \
@@ -115,10 +132,6 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \
device/generic/goldfish/camera/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
- device/generic/goldfish/camera/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
- frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
- frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
- frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \
diff --git a/redroid_arm64/BoardConfig.mk b/redroid_arm64/BoardConfig.mk
index 634c5a9..20014af 100644
--- a/redroid_arm64/BoardConfig.mk
+++ b/redroid_arm64/BoardConfig.mk
@@ -20,5 +20,5 @@ BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216
BOARD_GPU_DRIVERS := virgl radeonsi
-DEVICE_MANIFEST_FILE := device/redroid/manifest.xml
+DEVICE_MANIFEST_FILE += device/redroid/manifest.xml
diff --git a/redroid_arm64_only.mk b/redroid_arm64_only.mk
index 0a2758c..09efdbc 100644
--- a/redroid_arm64_only.mk
+++ b/redroid_arm64_only.mk
@@ -15,6 +15,7 @@
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
+REDROID_DISABLE_OMX := true
$(call inherit-product, $(LOCAL_PATH)/redroid.mk)
# overrides
diff --git a/redroid_arm64_only/BoardConfig.mk b/redroid_arm64_only/BoardConfig.mk
index 5eceae7..a9806b2 100644
--- a/redroid_arm64_only/BoardConfig.mk
+++ b/redroid_arm64_only/BoardConfig.mk
@@ -14,5 +14,5 @@ BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216
BOARD_GPU_DRIVERS := virgl radeonsi
-DEVICE_MANIFEST_FILE := device/redroid/manifest.xml
+DEVICE_MANIFEST_FILE += device/redroid/manifest.xml
diff --git a/redroid_x86_64/BoardConfig.mk b/redroid_x86_64/BoardConfig.mk
index 1fa016c..c40478b 100755
--- a/redroid_x86_64/BoardConfig.mk
+++ b/redroid_x86_64/BoardConfig.mk
@@ -16,5 +16,5 @@ BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216
BOARD_GPU_DRIVERS := i915 i965 r300g r600g virgl iris radeonsi
-DEVICE_MANIFEST_FILE := device/redroid/manifest.xml
+DEVICE_MANIFEST_FILE += device/redroid/manifest.xml
diff --git a/redroid_x86_64_only.mk b/redroid_x86_64_only.mk
index fb55b98..c86aa10 100644
--- a/redroid_x86_64_only.mk
+++ b/redroid_x86_64_only.mk
@@ -15,6 +15,7 @@
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
+REDROID_DISABLE_OMX := true
$(call inherit-product, $(LOCAL_PATH)/redroid.mk)
$(call inherit-product, $(LOCAL_PATH)/redroid_x86_64_only/device.mk)
diff --git a/redroid_x86_64_only/BoardConfig.mk b/redroid_x86_64_only/BoardConfig.mk
index 9bffa7f..bf021db 100755
--- a/redroid_x86_64_only/BoardConfig.mk
+++ b/redroid_x86_64_only/BoardConfig.mk
@@ -12,5 +12,5 @@ BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216
BOARD_GPU_DRIVERS := i915 i965 r300g r600g virgl iris radeonsi
-DEVICE_MANIFEST_FILE := device/redroid/manifest.xml
+DEVICE_MANIFEST_FILE += device/redroid/manifest.xml