Commit Graph

8 Commits

Author SHA1 Message Date
Lefucjusz
9a8ffff654 [BH-1863] Fix deleted file popup showing in Relaxation
* Fix of the issue that 'File has been
deleted' popup would show in Relaxation
app at the end of playback if the
playback was paused at least once,
even though the file wasn't actually
deleted.
* Added very basic audio decoder error
handling and propagation mechanism.
* Minor refactor around several
audio-related parts.
2024-02-01 12:09:32 +01:00
Adam Dobrowolski
dc9ad45a04 [MOS-53] Not enough stack for audio worker
There were ocasional crashes due to too small stack for audio worker.
These were not caught via stack overflow catching logic most of times
2022-06-03 09:36:06 +02:00
Lucjan Bryndza
cbbcbe2a04 [EGD-8076] Replace wav decoder by dr_wav
Replace plain straigh waw decoder by the dr_wav library.

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2021-12-09 15:23:56 +01:00
Marcin Smoczyński
9cf397d192 [EGD-6497] Add audio transcoding framework
Add a mechanism to apply a data transform on the stream's input. An
example mono to stereo transform is provided.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-04-23 07:29:18 +02:00
Marcin Smoczyński
77178548f3 [EGD-5260] Mono to stereo software conversion
Add workaround for Bluetooth audio to *always* convert mono PCM to
stereo.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-03-25 01:01:35 +01:00
Marcin Smoczyński
cf75cfc012 [EGD-5973] Reduce audio stack usage
Verify stack usage of:
 - ServiceAudio
 - application music player
 - decoder worker
Change if possible to a realistic value keeping a 30% margin.
Stack usage reduction is limited due to an extensive stack usage of
every call to the filesystem, which uses around 2 kB of stack.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-03-19 09:55:06 +01:00
Marcin Smoczyński
40bf381eca [EGD-5086] Fix voice not starting when calling
Due to a race condition between source and sink voice is not always
starting when calling. Introduce audio stream connections to avoid
race condition and improve handling of audio start and stop operations.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-01-14 11:03:47 +01:00
Marcin Smoczyński
871b250d86 [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>
2020-12-17 12:20:40 +01:00