audio-hal: automotive LL capture usecase changes blocking with flag
Blocking automotive changes with defined auto flag.
Change-Id: I2cb960f8ec732fefa99991530d4852341cf9701c
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 9aaeb81..2407cfc 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -715,11 +715,17 @@
if (!adev->adm_set_config)
return;
-
+#ifdef PLATFORM_AUTO
if (out->realtime || (out->flags & AUDIO_OUTPUT_FLAG_SYS_NOTIFICATION))
adev->adm_set_config(adev->adm_data,
out->handle,
out->pcm, &out->config);
+#else
+ if (out->realtime)
+ adev->adm_set_config(adev->adm_data,
+ out->handle,
+ out->pcm, &out->config);
+#endif
}
static void register_in_stream(struct stream_in *in)
@@ -3265,11 +3271,15 @@
!audio_is_true_native_stream_active(adev)) &&
usecase->stream.out->sample_rate == OUTPUT_SAMPLING_RATE_44100) ||
(usecase->stream.out->sample_rate < OUTPUT_SAMPLING_RATE_44100)) {
+#ifdef PLATFORM_AUTO
if (!(compare_device_type(&usecase->device_list, AUDIO_DEVICE_OUT_BUS) && ((usecase->stream.out->flags &
(audio_output_flags_t)AUDIO_OUTPUT_FLAG_SYS_NOTIFICATION) || (usecase->stream.out->flags &
(audio_output_flags_t)AUDIO_OUTPUT_FLAG_PHONE)))) {
usecase->stream.out->app_type_cfg.sample_rate = DEFAULT_OUTPUT_SAMPLING_RATE;
}
+#else
+ usecase->stream.out->app_type_cfg.sample_rate = DEFAULT_OUTPUT_SAMPLING_RATE;
+#endif
}
}
enable_audio_route(adev, usecase);
@@ -4692,6 +4702,9 @@
size = (sample_rate * duration_ms) / 1000;
if (is_low_latency){
+#ifndef PLATFORM_AUTO
+ size = configured_low_latency_capture_period_size;
+#else
switch(sample_rate) {
case 48000:
size = 240;
@@ -4711,6 +4724,7 @@
default:
size = 240;
}
+#endif
}
bytes_per_period_sample = audio_bytes_per_sample(format) * channel_count;
@@ -9916,7 +9930,7 @@
goto err_open;
}
}
-
+#ifdef PLATFORM_AUTO
if ((config->sample_rate == 48000 ||
config->sample_rate == 32000 ||
config->sample_rate == 24000 ||
@@ -9924,7 +9938,14 @@
config->sample_rate == 8000)&&
(flags & AUDIO_INPUT_FLAG_TIMESTAMP) == 0 &&
(flags & AUDIO_INPUT_FLAG_COMPRESS) == 0 &&
- (flags & AUDIO_INPUT_FLAG_FAST) != 0) {
+ (flags & AUDIO_INPUT_FLAG_FAST) != 0)
+#else
+ if (config->sample_rate == LOW_LATENCY_CAPTURE_SAMPLE_RATE &&
+ (flags & AUDIO_INPUT_FLAG_TIMESTAMP) == 0 &&
+ (flags & AUDIO_INPUT_FLAG_COMPRESS) == 0 &&
+ (flags & AUDIO_INPUT_FLAG_FAST) != 0)
+#endif
+{
is_low_latency = true;
#if LOW_LATENCY_CAPTURE_USE_CASE
if ((flags & AUDIO_INPUT_FLAG_VOIP_TX) != 0)
@@ -9945,6 +9966,7 @@
in->af_period_multiplier = 1;
} else {
// period size is left untouched for rt mode playback
+#ifdef PLATFORM_AUTO
switch(config->sample_rate)
{
case 48000:
@@ -9965,6 +9987,9 @@
default:
in->config = pcm_config_audio_capture_rt_48KHz;
}
+#else
+ in->config = pcm_config_audio_capture_rt_48KHz;
+#endif
in->af_period_multiplier = af_period_multiplier;
}
}
@@ -10058,6 +10083,7 @@
in->config.rate = config->sample_rate;
in->af_period_multiplier = 1;
} else if (in->realtime) {
+#ifdef PLATFORM_AUTO
switch(config->sample_rate)
{
case 48000:
@@ -10080,7 +10106,10 @@
}
in->config.format = pcm_format_from_audio_format(config->format);
in->af_period_multiplier = af_period_multiplier;
- } else {
+#else
+ in->config = pcm_config_audio_capture_rt_48KHz;
+#endif
+} else {
int ret_val;
pthread_mutex_lock(&adev->lock);
ret_val = audio_extn_check_and_set_multichannel_usecase(adev,