hal: fix channel mask for m-ch offload playback
- Update channel mask with compress parameters for
compress offload playback on HDMI device
Change-Id: I89263f56923588fcb906facfd4ae9ebf95203743
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index ee67703..1a83b63 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -989,7 +989,7 @@
return 0;
if (channels == adev->cur_hdmi_channels) {
- ALOGD("%s: Requested channels are same as current", __func__);
+ ALOGD("%s: Requested channels are same as current channels(%d)", __func__, channels);
return 0;
}
@@ -1085,8 +1085,12 @@
uc_info->out_snd_device = SND_DEVICE_NONE;
/* This must be called before adding this usecase to the list */
- if (out->devices & AUDIO_DEVICE_OUT_AUX_DIGITAL)
- check_and_set_hdmi_channels(adev, out->config.channels);
+ if (out->devices & AUDIO_DEVICE_OUT_AUX_DIGITAL) {
+ if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD)
+ check_and_set_hdmi_channels(adev, out->compr_config.codec->ch_in);
+ else
+ check_and_set_hdmi_channels(adev, out->config.channels);
+ }
list_add_tail(&adev->usecase_list, &uc_info->list);