[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-4332][EGD-4482] Fix playback of mono sound in headphones (#1080)
Addressed problem - when playing files containing only one
audio channel the sound could be heard in only one speaker.
[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-3852] Add missing virtual destructor (#876)
[EGD-4099] BT set stream (#846)
[EGD-3743] Removed old doxygen copyright statements from project.
[EGD-3743] Update copyrights in fies
[EGD-4003] audio: fix workers destroying (#806)
Improve workers destroying by replacing sudden death with a gentle close
request.
Make (De)Init static - when creating second instance of a codec there
was a situation when destructing one instance was causing first one to
stop working, because they share common hardware resources.
[EGD-4100] Fix playback restart on audio profile change (#848)
[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-3779] Add sounds looping and merging (#744)
* [EGD-3779] Add sounds looping and merging