- Video frame drops are observed on RTSP streaming
for low sampling rate clips
- For PCM offload audio track uses server proxy position
value to caluclate render position.
Due to high minimum fragment size value of PCM offload,
low sampling rate clips are using bigger audio buffer
than desired 20ms PCM offload buffer. This results
improper audio render position return to Nuplayer,
which leads to video frame drops
- Reduce minimum fragement size for PCM offload from 4k
to 512
Change-Id: I661f1ffe7cfd41edead82d06063802a3ad7b9b66
Voice call setup latency value is exceeding 500 msec. It is due to
primary output selecting handset instead of voice handset causing
the extra delay. Fix this by selecting voice handset when the mode
is set to MODE_IN_CALL.
CRs-Fixed: 855783
Change-Id: Ibfaee75d658bffbcf2e9cdeaa589e0487c214b41
Sometimes no RTP packets transferred in VoLTE call on headset.
Voice call path setup is failed due to no backends enabled.
This happens when routing is triggered on combo device for
primary output and mode is MODE_IN_CALL at that time.
Fix this issue by selecting proper device based on in call
information.
CRs-Fixed: 859796
Change-Id: I9a5a6b9296d168e9292b94fda147491ee35c0edd
- add new effect module to listen to volume and device change
- based on volume levels of all streams active over speaker
compute gain based calibration level and communicate
with audio HAL to send the same to ACDB loader
Change-Id: I27294dee3b757a3e7999a62f4f538b59d91c2e58
When sidetone is enabled during voice call, the RX and TX path mixer
controls are issued back to back, this causes the codec path to be
enabled from TX to RX as the internal loopback for sidetone exists. Due
to enabling this path, pop noise is observed on headphones. This issue
is fixed by treating sidetone as special case and changing the enable
and disable sequence of sidetone mixer controls.
CRs-fixed: 839663
Change-Id: I7aea55af963cf939286e5b349ff25fd783314679
Usecase id of PCM_CALIB_TX is overriden by AUDIO_RECORD
in audio_extn_spkr_prot_start_processing to reset calibration
to handset Mic.
audio_extn_spkr_prot_stop_processing API looks for usecase
PCM_CALIB_TX to delete the node from usecase list,
fails to find as usecase id is overriden and this node
remains in usecase list.
So when the initial calibration is happening, usecase list
empty check condition is failing and returns.
Avoid override usecase id to allow delete of list node
in stop_audio_processing API.
CRs-Fixed: 843262
Change-Id: I12c901efba39dad771d6df9c2332becd8ee9f1d8
- all changes for native audio backward
compatibility and related
- add set parameters from UI
- enable dynamic device switching
- featurize the code
- various backend concurrency changes
Change-Id: Id0f824c4b4c033f42008a4e8868652c8f6fe5c42
- Random crashes are observed during SSR while playing
compress session
- To identify active compress usecases during SSR,list_for_each()
is being used for traversing.
Once compress session is identiifed as part of loop, list_remove()
(called from out_standby) is used to remove compress usecase.
list_for_each() uses this removed node to traverse next node which
result in-valid memory access as node is already removed.
- Instead of list_for_each(), use list_for_each_safe() which will make
sure next node is updated before removing compress usecase.
Change-Id: I58c331caca4123651139685bb6c1eb20588a8097
- Pop noise is heard when hpx is turned on/off
- Pop is heard as post mix commands are getting processed prior to premix
commands in DSP due to delay of modules between premix and postmix
- Fix is to introduce fade_in after premix is on.
CRs-Fixed: 844010
Change-Id: Ibeb7ece5f8799c5119b2677e18da32df090b5ae1
Pcm ids for secondary offload sessions are not mapped
properly for 8916 platform.
Use audio_platform_info.xml to update pcm ids.
Use separate xml file, audio_platform_info_extcodec.xml
for external codec since it's pcm ids are different.
CRs-Fixed: 842795
Change-Id: Id34e639b2c169e95f17400bc3141206dfc6ad0b9
- currently buffer size is Aligned with 96 which is not multiple
of some channels(5,7).
- Buffer size must be multiple of (number of channels * bytes per sample).
For writes to succeed, the buffer must be written at address which is
multiple of 32.
- Alignments of (number of channels * bytes per sample)*32 satisfies both
of the above requirements.
Change-Id: I20de875615141a4a331383a5348abd28b97306f7
- Changes for device/Usecase selection
- Add new and combo devices for headphones
- Combo device handling
- Add new backend and logic to handle multiple
backends
- Remove hardcoded mixers and select them
dynamically based on the device
Change-Id: I7207291f2c27da13ba0cc77c66de1144f4b9888a
- Set ddp endpoint params for Dolby decoder
- Rename DOLBY_DAP macro. Legacy DS1 functions
using mixer controls get enabled when dolby
buildspec enables DOLBY_DAP macro. Avoid this
by renaming the macro.
Change-Id: I66c7d1896f4260754551f03852fa8c140abf0e53
Send ALAC and APE specific data to DSP as part of the metadata
to support playback of ALAC and APE clips in offload mode.
Force vorbis offload run in transcoded bit stream mode.
Also move parsing of WMA and FLAC metadata to audio_extn.c
from audio_hw.c.
Change-Id: Ideccadff93d4c06e649cd535b8870e45ba26eaea
SLIMBUS_0 is the backend on 8952 external codec PLs.
Whereas TERT_MI2S is the backend on 8952 internal codec PLs.
Since both these PLs are supported on same code base,
provision is required to select backend based on codec type.
Change-Id: I9c0dd7d952ab9d6b9bf738074d97597622e09590
- SA plus topology is enabled for TX path
due to improper apptype selection
- ACDB module always return default app type
of Rx path for all use cases
- Over ride app type to Tx path if selected
app type is equal to default Rx path
- This is temp fix,need ACDB API to get different
default app types for Tx & Rx paths
Change-Id: I92050c13b21cc44c91e0cef8e5c1cc0b28519432
In platform_send_audio_calibration, 2nd parameter needs to
be usecase pointer, but enum value is sent causing mediaserver
crash. Update the API to pass correct parameter.
Change-Id: I8d699764be18be926e68ba73ee8df5510f81d9e6
For pcm voip use case which goes with direct output, render
position can be queried from HAL, while currently it is not
supported and always return with invalid status.
Return with written frames for pcm use cases when render
position queried from HAL.
CRs-Fixed: 828864
Change-Id: I5fec7f5fc1f61dc36cbeb41a4121c2c83f63b7f4
Re-apply missing mutex and condition var initialization
code from I7018f38f29a19b130185b285f4acf22219e4228c.
Change-Id: If1d6b3d4f65c30154d3d6c9e0192a1ce72c0d495
CRs-Fixed: 587676
Add support to set and get AudioSphere parameters.
AudioSphere post processing is supported on stereo
speakers to add virtualization effect to audio
playback.
Change-Id: I85c5ce44b109cb51fce19df0f438ecf6a6d7661e