[EGD-5737] Merge master into experimental Keep experimental up to date with changes from master
[EGD-5086] Change audio device switching logic Upon hardware change event, audio profile had been switched multiple times forcing redundant initializations of all related objects. Logic has been optimized and prepared for further refactor. Now upon hardware event objects are initialized exactly once.
[EGD-5061] Fix lack of audio during call Audio might have not work if audio streams were reused. This was fixed by introducing proper cleaning procedures.
[EGD-4978] Add Bluetooth virtual audio device Bluetooth audio device requires different handling than other audio devices. The commit adds proxy device that does not handle requests itself but instead sends requests too Bluetooth service.
[EGD-5009] Change messy callback logic in audio module Refactor audio module to use only one callback for communication with audio service. This also simplifies the logic and removes necessity to define defaults for audio values in multiple places.
[EGD-4534] Change audio data path synchronization Refactor audio data path to fix several synchronization issues and excessive copy operations on large memory blocks. Introduce audio::Stream data structure to allow connecting audio source and sink with a zero-copy capability. Introduce system mechanisms: - critical section guard lock needed for stream synchronization - non-cacheable memory allocator to allocate memory for DMA safe buffers Update the Googletest CMake template to match the capabilities of the Catch2 template. Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com> Signed-off-by: Hubert Chrzaniuk <hubert.chrzaniuk@mudita.com>
[EGD-3510] audio codec configuration for headset microphone (#1004) [EGD-3510] Audio stereo outputs fixed. Microphone bias handling for headset. Headset microphone gain adjusted.
[EGD-4378] Fix audio bugs (#1003) * fix - call ear-speaker does not work * fix - BT sink state is not stored
[EGD-4357] Improve error handling in audio (#990) - error code can be now returned also during initialization - fixed crash when user requested to playback file that does not exist
[EGD-4301] Bluetooth Audio profile support (#984) - implemented audio sink/source switching - reorganized / renamed sound events - moved SetBluetoothStreamData and AudioDevice instance to base Operation class - added audio profiles RecordingBluetoothHSP, RoutingBluetoothHSP - removed unused audio Profiles - removed redundant OutputPath and InputPath classes from CodecParamsMAX98090
[EGD-4004] audio: fix routing synchronization (#880) Protect copying to buffers with mutex locks. Fix C style copying. Add sanity checks to detect synchronization issues when routing.
[EGD-4099] BT set stream (#846)
[EGD-3743] Update copyrights in fies
[EGD-4023] Vibration - get values from DB (#807)
[EGD-4054] Audio API for setting stream parameters (#826)
[EGD-4002] audio: remove phone call recording (#794) There is no requirement for this functionality and it complicates the audio subsystem. Fix includes and cleanup minor flaws in the process of this change.
[EGD-3841] Add audio vibration and enable sound option
[EDG-3870] Fix audio looping (#769)
[EGD-3778] Add priorities and sound mux to audio system (#726)
[EGD-3098] Add audio volume control per functionality.