- Alac, ape playback is not working during voice call
- DSP only decoders are not supported during voice call
due to MIPS limitation
- Remove alac, ape codecs from DSP only decoder list
as software OMX decoders are available
CRs-Fixed: 967679
Change-Id: I6df10e0033ebbe46f339fb934ca6c2df3622c901
Propagate sampling rate to platform_get_output_snd_device to
properly detect 44.1 kHz usecases. Also remove usage of
audio_devices_t in platform_set_echo reference as it does not
contain the sampling rate necessary for
platform_get_output_snd_device. Check device ref counts instead.
CRs-Fixed: 955740
Change-Id: Iaeb53fb362852416603cd57ba15da37b30973c0f
During an active multichannel WFD session, YouTube
streaming stutters and audio is not routed to headset
when it is plugged in at the source or to the speaker
when the session is paused at the sink.
Multichannel playback usecase gets selected for YouTube
streaming when it is started during a WFD session. When
a headset is plugged in or the session is paused from the sink,
as there are no default mixer controls for multi-channel-playback,
there is an error when they are set.
Fix the issue by not selecting multi-channel-playback usecase
if DIRECT_PCM flag is present when the output is opened. This
ensures that compress-offload-playback2 usecase gets selected
and as there are valid mixer controls for speaker and headset for
this usecase, audio routes to the appropriate device as expected
when there is a device switch.
CRs-Fixed: 961105
Change-Id: I0bb638a4ac3f219d0a161dbfccb3aa540910dfc2
Add parameter to handle mute options, this is required to
control fm mute in device loopback mode without affecting
other music streams.
CRs-Fixed: 963849
Change-Id: I1729d0bd3cff40670444a8806a05c7304d4ca6aa
- Ensure that the audio device's active input is valid before
attempting to access the input source.
CRs-Fixed: 959009
Change-Id: If66cc1e3d5467bf7d03137fdbbffd724a57ecaf6
When AANC and fluence are both enabled, HAL select AANC based device
where fluence is disabled. Check for both AANC and Fluence flag and
select AANC and fluence enabled device.
Change-Id: Idb1ad2c9678144a955b8b2ce3506e02d00459b54
Closing of hardware dependent node immediately after sending the cal.
is causing issues as the driver release function being called inturn
resetting all the cal_bits. To fix this, close hardware dependent
node at platform deinit.
CRs-Fixed: 959131
Change-Id: If18e352971e92e82f4b67178924675a4a39c8460
- Audio loss is observed if anc feature is turned on/off dynamically
during an 44.1 native playback session.
- Since 44.1 playback is not supported when anc is on, handle 44.1
sessions before applying anc configuration.
Change-Id: I7239dae8529fa4f960ace6acd2fcb668510abe66
voice use case is still active when mode switched from MODE_IN_CALL
to MODE_IN_COMMUNICATION, while the output used for driving call is
NULL.
This could possibly makes segment fault in mediaserver when call
is activated before the output updated to valid value.
Change-Id: I070dd5e7a1c6d2883ea611588737b1f5c577b275
CRs-Fixed: 953010
During speaker thermal calibration, read speaker temperature
5 times with one second sleep time with adev lock acquired.
If any playback starts during that time, it will wait for
adev lock till temperature reading is done. Unblock the
playback thread by release the adev lock during sleep.
Change-Id: I383248d9a701a98c776ca019b628adc22a145e60
Remove unnecessary speaker thermal zone name check in
set parameters. This is required to provide the flexibility
of swapping left and right speakers.
Change-Id: Id88aad98c392fe08744cd3380fe2b1d9d2affeb7
- Modify sysfs node to allow audio hal to acknowledge
every HDMI connect/disconnect event.
- This makes audio hal and HDMI driver to be in sync
with respect to notifications and avoid any fast
plug-in/out notification issues.
Change-Id: I6aead358967c3e978f4f599de66c9884b28bf7e9
This reverts commit 306e607d1c and
added the functionality to support for single session voice call
usecases. PCM device id's for these usecases are updated in
audio_platform_info xml files.
Change-Id: I6229fecaeffe3158a1a22f5f6d98be1e3e997b48
Use key value pair config parameters to set wsa881x temperature
zone sensor names in speaker protection module for getting
corresponding temperature zone handles.
Change-Id: I90d52a015c4cfc3937605d821cbc574ab0c2a75e
-In case of record usecase, out stream is not initialized,
if still accessed might result in illegal memory access
leading to heap corruption.
-Ensure access to out stream only in case of playback usecase.
-Add check to send correct app type in case of feedback speaker
potection. refer change:I033034cad6eb1886e2afa7a6875d18c3391b46c1
Change-Id: Ia70a8d69beb3ce1cb6c742977bd4ec23df3b0b77
- add changes to support single BE mode on top of the
Double BE mode which is supported.
- support reading of version or mode from XML.
- add logic to switch between single and double BE
based on the mode in XML.
- define a new device for true native.
- add logic to read tasha codec version and allow
true native only for 2.0 version of codec
- enchance log msgs for better debugging.
Change-Id: I970487f16af32144ec26f967e8bfcb32d44d67a4
The current logic for identifying the track offload
session is using strlcat in wrong way, third parameter
is given the string length to be appended, but in fact
it should be the size of the destination buffer.
Due to this the string returned is missing the last
character, in case of "true", it contains "tru" due this
the session is not considered as a track offload by the
calling module. To fix this use sizeof of the destination
buffer instead of string length of string to be appended.
Change-Id: I3d456aad2ca49095a0dfe5883f4374e22a437256
CRs-Fixed: 946670
- Update bear family platform to extend 44.1 Native audio playback
support on all msm variants having tasha and tashalite codec.
Change-Id: Ibfd1680f875c47254679a291ab54a3af6c54578c
- Remove legacy 4 mic surround sound record support
- Add device specific check for SSR initialization
- Remove SSR lib deinit during standby to support
sub system restart for surround sound record usecase
Change-Id: I1ead34e4b3acaa5e309e11dfa2c7ba4cbd374e3a
-Correct app type is not selected for AAC ADTS formats
as the entry for the same is missing in the reference
format table.
-Update the table with AAC ADTS formats which are offloaded.
Change-Id: Ifa2cedfd07d1120430aacb13350618d4a795e1df
Use key value pair config parameters to set wsa881x temperature
zone sensor names in speaker protection module for getting
corresponding temperature zone handles.
Change-Id: I68561866d7c79a05ea81c331bc2fb3a36a63fb6f
- setPhoneState checks call-state in audio hal to filter out
unworthy usage of this API.
- With M upgrade, change to update call-state with audio hal is
removed, instead permission checks are introduced to prevent
random usage of such APIs. But setPhoneState is still checking
for this call-state causing improper concurrency handling.
- Fix the issue by removing state check from setPhoneState.
- Remove set and get for parameter "in_call" from voice_extn.
Change-Id: I92fe10c617d6158976a0e07eed3275acb0aadd15
-Issue: Two sessions with fluence topology are created
in case of voice call + incall voice recording.
-Rootcause: To avoid fluence topology for incall
recording usecase when voice call is active, default
input device's audio calibration was used earlier.
But while re-organizing audio_extn_utils_send_audio_calibration()
incall recording usecase is not considered.
-Fix: Send default input device's audio calibration
for incall recording usecases
Change-Id: I0d3734be3c793d350b1c73d8f8fc4380bf06fe30
Fix condition for offload small buffer use by masking format with
AUDIO_FORMAT_MAIN_MASK before comparing with AUDIO_FORMAT_PCM_OFFLOAD
Change-Id: Ia81fdc6061fbbf8c203bdfb3074730c6436fdf73
CRs-Fixed: 938198
Support getparameter to retrieve if a
particular output is associated with a track
offloaded session
Change-Id: Ibcc986514f802e59c514fdaa8b2d7f53841047a2
CRs-Fixed: 933740
- Add support for AUDIO_DEVICE_OUT_LINE device.
Treat it same as Wired Headphone device w.r.t.
routing and acdb device.
If the acdb or backend is different it can be
updated using audio_platform_info.xml.
- Increase deep buffer period size to 40ms and
with peroid count as 2
Change-Id: Ic0821a4f22f99d44e98c2bd48179edcaa2c9247e
- Update FM device references to match latest
definitions to fix compilation of FM extention.
- Update FM feature flag for power optimization.
Change-Id: I17a9e240e552c4089d3e9c7a25e437fb5b5433f9
-Configuring copp and backend at 48Khz for multichannel
clips > 48khz
-This is to address ADSP MIPS concern for playback of multichannel
clip with sample rate > 48khz with pp (SA+ or SA+_HPX)
Change-Id: Ic010ce212011519e729601d067f8ddb6737c6b28
- Update FM device references to match latest
definitions to fix compilation of FM extention.
- Update FM feature flag for power optimization.
Change-Id: I17a9e240e552c4089d3e9c7a25e437fb5b5433f9
- Expose compress offload related functions only when
AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD is set.
- Do not use them for direct PCM format to avoid unnecessary
calls to compress driver.
CRs-Fixed: 913925
Change-Id: I8f93b1c697794e686d19c6c78823a095333b5369
When check_usecases_codec_backend switches the device for all
usecases that share same codec backend, only out_snd_device
is set for that usecase but devices is still having the
old device. Wrong end point is passed to Dolby DS2 driver due
to this reason
Fix is to update the endpoint even when if routing is already done
for this usecase.
Change-Id: Ib2dd85a636bf840a22ea7116c5f84889d4218423
Minor pop is observed when FM playback is stopped, this is due to
derouting of loopback devices while they still have audible data.
This is causing pops even when FM is stopped after playback, but
this pop is more perceivable in case of interruption by voice call.
Fix the issue by draining unmuted data before derouting FM playback.
Change-Id: If92e43f3a15f0a9cfdf2819827c7f7a0ba852e3d
Add support for AUDIO_DEVICE_OUT_LINE device. Treat it same
as Wired Headphone device w.r.t. routing and acdb device.
If the acdb or backend is different it can be updated using
audio_platform_info.xml.
Change-Id: I203f38b1629a837478da1ae304a67bb016b06fa7
CRs-Fixed: 929500
Sometimes the mode of HAL may be not in AUDIO_MODE_NORMAL while
active call stopped, then it will return with incorrect call state
to APM.
Update the state to false regardless of the HAL mode when active
call stopped.
Change-Id: I8b1c356f65ec273802cda282b1500a3859e837ce
CRs-Fixed: 899756
- Add support for multiple offload playback.
- Do not check for reuse of current offload playback
session if multiple offload feature is enabled.
- Remove multiple offload feature flag to enable
compilation by default.
Change-Id: I91a8797ec5e260975ffd022d56bca01bc832da80
To avoid tight loop during initial calibration, suspend
the calibration thread for 30sec and then wakeup to see
if minimum idle time is met.
Change-Id: Ic81597f404902954ac2585a6706542e1a32971d4
Ensure the pointer is valid before freeing to avoid
crash when a valid sound card is not found.
Change-Id: I2a2681935797e059b925c9f70f352aa603a41d9c
CRs-Fixed: 924286
- Add support for direct pcm output
- Add support for direct pcm in hal
if output flag is direct_pcm choose compress offload path
- Add support for direct pcm in custom audio policy manager
force add direct flag when we detect pcm track in music and
game use case
Change-Id: Ie69c988ef9cd0477efa77611ceddccdd6b17a163
Return any errors from pcm_prepare in start input
or output streams and ensure the pcm device is closed.
CRs-Fixed: 914347
Change-Id: I168cad151ed3fa0d0d3281ec7aceb99ef58bc753
- remove direct pcm offload usecase
- incase of direct pcm add support for one extra offload usecase
Change-Id: I75f68a8e85c8685091928c09df211e9d7939f342
Some of the parameters passed to functions in older platforms
are not used anymore, though we maintain the platform code for
backward compatibility.
Mark the unused parameter explicitely as __unused.
Change-Id: I814f5f233590ecfd3e79bf58b97ad6d37be74601