- update read_hdmi_sink_caps to support dynamic sample
rate, channel, and format based on HDMI EDID information
Change-Id: I69b3f19cb1d81c3e51695adae4f2379cbb439dc8
media server crash observed randomly during bootup due to
speaker protection thread started during bootup uses cached
primary_output stream to configure codec backend, but the
primary_output is not yet opened. Fix it by waiting for
valid primary_output stream before proceeding for speaker
protection calibration processing.
Change-Id: I879b336f8a7fac15cfbbf7d089bb2d19083d8827
CRs-fixed: 1001002
With CLANG enabled and -Wall & -Werror being set in
LOCAL_CFLAGS, all warnings are treated as errors.
This commit fixes all the warnings most of which are
about unused variables and functions.
Change-Id: I32c6593fa0ad6a4fdca5dc8e6c76982a146a8bc6
- If WFD framework occupies the AFE proxy, it may result unintended
behavior while starting voice call over USB.
- Audio is always routed to the USB audio device when connected,
even if WFD is connected. So no need to allow afe proxy port
usage by WFD framework.
- Disallow the afe proxy port usage by external modules when
AUDIO_DEVICE_OUT_USB_DEVICE is connected.
CRs-Fixed: 998488
Change-Id: I889be7f477ae3f7ad46757592a46f3d0e8eb41e2
If the wired headset/headphone/line devices are handled by
a different backend than speaker/earpiece devices, the combo
devices such as speaker+headphones can be split into individual
devices and enabled/disabled independently.
CRs-fixed: 989410
Change-Id: I379b56940eaf384d3cd1d9fe392b7fec65df023b
Add support to use 3 or 4 mic devices with fluence processing
for voice recognition use case.
CRs-Fixed: 866947
Change-Id: I028d9cf60e235481030bfea06ab67aa15eb7d7be
- Compress offload SSR is not working during pause state
- During SSR recovery compress session is not closed
- Force close compress session from HAL on OFFLINE event
This reverts commit c6e151114d
Change-Id: I9bf5dc3db1ba08956d14013670f396806fb7bc25
If the framework doesn't call read before standby and closes the
record session, sound trigger buffering will not be stopped and
sound trigger hal continue buffering internally. Fix this by
stopping buffering during record session close.
Change-Id: I83941610b3152f26e5ae9c449dbb8f9846b266a2
CRs-fixed: 966060
For speaker thermal calibration, backend needs to be configured
with default sample rate(48kHz). Currently backend configuration
does not reset to default value after playback finishes, results
in failure of speaker calibration. Fix this issue by resetting the
backend configuration to default primary output value before
speaker thermal calibration.
Change-Id: Id231faf7249506ef668a943b6b12c2738b504a50
Add SET and GET parameter APIs to query speaker
parameters in feedback speaker protection FTM mode.
Change-Id: I14a2b8ccc2e0d61c4ccdcadd63c353ca31b9c8ad
Sometimes rx mute is observed in voice call. Rx sound device
reference count is incrementing incorrectly causing this issue.
Reverting this commit 5c353ebc429495115361f4b53365f8bf3b1a78c8
will fix the issue.
CRs-Fixed: 979685
Change-Id: I559930457f04a0c890c60386d77153593c5e617e
As native 44.1k is only valid for headset and headphone,
force_device_switch just happens for them.
CRs-Fixed: 980341
Change-Id: I1a01e64322f64c60cf15b6d29472023ff4dfb7ac
Tx mute is observed in voice call in case of DSDS scenarios.
During device switch, when two or more voice usecases are present,
which share the same backend then the Tx device disable/enable
sequence isn't properly follwed resulting disabling of mic.
Fix this by adding proper check at disable/enable of devices
for capture usecases that share same backend.
CRs-Fixed: 979685
Change-Id: Id1cc27db8ddbbdbf1dffc02c07ce7785b184770b
Currently temperature read happens multiple times during thermal
calibration to get the equilibrium temperature. This is not
required as speaker amplifier temperature does not change over
iterations. Read the temperature only once to avoid delay in
speaker thermal calibration.
Change-Id: Ie121ea3e37697ee14e24d8ccd68c697c0220f0ab
-out_write is suppose to simulate the write to hardware
and drop the data during SSR (non compress offload usecases),
and the time taken up by out_write should be equal to time
required to render the same data.
-Current implementation ends up calling start_output_stream,
where as part of error handling out_write sleeps for 50ms.
- Hence the total time taken by out_write during SSR exceeds the
total buffer duration by almost 2 times, this results in
incorrect update of timeStamp values in the player.
-Ensure that out_write/in_read returns without starting a stream
during SSR.
-During SSR, return correct number of frames written to HAL
in case of non compress offload sessions.
Change-Id: Ib0d59b91af053da70a2eb844841d10b39c74bf18
CRs-Fixed: 968276
Add support to dynamically configure MI2S rx sample rate to
support sampling rates upto 192KHZ on head phones for internal
codec. Add and set explicit mixer control to notify the sample
rate value to machine driver.
CRs-Fixed: 970158
Change-Id: Ib7968eaf9aeb5f9911f3c985af61a16a7e06744d
-when ring tones are dismissed during true mode native playback
check_hdset_combo_device() is picking up stale combo device instead
of new incoming device.
Change-Id: Icfb3099dc917cf56a0b3c1beb282eb45265f15c0
CRs-Fixed: 963216
Feedback speaker protection(FBSP) is supported in WSA
analog mode. Add the required changes to support this
feature on 8937/8953 internal codec platforms.
CRs-Fixed: 970156
Change-Id: I1e5f6c1408ba6eb1c216cf8b254ac29551837dbb
No audio is observed in voice call -> voip -> voice call scenario
since voice usecase is incorrectly stopped when audio mode
MODE_IN_COMMUNICATION is set. This results in not setting the voice
usecase if when the usecase transitions from voip -> voice.
Fix by removing check for MODE_IN_COMMUNICATION in adev_set_mode().
Also update the check for selecting voice devices in select_devices()
to ensure that voice devices are still selected in
voice call -> voip -> voice call scenario.
CRs-Fixed: 966076
Change-Id: I3566705f745247075d6f12b625fcf929970ff507
AANC handset device doesnt get enabled if anc is enabled via
setparameters() during a voice call. Add check for EARPIECE
device to enable aanc handset device for all non-capture
usecases.
CRs-Fixed: 958813
Change-Id: I4d8d4026d3abb388c4b1ea2c8de328a61d9bbd81