hal: use compr config only for offload usecases
Add check before using compr config codec structure
which is set only for offload usecases.
Change-Id: Ia74e5a20011a0d0c57dbdd97a32d5344c1c283fa
diff --git a/hal/audio_extn/passthru.c b/hal/audio_extn/passthru.c
index f90fedf..25a18f9 100644
--- a/hal/audio_extn/passthru.c
+++ b/hal/audio_extn/passthru.c
@@ -250,15 +250,19 @@
*stream has PCM format or
*if a compress offload (DSP decode) session
*/
+
+ if(out->compr_config.codec != NULL) {
#ifdef AUDIO_GKI_ENABLED
- /* out->compr_config.codec->reserved[0] is for compr_passthr */
- compr_passthr = out->compr_config.codec->reserved[0];
+ /* out->compr_config.codec->reserved[0] is for compr_passthr */
+ compr_passthr = out->compr_config.codec->reserved[0];
#else
- compr_passthr = out->compr_config.codec->compr_passthr;
+ compr_passthr = out->compr_config.codec->compr_passthr;
#endif
+ }
+
if (compare_device_type(&out->device_list, AUDIO_DEVICE_OUT_AUX_DIGITAL) &&
(((out->format & AUDIO_FORMAT_MAIN_MASK) == AUDIO_FORMAT_PCM) ||
- ((out->compr_config.codec != NULL) && (compr_passthr == LEGACY_PCM)))) {
+ (compr_passthr == LEGACY_PCM))) {
if (android_atomic_acquire_load(&compress_passthru_active) > 0) {
ALOGI("drop data as pass thru is active");
return true;
@@ -484,14 +488,14 @@
ALOGV("%s:NO PASSTHROUGH", __func__);
compr_passthr = LEGACY_PCM;
}
+#ifdef AUDIO_GKI_ENABLED
+ /* out->compr_config.codec->reserved[0] is for compr_passthr */
+ out->compr_config.codec->reserved[0] = compr_passthr;
+#else
+ out->compr_config.codec->compr_passthr = compr_passthr;
+#endif
}
-#ifdef AUDIO_GKI_ENABLED
- /* out->compr_config.codec->reserved[0] is for compr_passthr */
- out->compr_config.codec->reserved[0] = compr_passthr;
-#else
- out->compr_config.codec->compr_passthr = compr_passthr;
-#endif
}
bool passthru_is_passthrough_stream(struct stream_out *out)