Commit Graph

200 Commits

Author SHA1 Message Date
Marcin Smoczyński
e993a0b928 [EGD-6857] Fix HSP audio quality
Fixed HSP sound quality issues:
 - fixed HF caused by invalid output block size during interpolation of
   the bluetooth input,
 - increased block size to increase time send interval to 8ms

Fixed issue with error handling when writing to overflowed stream.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-11-15 20:20:45 +01:00
Mateusz Piesta
b656756159 [BH-1117] Bell audio service
Added Bell audio service
Added volume scaling.
2021-11-09 13:54:45 +01:00
Jakub Pyszczak
a2b6d8738d [EGD-7732] Fixed audio poor quality
Fixed audio poor quality during a loudspeaker call.
2021-11-08 11:53:19 +00:00
Marcin Smoczyński
e942a94958 [BH-807] Add Bell audio device
Interface hardware audio codec to the audio subsystem.

Co-authored-by: Lukasz Skrzypczak <lukasz.skrzypczak@mudita.com>
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-10-22 16:12:24 +02:00
Wojtek Rzepecki
a03817ab96 [EGD-7766] Vibration level PWM addition
PWM channels separate control added.
2021-10-20 14:06:39 +03:00
Przemyslaw Brudny
d768eb3665 [EGD-7766] Vibration level PWM addition
Added base PWM settings to vibrations. Added vibration
volume setting.
2021-10-20 14:06:39 +03:00
Piotr Tański
1d2f5cf7a4 [EGD-7754] Dates bumped in disclaimers
Dates bumped from 2020 to 2021.
2021-10-11 19:08:26 +02:00
Alek Rudnik
1490158034 [EGD-7725] Tune up file system io access
Increasd io stream buffers:
- 64kB for big files with short lifetime scope
- 16kB for big files with long lifetime scope
- 1kB - dont changes default forr the rest
2021-10-08 10:28:38 +02:00
Przemyslaw Brudny
9455ea9b5d [EGD-7759] Alarm audio duration fix
Alarm audio duration fix. Changed Alarm audio priority.
Fixed SpinBox bottomBar modes.
2021-10-07 18:42:51 +03:00
Przemyslaw Brudny
289316b32d [EGD-7730] Alarm audio calls fixes
Added system sound setting. Refactored Alarm sound settings.
Fixed linux audio device initial volume level. Fixed Alarm
vibrations.
2021-10-06 19:36:02 +03:00
Marcin Smoczyński
cafc2f86ca [BH-802] Adapt audio subsytem for Bell
Hook audio device factory for Bell to the audio subsystem.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-10-05 16:54:35 +02:00
Marcin Smoczyński
1f9109b924 [BH-819] Fix illegal dependencies in bsp
Break circular dependencies in the BSP module. Fix some missing
dependencies which surfaced after fixing BSP.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-09-27 17:27:21 +02:00
Bartosz Cichocki
80ea3a74e0 [EGD-7405] Add volume control
Added volume control for HFP
2021-09-24 13:25:07 +02:00
Marcin Smoczyński
bd90e57516 [BH-907] Split utils module into components
Split module-utils into smaller components for better dependency
management. Fix many dependencies throughout the project.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-09-23 15:14:40 +02:00
Bartosz Cichocki
e8dd8aacbe [EGD-7404] Adapt & prepare CVSD codec for usage in HFP
Adapted both codec and HFP profile to be able to work together.
Now it's possible to stream 2-way audio via HFP profile, but it
has to be integrated properly with EGD-7405
2021-09-23 10:08:30 +02:00
Alek Rudnik
c9a41b4477 [EGD-7335] Integartion of file indexer with database
Integrated core file indexer with its database.
Modfied necessary queries.
Moved service file indexer to pure product specific
folder
2021-09-10 10:59:40 +02:00
Lucjan Bryndza
efa0a16543 [BH-848] Split board h for bell and pure
Split board.h for the bell and Pure

Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
2021-09-06 11:19:47 +02:00
Jakub Pyszczak
200c9b949d [EGD-7432] Tags fetcher
Added tags fetcher as universal audio utility
which can be used without bus overhead
2021-09-03 16:35:59 +02:00
Piotr Tański
90e7a48198 [EGD-7362] Merge release/0.76.1 into master
Merge release/0.76.1 into master.
2021-09-02 11:12:59 +02:00
Adam Dobrowolski
0247d374cd [EGD-7401] POC for HSP restored from EGD-6727
This code is updated code from EGD-6727, the only changes are:
- use of common SCO and PhoneInterface
- update to newer bluetooth library
2021-08-30 09:38:20 +02:00
Marcin Smoczyński
b355d5ce00 [BH-733] Cleanup target dependencies
Remove obsolete target dependencies across modules.
Remove 'cross' and 'unittests' targets.
Refactor some remaining target dependencies to use board include macro.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-08-13 01:43:56 +02:00
Jakub Pyszczak
fa79a8cc33 [EGD-7246] Fixed audio tags decoding
Fixed wrong tags decoding if there was any special
utf8 character contained in metadata.
2021-08-03 08:59:46 +02:00
Jakub Pyszczak
689bd3069d [EGD-7206] Fix audio profiles priorities
Audio profiles priorities should be set as stated below:
1. Jack
2. Bluetooth
3. Earspeaker.
Added UT's to cover those requirements.
2021-07-28 13:49:04 +02:00
Alek Rudnik
99ae1539c2 [EGD-6723] Music Player application skeleton
Rewritten Music Player to use MVP pattern.
There are no functional changes under this commit.

