[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-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-4270] updated test API, added sending message case in test harness (#1042)
[EGD-4270] build fix for GCC 10
Co-authored-by: SP2FET <bartosz.cichocki@mudita.com>
[EGD-4439] New filesystem handling - module audio. (#1037)
[EGD-4439] Taglib revision update
[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-4366] Global data cleanup. (#999)
[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-4215] Convert service-bluetooth to library
[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-4288] refactor global data (#959)
Reduce firmware size by refactoring global data defined in public
headers.
Each global variable which require runtime initialization adds
initialization code to every translation unit which includes the header
where the variable is defined and declared.
[EGD-4181] move taglib from audio (#932)
* [EGD-4181] Move submodule taglib to utils
* [EGD-4181] LibTag moved to util lib.
Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
[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-4075] Use FATFS in the Linux builds (#843)
* [EGD-4075] Use FAT fs in the emulator
Add script for genrate base phone image
* [EGD-4075] Use FreeRTOS-FAT in emulator initial commit
* [EGD-4075] Thread local storage fix
Fixing thread local storage when running on the
Linux platform in the test mode
* [EGD-4075] Improve image generation
Improve image generation script on the linux platform
* [EGD-4075] Fix all test with FAT fs image
Fix all tests with fatfs image
* [EGD-4075] Fix calculator utility test
* [EGD-4075] Image dependencies fix
* Remove uneeded comments
* Missing headers in CR
* [EGD-4075] Fixed whitespaces
Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
[EGD-3852] Add missing virtual destructor (#876)
[EGD-4099] BT set stream (#846)