summaryrefslogtreecommitdiffstats
path: root/plugins/lib/bluetooth
AgeCommit message (Collapse)AuthorFilesLines
2018-12-11hal-bt: Use another verb to get adapter number.flounder_6.0.3flounder/6.0.36.0.3Jonathan Aillet2-18/+17
Use 'managed_objects' verb of 'Bluetooth-Manager' api to get adapter number. Before this change, some errors were not detected correctly. Bug-AGL: SPEC-1986 Change-Id: I0f2e697c9b4aef58aa50c3ea85359670961f7d6b Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-12-09plugins: hal-bt: update to new bluetooth binding APIMatt Ranostay4-54/+90
Switch to using media events to detect audio sink transport states for connected devices. Bug-AGL: SPEC-1986 Change-Id: I834d5387ccd76d5ec0946f56536840736a7d96e0 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2018-10-08bluetooth: set audio rate to 44100Thierry Bultel1-2/+2
44100 seems to be the most common sample rate. Fis is a temporary fix, because the actual sample rate may differ and depend on the information available at the bluetooth transport level. Handing it dynamically means some significant changes in softmixer: - instanciate the rate converter on playback in all the cases - either been able to modify it after creation, or if not possible, close and restart the output PCM plugin stack. Change-Id: I6bd900fd539251b60b97bbaf15e1390bf49c13e0 Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-10-08hl-bt: Check that hal is available in initJonathan Aillet1-9/+16
In hal-bluetooth plugin, check that hal is available in plugin initialization. Move every data initialization after that everything is checked. Change-Id: I8055dd17e75099a8009f21a1070d1de293682d4b Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08hal-bt: Use plugin name definition in printsJonathan Aillet1-3/+3
Use hal-bluetooth plugin name definition in prints instead of plain text. Change-Id: Idafbead6bdc510115ac0f7ebc06cfad79ceeceed Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08hal-bt: Enrich 'halmixer' section in plugin initJonathan Aillet2-7/+105
Enrich 'halmixer' section with bluetooth specific 'source' and 'stream' during hal-bt plugin initialization. Some parameters must be passed to plugin using 'params' key in controller json plugin section. This allows to get rid of must of the additional configuration when using bluetooth in a hal. Change-Id: I5820e75307a3394eca80cf783e7bc4c31c2d7659 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08hal-bt: Use plugin name in onload/init printsJonathan Aillet1-5/+5
hal-bt: Use plugin name in onload/initialization prints to help identify startup hal-bt plugin prints. Change-Id: Ie065a127d0321d44e800828aab1994b35aeb5739 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08hal-bt: Check presence of a bluetooth receiverJonathan Aillet2-5/+27
Disable hal-bt plugin if no bluetooth receiver is connected at plugin initialization. To be bale to check if there is no connected bluetooth receiver, use call to 'power' verb of 'Bluetooth-Manager' api. Change-Id: Idd301d2106e8b2e79e25969cc2c1a2a4e4194711 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08hal-bt: Move bluetooth api require into initJonathan Aillet1-27/+15
In hal-bt plugin, move 'Bluetooth-Manager' require into plugin 'initialization' instead of plugin 'onload'. Change-Id: I52dab7631674b4139ad74d0de0825633ea5a5b91 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Remove unnecessary 'function' string in printsJonathan Aillet1-6/+6
Function's names was printed using '__func__' when calling application framework prints functions. But, as the application framework prints functions already prints them, '__func__' has been removed from print calls to avoid duplicated information. Change-Id: I0dea49a9d84b7ccdbdaecec67ced6c98b5ed26d6 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Add ctl actions needed by Hal-Bt in plugin initJonathan Aillet1-4/+65
Add controller events/onloads actions needed by Hal-Bt plugin in plugin initialization ('CTLP_INIT'). Therefore, these actions can be reomved from json files. Change-Id: I67391abfc7d3fd0f8b9d4fbd0fe8698497da1393 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Handle error send by Bluetooth-ManagerJonathan Aillet1-9/+18
Handle error send by 'Bluetooth-Manager' when no bluetooth devices are detected by discorvery. Change-Id: Iadd2ef7dbd5aff59da62e50f99622a9aaf2627dc Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Get bluetooth device interface from path in HalBtJonathan Aillet1-6/+9
In Hal-Bt plugin, get bluetooth device 'hci' interface from 'Path' key send by 'Bluetooth-Manager'. As, the 'Path' key contains the whole path of the device, some string manipulations are necessary ... Change-Id: I320a41fb1589214b0ae6999e1c8b793c7cdd41a7 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Correct a typo in debug print of Hal-Bt pluginJonathan Aillet1-1/+1
Correct a typo in debug print of Hal-Bt plugin. Change-Id: I2fd2731853f865fcfa09dbe06d6f495ad449ff98 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Prevent segfault when receiving request in Hal-BtJonathan Aillet1-2/+2
Prevent segfault when receiving 'get_connected_bt_a2dp_devices' and 'get_selected_bt_a2dp_device' requests in Hal-Bt plugin. Change-Id: I1eb5dcab997ae77d8adc3cf28585c2449ec42a2e Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08hal-bt-data: ignore devices with no UUIDsThierry Bultel1-4/+10
just ignore devices that do not have any UUIDs Change-Id: Ic3cb25d8f8521e8f6c73afa173745a26e9c873ce Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-10-08Free afb call sync json returned object in Hal-BtJonathan Aillet2-1/+9
Free forgotten application framework call sync json returned object in Hal-Bt plugin. Change-Id: Ic9680fd735154b21839fad93b4d13a7609009866 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Improve Hal-Bt print messagesJonathan Aillet5-15/+50
Improve Hal-Bt print messages by changing the print level of messages, by adding some messages, and by add information for some existing messages. Also improve response of requests. Change-Id: Icf6dc9f4da1a2ee912dda2850464926c68f2eda6 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Improve Hal-Bt plugin A2DP bt devices detectionJonathan Aillet1-4/+6
Consider an A2DP bluetooth device as connected only if its seen as 'AVPConnected' by 'Bluetooth-Manager'. Change-Id: I54511a193ebf64e35a7605723440f3a0fae2b2fd Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08HalBt plugin keeps list of connected A2DP devicesJonathan Aillet5-66/+67
Hal-Bt plugin only keeps list of connected bluetooth A2DP devices instead of a list of all connected bluetooth devices. Change-Id: I6c06be78a927dcac32ed4683d44431514e7daf06 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Use correct file to include controllerJonathan Aillet5-5/+5
Use correct file ('ctl-config.h') instead of (''ctl-plugin.h) to include controller. Change-Id: I93a1bcb5dab51211532fc59ffd979ea7acad1530 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Improve Hal-Bt plugin event catcher behaviourJonathan Aillet1-6/+9
Improve Hal-Bt plugin event catcher behaviour by : - avoiding error generation when bluetooth device is changed. - avoiding calling 'mixer' when the selected device is changed. Change-Id: Ia7402f865551ff9df418269ac6927b66581bae9a Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Prevent Hal-Bt plugin from crashing 4AJonathan Aillet2-5/+19
Prevent Hal-Bt plugin from crashing 4A when 'Bluetooth-Manager' api is not found. Change-Id: Id8ecc3efcc36825abbb4a2bb8cf553327c45d173 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Correct an error in Hal-Bt when calling 'mixer'Jonathan Aillet1-1/+1
Correct an error in Hal-Bt plugin when calling 'mixer', response was not correctly analyzed. Change-Id: I719076c77501a9c6776559cd8acfcea033a26d1b Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08hal-bt! display error messages of sync callsThierry Bultel1-5/+7
Change-Id: I9daa5d665cd727cd26817645e4dd6b987e6f5b05 Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-10-08Implement link with softmixer in hal-bt pluginJonathan Aillet5-18/+168
In hal bluetooth plugin, implement all call to softmixer used to enable/disable bluetooth stream and to set bt streamed device. Change-Id: I16f6fbf6a02f34490876d390883bdd040661647e Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Get hal data in hal-bt pluginJonathan Aillet3-0/+17
Get hal data in hal-bt plugin. It will be used, for example, to get softmixer call information. Change-Id: I3cb2fd8d2f3f656fb4a796e13c1f62e751675861 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Test afb require result at hal-bt plugin loadJonathan Aillet1-1/+4
Test afb require on 'Bluetooth-Manager' result at hal-bt plugin load before keep going with plugin hal-bt load actions. Change-Id: I19983d12ad6634acafc6cc32d96dbae554c70245 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Add handling of hci and profile in hal-bt pluginJonathan Aillet3-11/+50
Add handling of bluetoothg hci and bluetooth profile when keep bluetooth connected devices up to date. Change-Id: I49b3e67136168bcae711eb8f7ffb2e1ccdbad3ae Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Fix little mistakes/typo in hal bluetooth pluginJonathan Aillet2-14/+12
Correct typo. Remove an unnecessary message print. Update returned error code. Change-Id: If52965b8c7158dfd17bbba411d6dc2c4aafe970a Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
2018-10-08Add bluetooth hal pluginJonathan Aillet7-0/+756
Add first version of a hal plugin that will handle hal that wants bluetooth as an audio device. Change-Id: I4f5628ef9688c417b1b443fc3c4948cb23c17214 Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>