diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2022-07-07 23:53:29 -0700 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2022-07-07 23:53:29 -0700 |
commit | 534befa3c376d5129c12c9300079b1d96a83d855 (patch) | |
tree | 1f88a713d44169682bbb3c1ab3e2dad70a45b5ea | |
parent | ec4dd9757fad0815f5929a96d14c1eff0736c152 (diff) | |
parent | f8d36c666ba867001ed409e3469470c4a4619091 (diff) |
Merge f8d36c666ba867001ed409e3469470c4a4619091 on remote branch
Change-Id: If864ecba28803a399cea565b5e71e8531bd31685
-rw-r--r-- | configs/parrot/mixer_paths_parrot_qrd.xml | 62 | ||||
-rw-r--r-- | configs/parrot/mixer_paths_parrot_qrd_sku1.xml | 50 | ||||
-rw-r--r-- | hal/AudioDevice.cpp | 6 | ||||
-rw-r--r-- | hal/AudioStream.cpp | 15 | ||||
-rw-r--r-- | hal/AudioStream.h | 1 |
5 files changed, 53 insertions, 81 deletions
diff --git a/configs/parrot/mixer_paths_parrot_qrd.xml b/configs/parrot/mixer_paths_parrot_qrd.xml index 967b6489..7b634a4e 100644 --- a/configs/parrot/mixer_paths_parrot_qrd.xml +++ b/configs/parrot/mixer_paths_parrot_qrd.xml @@ -470,11 +470,11 @@ </path> <path name="speaker-mic"> - <path name="amic1" /> + <path name="amic5" /> </path> <path name="speaker-mic-liquid"> - <path name="amic1" /> + <path name="amic5" /> </path> <path name="speaker-mic-sbc"> @@ -736,15 +736,15 @@ </path> <path name="va-mic-mono"> - <ctl name="VA_AIF1_CAP Mixer DEC0" value="1" /> - <ctl name="VA DEC0 MUX" value="SWR_MIC" /> - <ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR" /> - <ctl name="TX2 MODE" value="ADC_LP" /> - <ctl name="ADC3 MUX" value="INP4" /> - <ctl name="VA SMIC MUX0" value="SWR_MIC8" /> - <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1" /> - <ctl name="ADC3_MIXER Switch" value="1" /> - <ctl name="VA_AMIC4_MIXER Switch" value="1" /> + <ctl name="VA_AIF1_CAP Mixer DEC2" value="1" /> + <ctl name="VA DEC2 MUX" value="SWR_MIC" /> + <ctl name="VA_DEC2 MODE" value="ADC_LOW_PWR" /> + <ctl name="TX1 MODE" value="ADC_LP" /> + <ctl name="ADC2 MUX" value="INP3" /> + <ctl name="VA SMIC MUX2" value="SWR_MIC5" /> + <ctl name="ADC2 ChMap" value="SWRM_TX2_CH2" /> + <ctl name="ADC2_MIXER Switch" value="1" /> + <ctl name="VA_AMIC3_MIXER Switch" value="1" /> </path> <path name="va-mic-dmic"> @@ -756,16 +756,15 @@ <ctl name="VA_DEC1 MODE" value="ADC_LOW_PWR" /> <ctl name="TX2 MODE" value="ADC_LP" /> <ctl name="TX1 MODE" value="ADC_LP" /> - <ctl name="ADC3 MUX" value="INP4" /> <ctl name="ADC2 MUX" value="INP3" /> - <ctl name="VA SMIC MUX0" value="SWR_MIC8" /> - <ctl name="VA SMIC MUX1" value="SWR_MIC5" /> - <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1" /> + <ctl name="VA SMIC MUX0" value="SWR_MIC5" /> + <ctl name="VA SMIC MUX1" value="SWR_MIC4" /> <ctl name="ADC2 ChMap" value="SWRM_TX2_CH2" /> - <ctl name="ADC3_MIXER Switch" value="1" /> + <ctl name="ADC1 ChMap" value="SWRM_TX2_CH1" /> <ctl name="ADC2_MIXER Switch" value="1" /> - <ctl name="VA_AMIC4_MIXER Switch" value="1" /> + <ctl name="ADC1_MIXER Switch" value="1" /> <ctl name="VA_AMIC3_MIXER Switch" value="1" /> + <ctl name="VA_AMIC1_MIXER Switch" value="1" /> </path> <path name="va-mic-tmic"> @@ -778,24 +777,24 @@ <ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR" /> <ctl name="VA_DEC1 MODE" value="ADC_LOW_PWR" /> <ctl name="VA_DEC2 MODE" value="ADC_LOW_PWR" /> - <ctl name="VA SMIC MUX0" value="SWR_MIC4" /> + <ctl name="VA SMIC MUX0" value="SWR_MIC5" /> <ctl name="VA SMIC MUX1" value="SWR_MIC8" /> - <ctl name="VA SMIC MUX2" value="SWR_MIC5" /> + <ctl name="VA SMIC MUX2" value="SWR_MIC4" /> <ctl name="TX0 MODE" value="ADC_LP" /> <ctl name="TX1 MODE" value="ADC_LP" /> <ctl name="TX2 MODE" value="ADC_LP" /> <ctl name="ADC2_BCS Disable" value="1" /> <ctl name="ADC2 MUX" value="INP3" /> - <ctl name="ADC3 MUX" value="INP4" /> + <ctl name="ADC4 MUX" value="INP5" /> <ctl name="ADC1 ChMap" value="SWRM_TX2_CH1" /> <ctl name="ADC2 ChMap" value="SWRM_TX2_CH2" /> - <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1" /> + <ctl name="ADC4 ChMap" value="SWRM_TX3_CH1" /> <ctl name="ADC1_MIXER Switch" value="1" /> <ctl name="ADC2_MIXER Switch" value="1" /> - <ctl name="ADC3_MIXER Switch" value="1" /> + <ctl name="ADC4_MIXER Switch" value="1" /> <ctl name="VA_AMIC1_MIXER Switch" value="1" /> <ctl name="VA_AMIC3_MIXER Switch" value="1" /> - <ctl name="VA_AMIC4_MIXER Switch" value="1" /> + <ctl name="VA_AMIC5_MIXER Switch" value="1" /> </path> <path name="va-mic"> @@ -958,22 +957,7 @@ </path> <path name="speaker-dmic-broadside"> - <ctl name="TX_AIF1_CAP Mixer DEC1" value="1" /> - <ctl name="TX_AIF1_CAP Mixer DEC2" value="1" /> - <ctl name="TX DEC1 MUX" value="SWR_MIC" /> - <ctl name="TX DEC2 MUX" value="SWR_MIC" /> - <ctl name="TX SMIC MUX1" value="SWR_MIC8" /> - <ctl name="TX SMIC MUX2" value="SWR_MIC4" /> - <ctl name="ADC3 MUX" value="INP4" /> - <ctl name="HDR34 MUX" value="NO_HDR34" /> - <ctl name="TX2 MODE" value="ADC_LP" /> - <ctl name="TX0 MODE" value="ADC_LP" /> - <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1" /> - <ctl name="ADC1 ChMap" value="SWRM_TX2_CH1" /> - <ctl name="ADC3_MIXER Switch" value="1" /> - <ctl name="ADC1_MIXER Switch" value="1" /> - <ctl name="AMIC4_MIXER Switch" value="1" /> - <ctl name="AMIC1_MIXER Switch" value="1" /> + <path name="speaker-dmic-endfire" /> </path> <path name="dmic-broadside"> diff --git a/configs/parrot/mixer_paths_parrot_qrd_sku1.xml b/configs/parrot/mixer_paths_parrot_qrd_sku1.xml index f65ac42b..3ad3707a 100644 --- a/configs/parrot/mixer_paths_parrot_qrd_sku1.xml +++ b/configs/parrot/mixer_paths_parrot_qrd_sku1.xml @@ -473,11 +473,11 @@ </path> <path name="speaker-mic"> - <path name="amic1" /> + <path name="amic5" /> </path> <path name="speaker-mic-liquid"> - <path name="amic1" /> + <path name="amic5" /> </path> <path name="speaker-mic-sbc"> @@ -739,15 +739,15 @@ </path> <path name="va-mic-mono"> - <ctl name="VA_AIF1_CAP Mixer DEC0" value="1" /> - <ctl name="VA DEC0 MUX" value="SWR_MIC" /> - <ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR" /> - <ctl name="TX2 MODE" value="ADC_LP" /> - <ctl name="ADC3 MUX" value="INP4" /> - <ctl name="VA SMIC MUX0" value="SWR_MIC8" /> - <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1" /> - <ctl name="ADC3_MIXER Switch" value="1" /> - <ctl name="VA_AMIC4_MIXER Switch" value="1" /> + <ctl name="VA_AIF1_CAP Mixer DEC2" value="1" /> + <ctl name="VA DEC2 MUX" value="SWR_MIC" /> + <ctl name="VA_DEC2 MODE" value="ADC_LOW_PWR" /> + <ctl name="TX1 MODE" value="ADC_LP" /> + <ctl name="ADC2 MUX" value="INP3" /> + <ctl name="VA SMIC MUX2" value="SWR_MIC5" /> + <ctl name="ADC2 ChMap" value="SWRM_TX2_CH2" /> + <ctl name="ADC2_MIXER Switch" value="1" /> + <ctl name="VA_AMIC3_MIXER Switch" value="1" /> </path> <path name="va-mic-dmic"> @@ -759,16 +759,15 @@ <ctl name="VA_DEC1 MODE" value="ADC_LOW_PWR" /> <ctl name="TX2 MODE" value="ADC_LP" /> <ctl name="TX1 MODE" value="ADC_LP" /> - <ctl name="ADC3 MUX" value="INP4" /> <ctl name="ADC2 MUX" value="INP3" /> - <ctl name="VA SMIC MUX0" value="SWR_MIC8" /> - <ctl name="VA SMIC MUX1" value="SWR_MIC5" /> - <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1" /> + <ctl name="VA SMIC MUX0" value="SWR_MIC5" /> + <ctl name="VA SMIC MUX1" value="SWR_MIC4" /> <ctl name="ADC2 ChMap" value="SWRM_TX2_CH2" /> - <ctl name="ADC3_MIXER Switch" value="1" /> + <ctl name="ADC1 ChMap" value="SWRM_TX2_CH1" /> <ctl name="ADC2_MIXER Switch" value="1" /> - <ctl name="VA_AMIC4_MIXER Switch" value="1" /> + <ctl name="ADC1_MIXER Switch" value="1" /> <ctl name="VA_AMIC3_MIXER Switch" value="1" /> + <ctl name="VA_AMIC1_MIXER Switch" value="1" /> </path> <path name="va-mic-tmic"> @@ -961,22 +960,7 @@ </path> <path name="speaker-dmic-broadside"> - <ctl name="TX_AIF1_CAP Mixer DEC1" value="1" /> - <ctl name="TX_AIF1_CAP Mixer DEC2" value="1" /> - <ctl name="TX DEC1 MUX" value="SWR_MIC" /> - <ctl name="TX DEC2 MUX" value="SWR_MIC" /> - <ctl name="TX SMIC MUX1" value="SWR_MIC8" /> - <ctl name="TX SMIC MUX2" value="SWR_MIC4" /> - <ctl name="ADC3 MUX" value="INP4" /> - <ctl name="HDR34 MUX" value="NO_HDR34" /> - <ctl name="TX2 MODE" value="ADC_LP" /> - <ctl name="TX0 MODE" value="ADC_LP" /> - <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1" /> - <ctl name="ADC1 ChMap" value="SWRM_TX2_CH1" /> - <ctl name="ADC3_MIXER Switch" value="1" /> - <ctl name="ADC1_MIXER Switch" value="1" /> - <ctl name="AMIC4_MIXER Switch" value="1" /> - <ctl name="AMIC1_MIXER Switch" value="1" /> + <path name="speaker-dmic-endfire" /> </path> <path name="dmic-broadside"> diff --git a/hal/AudioDevice.cpp b/hal/AudioDevice.cpp index bd7afbd2..84a62a36 100644 --- a/hal/AudioDevice.cpp +++ b/hal/AudioDevice.cpp @@ -1458,6 +1458,8 @@ int AudioDevice::SetParameters(const char *kvpairs) { if ((dynamic_media_config.sample_rate == 0 && dynamic_media_config.format == 0 && dynamic_media_config.mask == 0) || (dynamic_media_config.jack_status == false)) usb_input_dev_enabled = false; + else + usb_input_dev_enabled = true; free(device_cap_query); } else { AHAL_ERR("Failed to allocate mem for device_cap_query"); @@ -1871,9 +1873,11 @@ int AudioDevice::SetParameters(const char *kvpairs) { sizeof(pal_param_bta2dp_t)); } - str_parms_destroy(parms); exit: + if (parms) + str_parms_destroy(parms); + AHAL_DBG("exit: %s", kvpairs); return 0; } diff --git a/hal/AudioStream.cpp b/hal/AudioStream.cpp index c10b5bf5..e1ac2bf9 100644 --- a/hal/AudioStream.cpp +++ b/hal/AudioStream.cpp @@ -706,6 +706,7 @@ static int astream_out_get_presentation_position( if (astream_out) { switch (astream_out->GetPalStreamType(astream_out->flags_)) { case PAL_STREAM_COMPRESSED: + case PAL_STREAM_PCM_OFFLOAD: ret = astream_out->GetFrames(frames); if (ret != 0) { AHAL_ERR("GetTimestamp failed %d", ret); @@ -744,6 +745,7 @@ static int out_get_render_position(const struct audio_stream_out *stream, if (astream_out) { switch (astream_out->GetPalStreamType(astream_out->flags_)) { case PAL_STREAM_COMPRESSED: + case PAL_STREAM_PCM_OFFLOAD: ret = astream_out->GetFrames(&frames); if (ret != 0) { AHAL_ERR("Get DSP Frames failed %d", ret); @@ -751,15 +753,10 @@ static int out_get_render_position(const struct audio_stream_out *stream, } *dsp_frames = (uint32_t) frames; break; - case PAL_STREAM_PCM_OFFLOAD: case PAL_STREAM_LOW_LATENCY: case PAL_STREAM_DEEP_BUFFER: - ret = astream_out->GetFramesWritten(NULL); - if (ret < 0) { - AHAL_ERR("Get DSP Frames failed %d", ret); - return ret; - } - *dsp_frames = ret; + frames = astream_out->GetFramesWritten(NULL); + *dsp_frames = (uint32_t) frames; break; default: break; @@ -1937,6 +1934,8 @@ int StreamOutPrimary::Standby() { AHAL_DBG("Enter"); stream_mutex_.lock(); if (pal_stream_handle_) { + if (streamAttributes_.type == PAL_STREAM_PCM_OFFLOAD) + GetFrames(&mCachedPosition); ret = pal_stream_stop(pal_stream_handle_); if (ret) { AHAL_ERR("failed to stop stream."); @@ -2832,7 +2831,7 @@ int StreamOutPrimary::GetFrames(uint64_t *frames) dsp_frames = (dsp_frames > offset) ? (dsp_frames - offset) : 0; } } - *frames = dsp_frames; + *frames = dsp_frames + mCachedPosition; exit: return ret; } diff --git a/hal/AudioStream.h b/hal/AudioStream.h index 07e179f9..d3e8b103 100644 --- a/hal/AudioStream.h +++ b/hal/AudioStream.h @@ -536,6 +536,7 @@ protected: uint16_t mchannels; std::shared_ptr<audio_stream_out> stream_; uint64_t mBytesWritten; /* total bytes written, not cleared when entering standby */ + uint64_t mCachedPosition = 0; /* cache pcm offload position when entering standby */ offload_effects_start_output fnp_offload_effect_start_output_ = nullptr; offload_effects_stop_output fnp_offload_effect_stop_output_ = nullptr; visualizer_hal_start_output fnp_visualizer_start_output_ = nullptr; |