audio-ar: parrot: add dynamic sr flag

Add Dynamic Sample rate feature flag for clarence.
This feature flag allows device to run at the same sample
rate as stream if the device supports the requested
sample rate

Change-Id: Ib230e2ec0ef3fef8418398a9000c84641d55239f
diff --git a/configs/parrot/parrot.mk b/configs/parrot/parrot.mk
index a78985e..6e989a5 100644
--- a/configs/parrot/parrot.mk
+++ b/configs/parrot/parrot.mk
@@ -84,6 +84,7 @@
 AUDIO_FEATURE_ENABLED_USB_BURST_MODE := true
 AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
 AUDIO_FEATURE_ENABLED_BATTERY_LISTENER := true
+AUDIO_FEATURE_ENABLED_DYNAMIC_SR := false 
 BUILD_AUDIO_TECHPACK_SOURCE := true
 AUDIO_FEATURE_ENABLED_MCS := true
 ##AUDIO_FEATURE_FLAGS
diff --git a/hal/Android.mk b/hal/Android.mk
index bcc5f21..5514ae6 100644
--- a/hal/Android.mk
+++ b/hal/Android.mk
@@ -33,6 +33,10 @@
 LOCAL_CFLAGS += -DEC_REF_CAPTURE_ENABLED
 endif
 
+ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DYNAMIC_SR)),true)
+LOCAL_CFLAGS += -DDYNAMIC_SR_ENABLED
+endif
+
 LOCAL_CFLAGS += -Wno-macro-redefined
 LOCAL_CFLAGS += -DSOUND_TRIGGER_PLATFORM_NAME=$(TARGET_BOARD_PLATFORM)
 LOCAL_CFLAGS += -D_GNU_SOURCE
diff --git a/hal/AudioStream.cpp b/hal/AudioStream.cpp
index 2f53666..ab8d53d 100644
--- a/hal/AudioStream.cpp
+++ b/hal/AudioStream.cpp
@@ -2235,6 +2235,7 @@
                        sizeof(mPalOutDevice[i].custom_config.custom_key));
             }
 
+#ifdef DYNAMIC_SR_ENABLED
             if (((usecase_ == USECASE_AUDIO_PLAYBACK_VOIP) ||
                   (usecase_ == USECASE_AUDIO_PLAYBACK_DEEP_BUFFER) ||
                   (isOffloadUsecase())) &&
@@ -2295,6 +2296,7 @@
                 }
                 AHAL_DBG("setting SR for usecase %d as %d", usecase_, config_.sample_rate);
             }
+#endif
         }
 
         mAndroidOutDevices = new_devices;
@@ -3567,6 +3569,7 @@
             AHAL_INFO("Setting custom key as %s", mPalOutDevice[i].custom_config.custom_key);
         }
 
+#ifdef DYNAMIC_SR_ENABLED
         if (((usecase_ == USECASE_AUDIO_PLAYBACK_VOIP) ||
               (usecase_ == USECASE_AUDIO_PLAYBACK_DEEP_BUFFER) ||
               (isOffloadUsecase())) &&
@@ -3627,6 +3630,7 @@
             }
             AHAL_DBG("setting SR for usecase %d as %d", usecase_, config_.sample_rate);
         }
+#endif
     }
 
     if (flags & AUDIO_OUTPUT_FLAG_MMAP_NOIRQ) {
@@ -4112,6 +4116,7 @@
                 AHAL_INFO("Setting custom key as %s", mPalInDevice[i].custom_config.custom_key);
             }
 
+#ifdef DYNAMIC_SR_ENABLED
             if (((usecase_ == USECASE_AUDIO_RECORD_VOIP) ||
                  (usecase_ == USECASE_AUDIO_RECORD)) &&
                 ((mPalInDevice[i].id == PAL_DEVICE_IN_HANDSET_MIC) ||
@@ -4135,6 +4140,7 @@
                 }
                 AHAL_DBG("setting SR for usecase %d as %d", usecase_, config_.sample_rate);
             }
+#endif
         }
 
         mAndroidInDevices = new_devices;
@@ -4948,6 +4954,7 @@
             AHAL_INFO("Setting custom key as %s", mPalInDevice[i].custom_config.custom_key);
         }
 
+#ifdef DYNAMIC_SR_ENABLED
         if (((usecase_ == USECASE_AUDIO_RECORD_VOIP) ||
              (usecase_ == USECASE_AUDIO_RECORD)) &&
             ((mPalInDevice[i].id == PAL_DEVICE_IN_HANDSET_MIC) ||
@@ -4971,6 +4978,7 @@
             }
             AHAL_DBG("setting SR for usecase %d as %d", usecase_, config_.sample_rate);
         }
+#endif
     }
 
     if (flags & AUDIO_INPUT_FLAG_MMAP_NOIRQ) {