diff --git a/hal/audio_extn/a2dp.c b/hal/audio_extn/a2dp.c
index 8ce3784..5423665 100644
--- a/hal/audio_extn/a2dp.c
+++ b/hal/audio_extn/a2dp.c
@@ -1067,13 +1067,8 @@
     return a2dp.is_handoff_in_progress || !a2dp.a2dp_started;
 }
 
-void audio_extn_a2dp_get_apptype_params(uint32_t *sample_rate,
-                                        uint32_t *bit_width)
+void audio_extn_a2dp_get_sample_rate(int *sample_rate)
 {
-    if(a2dp.bt_encoder_format == ENC_CODEC_TYPE_APTX_HD)
-        *bit_width = 24;
-    else
-        *bit_width = 16;
     *sample_rate = a2dp.enc_sampling_rate;
 }
 
diff --git a/hal/audio_extn/audio_extn.h b/hal/audio_extn/audio_extn.h
index 81f51e4..e6e77e9 100644
--- a/hal/audio_extn/audio_extn.h
+++ b/hal/audio_extn/audio_extn.h
@@ -241,7 +241,7 @@
 #define audio_extn_a2dp_set_parameters(parms)            (0)
 #define audio_extn_a2dp_is_force_device_switch()         (0)
 #define audio_extn_a2dp_set_handoff_mode(is_on)          (0)
-#define audio_extn_a2dp_get_apptype_params(sample_rate,bit_width)    (0)
+#define audio_extn_a2dp_get_sample_rate(sample_rate)     (0)
 #define audio_extn_a2dp_get_encoder_latency()            (0)
 #define audio_extn_a2dp_is_ready()                       (0)
 #define audio_extn_a2dp_is_suspended()                   (0)
@@ -252,8 +252,7 @@
 void audio_extn_a2dp_set_parameters(struct str_parms *parms);
 bool audio_extn_a2dp_is_force_device_switch();
 void audio_extn_a2dp_set_handoff_mode(bool is_on);
-void audio_extn_a2dp_get_apptype_params(uint32_t *sample_rate,
-                                        uint32_t *bit_width);
+void audio_extn_a2dp_get_sample_rate(int *sample_rate);
 uint32_t audio_extn_a2dp_get_encoder_latency();
 bool audio_extn_a2dp_is_ready();
 bool audio_extn_a2dp_is_suspended();
diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c
index cac1369..3653444 100644
--- a/hal/audio_extn/utils.c
+++ b/hal/audio_extn/utils.c
@@ -736,12 +736,6 @@
             sample_rate = OUTPUT_SAMPLING_RATE_DSD128;
     }
 
-    if(devices & AUDIO_DEVICE_OUT_ALL_A2DP) {
-        //TODO: Handle fractional sampling rate configuration for LL
-        audio_extn_a2dp_get_apptype_params(&sample_rate, &bit_width);
-        ALOGI("%s using %d sampling rate %d bit width for A2DP CoPP",
-              __func__, sample_rate, bit_width);
-    }
 
     ALOGV("%s: flags: %x, format: %x sample_rate %d, profile %s, app_type %d",
            __func__, flags, format, sample_rate, profile, app_type_cfg->app_type);
@@ -988,6 +982,14 @@
             (usecase->stream.out->sample_rate < OUTPUT_SAMPLING_RATE_44100)) {
             /* Reset to default if no native stream is active*/
             usecase->stream.out->app_type_cfg.sample_rate = DEFAULT_OUTPUT_SAMPLING_RATE;
+        } else if (usecase->stream.out->devices & AUDIO_DEVICE_OUT_ALL_A2DP) {
+                 /*
+                  * For a2dp playback get encoder sampling rate and set copp sampling rate,
+                  * for bit width use the stream param only.
+                  */
+                   audio_extn_a2dp_get_sample_rate(&usecase->stream.out->app_type_cfg.sample_rate);
+                   ALOGI("%s using %d sample rate rate for A2DP CoPP",
+                        __func__, usecase->stream.out->app_type_cfg.sample_rate);
         }
         sample_rate = usecase->stream.out->app_type_cfg.sample_rate;
 
