Commit Graph
42 Commits
Author SHA1 Message Date
Marcin Smoczyński bda18b5b54 [EGD-5706] Refactor creating audio device
Audio devices are created in the audio subsystem and it is not possible
to send a device to bt service upon creation.

Introduce hookable audio device factory to allow sharing bluetooth
audio device. Move audio devices from bsp to audio allowing removal of
unwanted bsp -> audio dependency.

Remove Bluetooth proxy device which turned out to be a dead end.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-02-17 16:20:59 +01:00
Marcin Smoczyński f1fc9df152 [EGD-4977] Reduce audio lag during voice call
Reduce audio delay by reducing audio buffer size in router operation.
Audio streams are now created directly in the operations, not in the
audio service, which gives more flexibility.

Audio Buffer size is calculated based on endpoints (source, sink) and
operation capabilities. This commit also enables allocations in a
non-cacheable region of OCRAM for endpoints that use DMA for data
transport.

Introduce power-of-two operations that use built-in functions and
possibly dedicated hardware instructions of an MCU. These operations
are required by the audio stream buffer size calculation algorithm.

Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
2021-02-01 22:22:12 +01:00
Hubert Chrzaniuk bb6989c2a8 [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.
2020-12-21 13:46:40 +01:00
Hubert Chrzaniuk 6b36d35507 [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.
2020-12-18 14:52:57 +01:00
Hubert Chrzaniuk 7ccc52c04c [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
2020-11-12 16:15:42 +01:00
Hubert Chrzaniuk b7e1a04a12 [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
2020-11-09 17:53:28 +01:00
Hubert Chrzaniuk 4c22ef5107 [EGD-4099] BT set stream (#846) 2020-10-20 13:43:53 +02:00
Przemyslaw Brudny e131dae68f [EGD-3743] Removed old doxygen copyright statements from project. 2020-10-20 12:55:10 +02:00
Radoslaw Wicik 2276ceed67 [EGD-3743] Update copyrights in fies 2020-10-20 12:55:10 +02:00
Hubert Chrzaniuk 78f075712c [EGD-4023] Vibration - get values from DB (#807) 2020-10-15 10:16:58 +02:00
Hubert Chrzaniuk ebcef7a692 [EGD-4054] Audio API for setting stream parameters (#826) 2020-10-15 09:27:15 +02:00
Jakub Pyszczak 2df98eea48 [EGD-3841] Add audio vibration and enable sound option 2020-10-06 17:06:34 +02:00
Hubert Chrzaniuk f38960e1b3 [EDG-3870] Fix audio looping (#769) 2020-10-05 16:56:19 +02:00
hubert-chrzaniuk b327fc36e2 [EGD-3778] Add priorities and sound mux to audio system (#726) 2020-09-28 11:50:13 +02:00
jimmorrisson 7b626ce755 [EGD-3098] Add audio volume control per functionality. 2020-09-20 13:41:19 +02:00
jimmorrisson 63685f9247 [EGD-3097] Add storing and updating audio settings in database. 2020-09-11 12:06:03 +02:00
Szymon Mroczek 217148cf43 [EGD-3099] SwitchProfile and SendEvent APIs converted to return RetCode instead of dummy int32_t 2020-07-29 09:08:49 +02:00
Szymon Mroczek 151c804b2e [EGD-3099] Volume and Gain APIs converted to return RetCode instead of dummy int32_t 2020-07-29 09:08:49 +02:00
Szymon Mroczek 8d7b2a4eb8 [EGD-3099] Resume API converted to return RetCode instead of dummy int32_t 2020-07-29 09:08:49 +02:00
Szymon Mroczek 1aca6706f6 [EGD-3099] Pause API converted to return RetCode instead of dummy int32_t 2020-07-29 09:08:49 +02:00
Szymon Mroczek b2894c596d [EGD-3099] Stop API converted to return RetCode instead of dummy int32_t 2020-07-29 09:08:49 +02:00
Szymon Mroczek eb3fd9c4c6 [EGD-3099] Start API converted to return RetCode instead of dummy int32_t 2020-07-29 09:08:49 +02:00
Przemyslaw Brudny c0822b6658 [EDG-3019] Moved log.hpp and debug.hpp into main PurePhone repo 2020-03-24 15:55:32 +01:00
Przemyslaw Brudny 8f92715951 [EDG-3019] Segger utils moved to git submodule 2020-03-23 18:37:37 +01:00
Radoslaw Wicik a8573a404c Apply new style 2020-03-17 10:03:16 +01:00
Mateusz 9d56b804aa Turned off performance stats 2019-08-05 14:55:02 +02:00
Mateusz f3af3ae12b Preparations to merge
Added TODOs
Fixed minor bugs
2019-08-05 14:50:30 +02:00
Mateusz fce0de53ef WiP: routing tests 2019-08-05 08:05:40 +02:00
Mateusz 0df92c22c7 WiP: Fixed error handling in decoder/encoder/Operation layer 2019-08-02 13:55:25 +02:00
Mati b098ab98fb WiP: fixed linux build 2019-08-02 11:02:11 +02:00
Mateusz 0fced67c65 WiP: optimized ram usage by MP3 decoder 2019-08-01 21:07:48 +02:00
Mateusz 749c14c7c6 WiP: fixed unit tests
Small profile refactor
Fixed bugs
2019-08-01 13:06:57 +02:00
Mateusz d3a76d8b99 WiP: new BSP layer for I2C, RT1051 driver for audiocodec 2019-07-29 19:49:43 +02:00
Mateusz 933854a704 WiP: added service-audio 2019-07-29 14:39:44 +02:00
Mateusz 43d794910c WiP: Added volume control API 2019-07-29 12:13:25 +02:00
Mati 5970fe7762 WiP: proper support for mono streams inside AudioDevice 2019-07-28 22:50:22 +02:00
Mati 22e9acba3a WiP: fixed profile switching 2019-07-27 15:25:45 +02:00
Mati f9133ec388 WiP: Removed Pause/Resume APi from bsp::AudioDevice
Volume calculation fix
2019-07-27 12:33:33 +02:00
Mateusz 30678c1ee8 WiP: Implementation of profiles switching logic 2019-07-25 22:53:57 +02:00
Mateusz de8cf25acd WiP: fixed profile loading 2019-07-25 20:54:45 +02:00
Mateusz 236939c2e7 WiP: refactor, state machine implementation 2019-07-25 15:39:56 +02:00
Mateusz f4a55d5caf Wip: Operations refactor, template of StateMachine class 2019-07-25 11:11:40 +02:00