Due to an error in the stream's block reservation, when the stream was
full, SAI was trying to read data to an unitialized data span randomly
disabling audio channel.
Fix the problem by overwriting data after the peek position, always
returning valid data span.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
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.
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.
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-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>