diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2021-07-29 00:22:02 -0700 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2021-07-29 00:22:02 -0700 |
commit | df6a0da2a261f8b23fca702727257b291e53d4f3 (patch) | |
tree | 8ffb802f53959b4aefd78eb72d5f711d94485a1c | |
parent | 34f2479bacbb4473c2316c73fbb522ced543f2e2 (diff) | |
parent | a540c9909548251cf6a5bd8cbe78027f7e9f1d2d (diff) |
Merge a540c9909548251cf6a5bd8cbe78027f7e9f1d2d on remote branch
Change-Id: I01622ee2912d5dc611a8854337689aeffcd11466
-rw-r--r-- | configs/sdm660/sound_trigger_platform_info.xml | 3 | ||||
-rw-r--r-- | hal/audio_extn/a2dp.c | 12 | ||||
-rw-r--r-- | hal/audio_extn/soundtrigger.c | 2 |
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; |