Fix for port audio leakage
2021-07-26 14:25:25 +02:00
Jakub Pyszczak
214451ccf1 [EGD-7083] Fixed earspeaker bt HSP
Routing and ringtone are now hearable via earspeaker/jack
while pure is connected to the device that doesn't support HSP.
2021-07-23 13:03:50 +02:00
Pawel.Paprocki
3c5649df95 [EGD-6624] Audio support for linux simulator
When using simulator user should hear audio output to test apps like
Music Player.

Co-authored-by: Tomasz Krosnowski <tomasz.krosnowski@mudita.com>
Co-authored-by: Piotr Tański <piotr.tanski@mudita.com>
Co-authored-by: Marcin Smoczyński <marcin.smoczynski@mudita.com>
Tested-by: Marcin Smoczyński <marcin.smoczynski@mudita.com>
2021-07-20 15:42:32 +02:00
Jakub Pyszczak
bc0a168d80 [EGD-7145] Fix mp3 tags fetch
Fixed problem with some mp3 files which wasn't available in the list
of tracks. Issue was occuring due to the large buffer allocation.
2021-07-13 16:47:25 +02:00
Jakub Pyszczak
3df2492be3 [EGD-7100] Fix shuttered audio
Fix shuttered audio on wav playback.
2021-07-07 10:24:27 +02:00
Jakub Pyszczak
6d61aabbec [EGD-6514] HSP volume control
Bluetooth headset profile volume control
introduced. Small refactor on A2DP volume control
done.
2021-06-25 18:05:01 +02:00
Mateusz Grzegorzek
34a0d6109a [BH-393] Create separate math lib
Create separate math lib from Math.hpp file.
2021-06-14 11:36:19 +02:00
Radoslaw Wicik
943fef9643 [BH-353] Add Documentation for main targets
* clean up mimimu required cmake version
* fixes for release workflow

