Merge branch 'EGD-5737-merge-master-to-exp-lbr-fix'
[EGD-5737] Merge master into experimental Synchronize with master before merging
[EGD-5716] Change sound priorities Sound API has been extended with new playback types.
[EGD-5737] Merge master into experimental Keep experimental up to date with changes from master
[EGD-5737] Merge master into experimental Keep experimental up to date with changes from master
[EGD-5737] Merge master into experimental Keep experimental up to date with changes from master
[EGD-5737] Merge master into experimental Keep experimental up to date with changes from master
[EGD-5737] Merge master into experimental Keep experimental up to date with changes from master
[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>
[EGD-4342] Remove audio profile db callback This callback is not needed.
[EGD-5580] Fix broken mute during call The mute button during a call did not cause any effect.
[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>
[EGD-5290] Fix on audio on voice call 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>
[EGD-4831] Add license headers to c, h and sql files Add license headers to `h`, `c` and `sql` files as this files haven't been checked previously, script now to automatically updates current year in existing licenses.
Merge branch 'master' into stable
[EGD-5325] Remove using namespace directives from headers "Using namespace" directive should not be added in headers because this practice pollutes source files.
Merge branch 'master' into stable
[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>
[EGD-5086] Change audio device switching logic Upon hardware change event, audio profile had been switched multiple times forcing redundant initializations of all related objects. Logic has been optimized and prepared for further refactor. Now upon hardware event objects are initialized exactly once.
[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.