Revert format change related CLs

Revert "CCodec: simplify format change logic"
This reverts commit a08cd2b279d9a97c5a2e7b29ef5b055ed02a251c.

Revert "aacdec: don't report DRC_COMPRESSION_MODE back"
This reverts commit aaa0309a2b8bcdb56103380d54127ba9aebc9f21.

Revert "CCodecConfig: don't read DRC_COMPRESSION_MODE back"
This reverts commit 30c1d421b10c4760edba45f3e118f7b549ed7104.

Bug: 173176131
Test: revert
Change-Id: Ia16a58cbf7b19a8b3ac908afd2c20d740dfa7c28
diff --git a/media/codec2/sfplugin/CCodecConfig.cpp b/media/codec2/sfplugin/CCodecConfig.cpp
index c324949..96f86e8 100644
--- a/media/codec2/sfplugin/CCodecConfig.cpp
+++ b/media/codec2/sfplugin/CCodecConfig.cpp
@@ -765,13 +765,21 @@
 
     // convert to compression type and add default
     add(ConfigMapper(KEY_AAC_DRC_HEAVY_COMPRESSION, C2_PARAMKEY_DRC_COMPRESSION_MODE, "value")
-        .limitTo(D::AUDIO & D::DECODER & (D::CONFIG | D::PARAM))
-        .withMapper([](C2Value v) -> C2Value {
+        .limitTo(D::AUDIO & D::DECODER & (D::CONFIG | D::PARAM | D::READ))
+        .withMappers([](C2Value v) -> C2Value {
             int32_t value;
             if (!v.get(&value) || value < 0) {
                 value = property_get_int32(PROP_DRC_OVERRIDE_HEAVY, DRC_DEFAULT_MOBILE_DRC_HEAVY);
             }
             return value == 1 ? C2Config::DRC_COMPRESSION_HEAVY : C2Config::DRC_COMPRESSION_LIGHT;
+        },[](C2Value v) -> C2Value {
+            int32_t value;
+            if (v.get(&value)) {
+              return value;
+            }
+            else {
+              return C2Value();
+            }
         }));
 
     // convert to dBFS and add default