Add documentation for targets, fixes for cmake
and release workflow.
2021-06-11 09:07:41 +02:00
Lukasz Skrzypczak
2911b6b4a1 [BH-378] PR changes
PR changes - mainly includes
2021-06-08 12:24:29 +02:00
Lukasz Skrzypczak
7fee0d9cfb [BH-378] Utils move log to library
Moved log to separate library
2021-06-08 12:24:29 +02:00
Lukasz Skrzypczak
40530e39aa [BH-399] Cleaning
Cleaned to match newest master
2021-05-28 19:29:04 +02:00
Marcin Smoczyński
ef3f840a4d [EGD-6049] Add voice call over HSP
Add support for voice calls over HSP.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-05-28 15:38:56 +02:00
DariuszSabala
6fe90d4bef [BH-461] Move TPLIB minimp3 to separate dir
Moved minimp3 to third-party directory,
added our CMakeLists.txt with interface
library defined and upgraded include paths
2021-05-28 12:39:40 +02:00
Alek Rudnik
93c4675d1d [EGD-6701] System time usage fixes
Fixed all calls to stdlib time.
Removed all redundant calls to Timestamp treated as time source.
2021-05-27 16:54:44 +02:00
Marcin Smoczyński
ece6a51e5b [EGD-6800] Enable voice transcoding
Add voice transcoding during phone call with two basic transforms:
 - sample rate downscaling by a factor of 2 with a decimator
 - sample rate upscaling by a factor of 2 with an interpolator (no
low-pass filter)

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-05-21 18:12:57 +02:00
Marcin Smoczyński
f6dd452c41 [EGD-6799] Cleanup audio device interface
This refactoring removes invalid interface dependencies of the original
AudioDevice implementation:
 - move things characteristic to RT1051AudioCodec to audio::codec
 - remove dead methods
 - make start/stop optional and codec configuration independent
 - add more convenient way to get supported formats

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-05-20 19:31:06 +02:00
Marcin Smoczyński
a3e512a89b [EGD-6674] Change negotiation of audio block size
Replace faulty implementation which produced ambiguous results with one
which is suited for both phone calls and music playback requirements,
including A2DP and HSP Bluetooth profiles.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-05-05 21:36:00 +02:00
Jakub Pyszczak
00a9d5d0b3 [EGD-6438] Loudspeaker headset fix
Fixed enabling loudspeaker during phone call with headphones plugged.
2021-05-04 10:28:31 +02:00
Marcin Smoczyński
6c52780fdb [EGD-6496] Add basic sample rate transcoding
Add basic interpolator and decimator to change sample rates by a factor
of a prime number. Interpolator repeats samples forming a stair signal,
while decimator drops excessive samples.

Templates have been used to utilize fast integer operations contrary to
byte-by-byte operations for number of bit width vs channel count
combinations.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-04-28 12:44:30 +02:00
Marcin Smoczyński
a2a1c5325e [EGD-6612] Remove debug flags in audio
Debug flags introduced accidentally with EGD-6497.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-04-23 09:15:18 +02: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
Jakub Pyszczak
49c132c622 [EGD-6513] Volume control feedback
Added volume control feedback during music playback over Bluetooth.
Changed volume buttons handler logic in service audio to use actions
instead of messages.
2021-04-22 15:30:02 +02:00
Maciej Gibowicz
8f8a1b3ca1 [EGD-6499] Fix audio initialization
Now the peripherals and the audio clocks will be turned on
only when the user is using the audio, which will save energy.
2021-04-22 09:37:23 +02:00
Alek Rudnik
fd935f4179 [EGD-6093] Audio settings API
Refactored Audio settings API.
Moved phone modes logic from serivce audio to service clients level.
Removed redundant API.
Seprated API for vibration and sound enable/disable.
Fixed issues with vibrations logic.
2021-04-16 14:50:38 +02:00
Marcin Smoczyński
332aed9365 [EGD-6507] Enable per-module testing
Add per-module:
 - test build
 - test execution
 - coverage reporting (xml/html).

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-04-13 15:16:59 +02:00
Marcin Smoczyński
8b21df135c [EGD-5742] Add audio format checking
Check if decoder's file format is supported by the sink audio device
before playing the sound. Add list of supported formats to each of audio
devices.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-04-12 10:00:00 +02:00
Jakub Pyszczak
95ce71818e [EGD-6281] Fix microphone mute
Fix microphone mute during the phone call.
Previously phone would unmute on:
- connecting/disconnecting a jack
- turning loudspeaker on/off
- switching to the bt device.
2021-04-07 19:27:59 +02:00