audio: notify device info twice for combo output
For combo output, GEF needs to notify splitted device info twice.
CRs-Fixed: 2489086
Change-Id: I337ae614606f823cf0843a645185fe001fc344fa
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 6658e28..3db4af1 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -2355,16 +2355,6 @@
}
enable_audio_route(adev, usecase);
- /* Notify device change info to effect clients registered */
- if (usecase->type == PCM_PLAYBACK) {
- audio_extn_gef_notify_device_config(
- usecase->stream.out->devices,
- usecase->stream.out->channel_mask,
- usecase->stream.out->app_type_cfg.sample_rate,
- platform_get_snd_device_acdb_id(usecase->out_snd_device),
- usecase->stream.out->app_type_cfg.app_type);
- }
-
/* If input stream is already running then effect needs to be
applied on the new input device that's being enabled here. */
if ((in_snd_device != SND_DEVICE_NONE) && (adev->active_input != NULL) &&
diff --git a/hal/msm8916/platform.c b/hal/msm8916/platform.c
index fb44369..8b607b6 100644
--- a/hal/msm8916/platform.c
+++ b/hal/msm8916/platform.c
@@ -3602,6 +3602,17 @@
__func__, new_snd_device[i]);
return -EINVAL;
}
+
+ /* Notify device change info to effect clients registered */
+ if (usecase->type == PCM_PLAYBACK) {
+ audio_extn_gef_notify_device_config(
+ usecase->stream.out->devices,
+ usecase->stream.out->channel_mask,
+ sample_rate,
+ acdb_dev_id,
+ usecase->stream.out->app_type_cfg.app_type);
+ }
+
ALOGV("%s: sending audio calibration for snd_device(%d) acdb_id(%d)",
__func__, new_snd_device[i], acdb_dev_id);
if (new_snd_device[i] >= SND_DEVICE_OUT_BEGIN &&
diff --git a/hal/msm8960/platform.c b/hal/msm8960/platform.c
index 9e78bde..809772f 100644
--- a/hal/msm8960/platform.c
+++ b/hal/msm8960/platform.c
@@ -532,6 +532,17 @@
__func__, snd_device);
return -EINVAL;
}
+
+ /* Notify device change info to effect clients registered */
+ if (usecase->type == PCM_PLAYBACK) {
+ audio_extn_gef_notify_device_config(
+ usecase->stream.out->devices,
+ usecase->stream.out->channel_mask,
+ usecase->stream.out->app_type_cfg.sample_rate,
+ acdb_dev_id,
+ usecase->stream.out->app_type_cfg.app_type);
+ }
+
if (my_data->acdb_send_audio_cal) {
("%s: sending audio calibration for snd_device(%d) acdb_id(%d)",
__func__, snd_device, acdb_dev_id);
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
index 0931d42..e847690 100644
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -3567,6 +3567,17 @@
__func__, new_snd_device[i]);
return -EINVAL;
}
+
+ /* Notify device change info to effect clients registered */
+ if (usecase->type == PCM_PLAYBACK) {
+ audio_extn_gef_notify_device_config(
+ usecase->stream.out->devices,
+ usecase->stream.out->channel_mask,
+ sample_rate,
+ acdb_dev_id,
+ usecase->stream.out->app_type_cfg.app_type);
+ }
+
ALOGV("%s: sending audio calibration for snd_device(%d) acdb_id(%d)",
__func__, new_snd_device[i], acdb_dev_id);
if (new_snd_device[i] >= SND_DEVICE_OUT_BEGIN &&