summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2021-07-29 00:22:02 -0700
committerLinux Build Service Account <lnxbuild@localhost>2021-07-29 00:22:02 -0700
commitdf6a0da2a261f8b23fca702727257b291e53d4f3 (patch)
tree8ffb802f53959b4aefd78eb72d5f711d94485a1c
parent34f2479bacbb4473c2316c73fbb522ced543f2e2 (diff)
parenta540c9909548251cf6a5bd8cbe78027f7e9f1d2d (diff)
Merge a540c9909548251cf6a5bd8cbe78027f7e9f1d2d on remote branch
Change-Id: I01622ee2912d5dc611a8854337689aeffcd11466
-rw-r--r--configs/sdm660/sound_trigger_platform_info.xml3
-rw-r--r--hal/audio_extn/a2dp.c12
-rw-r--r--hal/audio_extn/soundtrigger.c2
3 files changed, 14 insertions, 3 deletions
diff --git a/configs/sdm660/sound_trigger_platform_info.xml b/configs/sdm660/sound_trigger_platform_info.xml
index 271f99d9..13d1adce 100644
--- a/configs/sdm660/sound_trigger_platform_info.xml
+++ b/configs/sdm660/sound_trigger_platform_info.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--- Copyright (c) 2013-2017, The Linux Foundation. All rights reserved. -->
+<!--- Copyright (c) 2013-2017, 2021 The Linux Foundation. All rights reserved. -->
<!--- -->
<!--- Redistribution and use in source and binary forms, with or without -->
<!--- modification, are permitted provided that the following conditions are -->
@@ -51,6 +51,7 @@
<sound_model_config>
<param vendor_uuid="68ab2d40-e860-11e3-95ef-0002a5d5c51b" />
<param execution_type="WDSP" /> <!-- value: "WDSP" "ADSP" "DYNAMIC" -->
+ <param second_stage_supported="false" />
<param app_type="2" /> <!-- app type used in ACDB -->
<param library="libsmwrapper.so" />
<param max_cpe_phrases="6" />
diff --git a/hal/audio_extn/a2dp.c b/hal/audio_extn/a2dp.c
index d0170db0..cade8cdb 100644
--- a/hal/audio_extn/a2dp.c
+++ b/hal/audio_extn/a2dp.c
@@ -992,6 +992,8 @@ static void open_a2dp_source() {
ALOGE("Failed to open source stream for a2dp: status %d", ret);
}
a2dp.bt_state_source = A2DP_STATE_CONNECTED;
+ if (!a2dp.adev->bt_sco_on)
+ a2dp.a2dp_source_suspended = false;
} else {
ALOGD("Called a2dp open with improper state %d", a2dp.bt_state_source);
}
@@ -1088,7 +1090,8 @@ static int close_a2dp_output()
}
a2dp.a2dp_source_started = false;
a2dp.a2dp_source_total_active_session_requests = 0;
- a2dp.a2dp_source_suspended = false;
+ if (!a2dp.adev->bt_sco_on)
+ a2dp.a2dp_source_suspended = false;
a2dp.bt_encoder_format = CODEC_TYPE_INVALID;
a2dp.enc_sampling_rate = 48000;
a2dp.enc_channels = 2;
@@ -2946,6 +2949,13 @@ int a2dp_set_parameters(struct str_parms *parms, bool *reconfig)
goto param_handled;
}
+ ret = str_parms_get_str(parms, "BT_SCO", value, sizeof(value));
+ if (ret >= 0) {
+ if (strcmp(value, AUDIO_PARAMETER_VALUE_ON) == 0) {
+ a2dp.a2dp_source_suspended = true;
+ }
+ }
+
param_handled:
ALOGV("end of a2dp setparam");
return status;
diff --git a/hal/audio_extn/soundtrigger.c b/hal/audio_extn/soundtrigger.c
index 04f22688..5d6624d0 100644
--- a/hal/audio_extn/soundtrigger.c
+++ b/hal/audio_extn/soundtrigger.c
@@ -425,7 +425,7 @@ exit:
in->is_st_session_active = false;
memset(buffer, 0, bytes);
ALOGV("%s: read failed status %d - sleep", __func__, ret);
- usleep((bytes * 1000000) / (audio_stream_in_frame_size((struct audio_stream_in *)in) *
+ usleep(((useconds_t)bytes * 1000000) / (audio_stream_in_frame_size((struct audio_stream_in *)in) *
in->config.rate));
}
return ret;