diff options
Diffstat (limited to 'hal/audio_extn/utils.c')
-rw-r--r-- | hal/audio_extn/utils.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c index dbfac87f..3dbf1595 100644 --- a/hal/audio_extn/utils.c +++ b/hal/audio_extn/utils.c @@ -555,6 +555,10 @@ int audio_extn_utils_send_app_type_cfg(struct audio_usecase *usecase) if ((24 == usecase->stream.out->bit_width) && (usecase->stream.out->devices & AUDIO_DEVICE_OUT_SPEAKER)) { sample_rate = DEFAULT_OUTPUT_SAMPLING_RATE; + } else if ((snd_device != SND_DEVICE_OUT_HEADPHONES_44_1 && + usecase->stream.out->sample_rate == OUTPUT_SAMPLING_RATE_44100) || + (usecase->stream.out->sample_rate < OUTPUT_SAMPLING_RATE_44100)) { + sample_rate = DEFAULT_OUTPUT_SAMPLING_RATE; } else { sample_rate = out->app_type_cfg.sample_rate; } @@ -567,6 +571,7 @@ int audio_extn_utils_send_app_type_cfg(struct audio_usecase *usecase) app_type_cfg[len++] = sample_rate * 4; else app_type_cfg[len++] = sample_rate; + mixer_ctl_set_array(ctl, app_type_cfg, len); ALOGI("%s app_type %d, acdb_dev_id %d, sample_rate %d", __func__, out->app_type_cfg.app_type, acdb_dev_id, sample_rate); |