diff --git a/configs/dax-default.xml b/configs/dax-default.xml
index cdf7eed..0eb544e 100644
--- a/configs/dax-default.xml
+++ b/configs/dax-default.xml
@@ -288,55 +288,29 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
+
-
-
+
+
-
+
-
+
-
+
@@ -350,29 +324,29 @@
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
@@ -380,19 +354,19 @@
-
+
-
-
+
+
-
+
-
+
@@ -422,20 +396,49 @@
-
+
-
-
+
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -443,35 +446,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -479,19 +453,19 @@
-
+
-
-
+
+
-
-
+
+
-
+
@@ -521,49 +495,20 @@
-
+
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -571,6 +516,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -581,16 +555,16 @@
-
-
+
+
-
+
@@ -620,47 +594,18 @@
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -679,17 +624,46 @@
-
-
-
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -712,8 +686,8 @@
-
-
+
+
@@ -721,24 +695,24 @@
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
@@ -750,18 +724,18 @@
-
-
+
+
-
-
+
+
-
-
-
+
+
+
@@ -779,16 +753,16 @@
-
-
+
+
-
+
-
+
@@ -820,20 +794,20 @@
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
+
@@ -849,18 +823,18 @@
-
-
+
+
-
+
-
+
-
+
@@ -878,16 +852,16 @@
-
-
+
+
-
+
-
+
@@ -919,20 +893,20 @@
-
-
+
+
-
+
-
+
-
+
-
+
@@ -948,24 +922,24 @@
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
+
@@ -977,16 +951,16 @@
-
-
+
+
-
+
@@ -1018,24 +992,24 @@
-
+
-
+
-
-
+
+
-
-
-
+
+
+
-
+
-
+
@@ -1047,24 +1021,24 @@
-
+
-
+
-
-
+
+
-
-
-
+
+
+
-
+
@@ -1076,115 +1050,16 @@
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -1210,70 +1085,79 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -1281,86 +1165,95 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -1368,22 +1261,22 @@
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
+
+
@@ -1409,26 +1302,26 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1438,12 +1331,108 @@
-
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1458,7 +1447,7 @@
-
+
@@ -1497,26 +1486,26 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1527,11 +1516,14 @@
+
+
+
-
+
@@ -1546,7 +1538,7 @@
-
+
@@ -1558,7 +1550,8 @@
-
-
+
+
+
diff --git a/configs/media_codecs_dolby_audio.xml b/configs/media_codecs_dolby_audio.xml
index a67dd0e..e8f9796 100644
--- a/configs/media_codecs_dolby_audio.xml
+++ b/configs/media_codecs_dolby_audio.xml
@@ -30,20 +30,25 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dolby.mk b/dolby.mk
index 8d1c4bd..e9d48bc 100644
--- a/dolby.mk
+++ b/dolby.mk
@@ -30,6 +30,7 @@ BOARD_VENDOR_SEPOLICY_DIRS += $(DOLBY_PATH)/sepolicy/vendor
# HIDL
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += $(DOLBY_PATH)/dolby_framework_matrix.xml
DEVICE_MANIFEST_FILE += $(DOLBY_PATH)/vendor.dolby.hardware.dms@2.0-service.xml
+DEVICE_MANIFEST_FILE += $(DOLBY_PATH)/vendor.dolby.media.c2.xml
# Configs
PRODUCT_COPY_FILES += \
@@ -65,21 +66,27 @@ PRODUCT_COPY_FILES += \
$(DOLBY_PATH)/proprietary/vendor/lib/soundfx/libspatialaudio.so:$(TARGET_COPY_OUT_VENDOR)/lib/soundfx/libspatialaudio.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/soundfx/libspatialaudio.so:$(TARGET_COPY_OUT_VENDOR)/lib64/soundfx/libspatialaudio.so \
-# Media C2 Vendor
+# Media (C2)
PRODUCT_PACKAGES += \
- libcodec2_hidl@1.0.vendor \
- libcodec2_soft_common.vendor \
- libstagefright_softomx.vendor \
- libstagefright_softomx_plugin.vendor \
+ android.hardware.media.c2@1.0.vendor \
+ android.hardware.media.c2@1.1.vendor \
+ android.hardware.media.c2@1.2.vendor \
+ libcodec2_hidl@1.2.vendor \
+ libsfplugin_ccodec_utils.vendor \
+ libcodec2_soft_common.vendor
+
+# Codec2 Props
+PRODUCT_VENDOR_PROPERTIES += \
+ vendor.audio.c2.preferred=true \
+ debug.c2.use_dmabufheaps=1 \
+ vendor.qc2audio.suspend.enabled=true \
+ vendor.qc2audio.per_frame.flac.dec.enabled=true
# Dolby Props
PRODUCT_VENDOR_PROPERTIES += \
- ro.vendor.dolby.dax.version=DAX3_3.6.0.12_r1 \
- vendor.audio.dolby.ds2.enabled=false \
+ ro.vendor.dolby.dax.version=DAX3_3.7.0.8_r1 \
vendor.audio.dolby.ds2.hardbypass=false \
- ro.vendor.audio.dolby.dax.support=true \
- ro.vendor.audio.dolby.surround.enable=true \
- persist.vendor.audio_fx.current=dolby
+ vendor.audio.dolby.ds2.enabled=false
# Remove Packages for Dolby Support
PRODUCT_PACKAGES += \
@@ -95,33 +102,39 @@ PRODUCT_PACKAGES += \
# Dolby Proprietary blobs
PRODUCT_COPY_FILES += \
- $(DOLBY_PATH)/proprietary/system/lib/vendor.dolby.hardware.dms@2.0.so:$(TARGET_COPY_OUT_SYSTEM)/lib/vendor.dolby.hardware.dms@2.0.so \
- $(DOLBY_PATH)/proprietary/system/lib64/vendor.dolby.hardware.dms@2.0.so:$(TARGET_COPY_OUT_SYSTEM)/lib64/vendor.dolby.hardware.dms@2.0.so \
$(DOLBY_PATH)/proprietary/vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service:$(TARGET_COPY_OUT_VENDOR)/bin/hw/vendor.dolby.hardware.dms@2.0-service \
$(DOLBY_PATH)/proprietary/vendor/etc/init/vendor.dolby.hardware.dms@2.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.dolby.hardware.dms@2.0-service.rc \
$(DOLBY_PATH)/proprietary/vendor/lib/libdapparamstorage.so:$(TARGET_COPY_OUT_VENDOR)/lib/libdapparamstorage.so \
- $(DOLBY_PATH)/proprietary/vendor/lib/libdeccfg.so:$(TARGET_COPY_OUT_VENDOR)/lib/libdeccfg.so \
- $(DOLBY_PATH)/proprietary/vendor/lib/soundfx/libhwdap.so:$(TARGET_COPY_OUT_VENDOR)/lib/soundfx/libhwdap.so \
$(DOLBY_PATH)/proprietary/vendor/lib/soundfx/libswgamedap.so:$(TARGET_COPY_OUT_VENDOR)/lib/soundfx/libswgamedap.so \
$(DOLBY_PATH)/proprietary/vendor/lib/soundfx/libswvqe.so:$(TARGET_COPY_OUT_VENDOR)/lib/soundfx/libswvqe.so \
$(DOLBY_PATH)/proprietary/vendor/lib/vendor.dolby.hardware.dms@2.0.so:$(TARGET_COPY_OUT_VENDOR)/lib/vendor.dolby.hardware.dms@2.0.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/libdapparamstorage.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libdapparamstorage.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/libdeccfg.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libdeccfg.so \
- $(DOLBY_PATH)/proprietary/vendor/lib64/soundfx/libhwdap.so:$(TARGET_COPY_OUT_VENDOR)/lib64/soundfx/libhwdap.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/soundfx/libswgamedap.so:$(TARGET_COPY_OUT_VENDOR)/lib64/soundfx/libswgamedap.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/soundfx/libswvqe.so:$(TARGET_COPY_OUT_VENDOR)/lib64/soundfx/libswvqe.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0-impl.so:$(TARGET_COPY_OUT_VENDOR)/lib64/vendor.dolby.hardware.dms@2.0-impl.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0.so:$(TARGET_COPY_OUT_VENDOR)/lib64/vendor.dolby.hardware.dms@2.0.so \
+PRODUCT_COPY_FILES += \
+ $(DOLBY_PATH)/proprietary/vendor/lib/libdlbpreg.so:$(TARGET_COPY_OUT_VENDOR)/lib/libdlbpreg.so \
+ $(DOLBY_PATH)/proprietary/vendor/lib/soundfx/libswdap.so:$(TARGET_COPY_OUT_VENDOR)/lib/soundfx/libswdap.so \
+ $(DOLBY_PATH)/proprietary/vendor/lib64/libdlbpreg.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libdlbpreg.so \
+ $(DOLBY_PATH)/proprietary/vendor/lib64/liboem_specific.so:$(TARGET_COPY_OUT_VENDOR)/lib64/liboem_specific.so \
+ $(DOLBY_PATH)/proprietary/vendor/lib64/soundfx/libswdap.so:$(TARGET_COPY_OUT_VENDOR)/lib64/soundfx/libswdap.so \
+
+# Codec2 (Dolby)
+PRODUCT_COPY_FILES += \
+ $(DOLBY_PATH)/proprietary/vendor/bin/hw/vendor.dolby.media.c2@1.0-service:$(TARGET_COPY_OUT_VENDOR)/bin/hw/vendor.dolby.media.c2@1.0-service \
+ $(DOLBY_PATH)/proprietary/vendor/etc/init/vendor.dolby.media.c2@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.dolby.media.c2@1.0-service.rc \
+ $(DOLBY_PATH)/proprietary/vendor/lib64/libcodec2_soft_ac4dec.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libcodec2_soft_ac4dec.so \
+ $(DOLBY_PATH)/proprietary/vendor/lib64/libcodec2_soft_ddpdec.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libcodec2_soft_ddpdec.so \
+ $(DOLBY_PATH)/proprietary/vendor/lib64/libcodec2_soft_dolby.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libcodec2_soft_dolby.so \
+ $(DOLBY_PATH)/proprietary/vendor/lib64/libcodec2_store_dolby.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libcodec2_store_dolby.so \
+ $(DOLBY_PATH)/proprietary/vendor/lib64/libdeccfg.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libdeccfg.so \
+
# Patched Proprietary Blobs
PRODUCT_COPY_FILES += \
- $(DOLBY_PATH)/proprietary/vendor/lib/libstagefright_soft_ac4dec.so:$(TARGET_COPY_OUT_VENDOR)/lib/libstagefright_soft_ac4dec.so \
- $(DOLBY_PATH)/proprietary/vendor/lib/libstagefright_soft_ddpdec.so:$(TARGET_COPY_OUT_VENDOR)/lib/libstagefright_soft_ddpdec.so \
- $(DOLBY_PATH)/proprietary/vendor/lib/libstagefrightdolby.so:$(TARGET_COPY_OUT_VENDOR)/lib/libstagefrightdolby.so \
$(DOLBY_PATH)/proprietary/vendor/lib64/libdlbdsservice.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libdlbdsservice.so \
- $(DOLBY_PATH)/proprietary/vendor/lib64/libstagefright_soft_ac4dec.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libstagefright_soft_ac4dec.so \
- $(DOLBY_PATH)/proprietary/vendor/lib64/libstagefright_soft_ddpdec.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libstagefright_soft_ddpdec.so \
- $(DOLBY_PATH)/proprietary/vendor/lib64/libstagefrightdolby.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libstagefrightdolby.so \
# Not Xiaomi Proprietary Blobs
PRODUCT_COPY_FILES += \
diff --git a/dolby_framework_matrix.xml b/dolby_framework_matrix.xml
index e642384..f157ff4 100644
--- a/dolby_framework_matrix.xml
+++ b/dolby_framework_matrix.xml
@@ -1,11 +1,18 @@
vendor.dolby.hardware.dms
- hwbinder
2.0
IDms
default
+
+ android.hardware.media.c2
+ 1.0
+
+ IComponentStore
+ default1
+
+
diff --git a/proprietary/system/lib/vendor.dolby.hardware.dms@2.0.so b/proprietary/system/lib/vendor.dolby.hardware.dms@2.0.so
deleted file mode 100644
index 99838e9..0000000
Binary files a/proprietary/system/lib/vendor.dolby.hardware.dms@2.0.so and /dev/null differ
diff --git a/proprietary/system/lib64/vendor.dolby.hardware.dms@2.0.so b/proprietary/system/lib64/vendor.dolby.hardware.dms@2.0.so
deleted file mode 100644
index 2339ffa..0000000
Binary files a/proprietary/system/lib64/vendor.dolby.hardware.dms@2.0.so and /dev/null differ
diff --git a/proprietary/vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service b/proprietary/vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service
index 3e0ddd9..ddfe130 100644
Binary files a/proprietary/vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service and b/proprietary/vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service differ
diff --git a/proprietary/vendor/bin/hw/vendor.dolby.media.c2@1.0-service b/proprietary/vendor/bin/hw/vendor.dolby.media.c2@1.0-service
new file mode 100644
index 0000000..c325478
Binary files /dev/null and b/proprietary/vendor/bin/hw/vendor.dolby.media.c2@1.0-service differ
diff --git a/proprietary/vendor/etc/init/vendor.dolby.media.c2@1.0-service.rc b/proprietary/vendor/etc/init/vendor.dolby.media.c2@1.0-service.rc
new file mode 100644
index 0000000..5df0f3a
--- /dev/null
+++ b/proprietary/vendor/etc/init/vendor.dolby.media.c2@1.0-service.rc
@@ -0,0 +1,7 @@
+service vendor-dolby-media-c2-hal-1-0 /vendor/bin/hw/vendor.dolby.media.c2@1.0-service
+ class hal
+ user mediacodec
+ group camera mediadrm drmrpc
+ ioprio rt 4
+ writepid /dev/cpuset/foreground/tasks
+
diff --git a/proprietary/vendor/lib/libdapparamstorage.so b/proprietary/vendor/lib/libdapparamstorage.so
index 0cb8e98..addc939 100644
Binary files a/proprietary/vendor/lib/libdapparamstorage.so and b/proprietary/vendor/lib/libdapparamstorage.so differ
diff --git a/proprietary/vendor/lib/libdeccfg.so b/proprietary/vendor/lib/libdeccfg.so
deleted file mode 100644
index 6edbdab..0000000
Binary files a/proprietary/vendor/lib/libdeccfg.so and /dev/null differ
diff --git a/proprietary/vendor/lib/libdlbpreg.so b/proprietary/vendor/lib/libdlbpreg.so
new file mode 100644
index 0000000..acfe286
Binary files /dev/null and b/proprietary/vendor/lib/libdlbpreg.so differ
diff --git a/proprietary/vendor/lib/libstagefright_soft_ac4dec.so b/proprietary/vendor/lib/libstagefright_soft_ac4dec.so
deleted file mode 100644
index c1a648c..0000000
Binary files a/proprietary/vendor/lib/libstagefright_soft_ac4dec.so and /dev/null differ
diff --git a/proprietary/vendor/lib/libstagefrightdolby.so b/proprietary/vendor/lib/libstagefrightdolby.so
deleted file mode 100644
index 55e9433..0000000
Binary files a/proprietary/vendor/lib/libstagefrightdolby.so and /dev/null differ
diff --git a/proprietary/vendor/lib/soundfx/libdlbvol.so b/proprietary/vendor/lib/soundfx/libdlbvol.so
index 731b35f..1ac9b17 100644
Binary files a/proprietary/vendor/lib/soundfx/libdlbvol.so and b/proprietary/vendor/lib/soundfx/libdlbvol.so differ
diff --git a/proprietary/vendor/lib/soundfx/libhwdap.so b/proprietary/vendor/lib/soundfx/libhwdap.so
deleted file mode 100644
index 5602625..0000000
Binary files a/proprietary/vendor/lib/soundfx/libhwdap.so and /dev/null differ
diff --git a/proprietary/vendor/lib/libstagefright_soft_ddpdec.so b/proprietary/vendor/lib/soundfx/libswdap.so
similarity index 60%
rename from proprietary/vendor/lib/libstagefright_soft_ddpdec.so
rename to proprietary/vendor/lib/soundfx/libswdap.so
index 4d0f934..1e4aa53 100644
Binary files a/proprietary/vendor/lib/libstagefright_soft_ddpdec.so and b/proprietary/vendor/lib/soundfx/libswdap.so differ
diff --git a/proprietary/vendor/lib/soundfx/libswgamedap.so b/proprietary/vendor/lib/soundfx/libswgamedap.so
index 7e0417a..5432a02 100644
Binary files a/proprietary/vendor/lib/soundfx/libswgamedap.so and b/proprietary/vendor/lib/soundfx/libswgamedap.so differ
diff --git a/proprietary/vendor/lib/soundfx/libswvqe.so b/proprietary/vendor/lib/soundfx/libswvqe.so
index 5b626a8..4f5c910 100644
Binary files a/proprietary/vendor/lib/soundfx/libswvqe.so and b/proprietary/vendor/lib/soundfx/libswvqe.so differ
diff --git a/proprietary/vendor/lib/vendor.dolby.hardware.dms@2.0.so b/proprietary/vendor/lib/vendor.dolby.hardware.dms@2.0.so
index d3abd02..f7e80bf 100644
Binary files a/proprietary/vendor/lib/vendor.dolby.hardware.dms@2.0.so and b/proprietary/vendor/lib/vendor.dolby.hardware.dms@2.0.so differ
diff --git a/proprietary/vendor/lib64/libstagefright_soft_ac4dec.so b/proprietary/vendor/lib64/libcodec2_soft_ac4dec.so
similarity index 55%
rename from proprietary/vendor/lib64/libstagefright_soft_ac4dec.so
rename to proprietary/vendor/lib64/libcodec2_soft_ac4dec.so
index 5dee27b..fbfce71 100644
Binary files a/proprietary/vendor/lib64/libstagefright_soft_ac4dec.so and b/proprietary/vendor/lib64/libcodec2_soft_ac4dec.so differ
diff --git a/proprietary/vendor/lib64/libstagefright_soft_ddpdec.so b/proprietary/vendor/lib64/libcodec2_soft_ddpdec.so
similarity index 68%
rename from proprietary/vendor/lib64/libstagefright_soft_ddpdec.so
rename to proprietary/vendor/lib64/libcodec2_soft_ddpdec.so
index 762bdc8..62f5148 100644
Binary files a/proprietary/vendor/lib64/libstagefright_soft_ddpdec.so and b/proprietary/vendor/lib64/libcodec2_soft_ddpdec.so differ
diff --git a/proprietary/vendor/lib64/libcodec2_soft_dolby.so b/proprietary/vendor/lib64/libcodec2_soft_dolby.so
new file mode 100644
index 0000000..c3cd249
Binary files /dev/null and b/proprietary/vendor/lib64/libcodec2_soft_dolby.so differ
diff --git a/proprietary/vendor/lib64/libcodec2_store_dolby.so b/proprietary/vendor/lib64/libcodec2_store_dolby.so
new file mode 100644
index 0000000..ddd2dcc
Binary files /dev/null and b/proprietary/vendor/lib64/libcodec2_store_dolby.so differ
diff --git a/proprietary/vendor/lib64/libdapparamstorage.so b/proprietary/vendor/lib64/libdapparamstorage.so
index bd84217..b033243 100644
Binary files a/proprietary/vendor/lib64/libdapparamstorage.so and b/proprietary/vendor/lib64/libdapparamstorage.so differ
diff --git a/proprietary/vendor/lib64/libdeccfg.so b/proprietary/vendor/lib64/libdeccfg.so
index bdb4712..40166fc 100644
Binary files a/proprietary/vendor/lib64/libdeccfg.so and b/proprietary/vendor/lib64/libdeccfg.so differ
diff --git a/proprietary/vendor/lib64/libdlbdsservice.so b/proprietary/vendor/lib64/libdlbdsservice.so
index 314536b..860a7b8 100644
Binary files a/proprietary/vendor/lib64/libdlbdsservice.so and b/proprietary/vendor/lib64/libdlbdsservice.so differ
diff --git a/proprietary/vendor/lib64/libdlbpreg.so b/proprietary/vendor/lib64/libdlbpreg.so
new file mode 100644
index 0000000..57c300b
Binary files /dev/null and b/proprietary/vendor/lib64/libdlbpreg.so differ
diff --git a/proprietary/vendor/lib64/liboem_specific.so b/proprietary/vendor/lib64/liboem_specific.so
new file mode 100644
index 0000000..8a6f1ea
Binary files /dev/null and b/proprietary/vendor/lib64/liboem_specific.so differ
diff --git a/proprietary/vendor/lib64/libstagefrightdolby.so b/proprietary/vendor/lib64/libstagefrightdolby.so
deleted file mode 100644
index 2a72ec4..0000000
Binary files a/proprietary/vendor/lib64/libstagefrightdolby.so and /dev/null differ
diff --git a/proprietary/vendor/lib64/soundfx/libdlbvol.so b/proprietary/vendor/lib64/soundfx/libdlbvol.so
index 2eed5b6..06b4b45 100644
Binary files a/proprietary/vendor/lib64/soundfx/libdlbvol.so and b/proprietary/vendor/lib64/soundfx/libdlbvol.so differ
diff --git a/proprietary/vendor/lib64/soundfx/libhwdap.so b/proprietary/vendor/lib64/soundfx/libhwdap.so
deleted file mode 100644
index e973ae2..0000000
Binary files a/proprietary/vendor/lib64/soundfx/libhwdap.so and /dev/null differ
diff --git a/proprietary/vendor/lib64/soundfx/libswdap.so b/proprietary/vendor/lib64/soundfx/libswdap.so
new file mode 100644
index 0000000..488cb59
Binary files /dev/null and b/proprietary/vendor/lib64/soundfx/libswdap.so differ
diff --git a/proprietary/vendor/lib64/soundfx/libswgamedap.so b/proprietary/vendor/lib64/soundfx/libswgamedap.so
index dfe662c..c333788 100644
Binary files a/proprietary/vendor/lib64/soundfx/libswgamedap.so and b/proprietary/vendor/lib64/soundfx/libswgamedap.so differ
diff --git a/proprietary/vendor/lib64/soundfx/libswvqe.so b/proprietary/vendor/lib64/soundfx/libswvqe.so
index ef3f16a..588482d 100644
Binary files a/proprietary/vendor/lib64/soundfx/libswvqe.so and b/proprietary/vendor/lib64/soundfx/libswvqe.so differ
diff --git a/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0-impl.so b/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0-impl.so
index 6e7008b..d846000 100644
Binary files a/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0-impl.so and b/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0-impl.so differ
diff --git a/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0.so b/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0.so
index 215d40c..9d6997f 100644
Binary files a/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0.so and b/proprietary/vendor/lib64/vendor.dolby.hardware.dms@2.0.so differ
diff --git a/sepolicy/vendor/file_contexts b/sepolicy/vendor/file_contexts
index 5025847..a7d2b3e 100644
--- a/sepolicy/vendor/file_contexts
+++ b/sepolicy/vendor/file_contexts
@@ -1,5 +1,6 @@
-# Data files
+# Dolby Files
/data/vendor/dolby(/.*)? u:object_r:vendor_data_file:s0
# Dolby
+/(system/vendor|vendor)/bin/hw/vendor\.dolby\.media\.c2@1\.0-service u:object_r:mediacodec_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.dolby\.hardware\.dms@2\.0-service u:object_r:hal_dms_default_exec:s0
diff --git a/sepolicy/vendor/hal_audio_default.te b/sepolicy/vendor/hal_audio_default.te
index 230c9bb..db1c729 100644
--- a/sepolicy/vendor/hal_audio_default.te
+++ b/sepolicy/vendor/hal_audio_default.te
@@ -1,2 +1,4 @@
allow hal_audio_default hal_dms_hwservice:hwservice_manager find;
binder_call(hal_audio_default, hal_dms_default)
+
+hal_client_domain(hal_audio_default, hal_dms)
diff --git a/sepolicy/vendor/mediacodec.te b/sepolicy/vendor/mediacodec.te
index bf336c1..d25b989 100644
--- a/sepolicy/vendor/mediacodec.te
+++ b/sepolicy/vendor/mediacodec.te
@@ -1,2 +1,3 @@
allow mediacodec hal_dms_hwservice:hwservice_manager find;
binder_call(mediacodec, hal_dms_default)
+hal_client_domain(mediacodec, hal_dms)
diff --git a/sepolicy/vendor/platform_app.te b/sepolicy/vendor/platform_app.te
index ae41f50..c02e0f5 100644
--- a/sepolicy/vendor/platform_app.te
+++ b/sepolicy/vendor/platform_app.te
@@ -1,2 +1,4 @@
allow platform_app hal_dms_hwservice:hwservice_manager find;
binder_call(platform_app, hal_dms_default)
+get_prop(platform_app, audio_config_prop)
+hal_client_domain(platform_app, hal_dms)
diff --git a/sepolicy/vendor/priv_app.te b/sepolicy/vendor/priv_app.te
new file mode 100644
index 0000000..64d04e8
--- /dev/null
+++ b/sepolicy/vendor/priv_app.te
@@ -0,0 +1,3 @@
+# Dolby
+allow priv_app hal_dms_hwservice:hwservice_manager find;
+binder_call(priv_app, hal_dms_default)
diff --git a/sepolicy/vendor/system_server.te b/sepolicy/vendor/system_server.te
new file mode 100644
index 0000000..4d56ff5
--- /dev/null
+++ b/sepolicy/vendor/system_server.te
@@ -0,0 +1 @@
+hal_client_domain(system_server, hal_dms)
diff --git a/vendor.dolby.media.c2.xml b/vendor.dolby.media.c2.xml
new file mode 100644
index 0000000..7505995
--- /dev/null
+++ b/vendor.dolby.media.c2.xml
@@ -0,0 +1,19 @@
+
+
+
+ android.hardware.media.c2
+ hwbinder
+ @1.0::IComponentStore/default1
+
+