Commit graph

21 commits

Author SHA1 Message Date
Mikel Astiz
24c1892a1f bluetooth: Remove const qualifier for device
The internal API in bluetooth-util should not use the const qualifier
for operations involving a device object. After all, the structure
contains many pointers and thus the const qualifier provides no real
protection.
2012-10-22 18:37:35 +03:00
Mikel Astiz
6e5f78e0af bluetooth: Add hook to tell transport was removed
Add a hook to report that the transport was removed from D-Bus, and thus
references to it should be released.
2012-10-19 18:27:04 +03:00
Mikel Astiz
640038cc28 bluetooth: Remove const qualifier for transports
The internal API in bluetooth-util should not use the const qualifier
for operations modifying the transport object. This is specially useful
in order to use the available hooks.
2012-10-19 18:24:22 +03:00
Frédéric Danis
017e1c4dda bluetooth: Fix bluetooth.nrec property not updated
PropertyChanged signal of org.BlueZ.MediaTransport is processed in
pa_bluetooth_transport_parse_property() which updates t->nrec.
This is called by :
- First by filter_cb() of bluetooth-util.c
- Then by filter_cb() of module-bluetooth-device.c which retrieve value
  of t->nrec before calling parse function, then it checks if t->nrec
  has changed before updating bluetooth.nrec property.
  As t->nrec has alreday been changed during first process, property
  update is never performed.

This patch creates a new hook in pa_bluetooth_transport called
PA_BLUETOOTH_TRANSPORT_HOOK_NREC_CHANGED.
The hook is fired by bluetooth-util.c when the transport's NREC
property changes.
module-bluetooth-device.c won't listen the PropertyChanged signal of
MediaTransport anymore. Instead, it will use the hook in
pa_bluetooth_transport to get a notification when the NREC property
changes, and update the sink or source proplist accordingly.

const qualifier for returned pointer of
pa_bluetooth_discovery_get_transport() is removed.
2012-06-15 21:06:01 +03:00
Frédéric Dalleau
79c836ec6a bluetooth: Set hfgw profile when HandsfreeGateway is playing
Allow module-bluetooth-device to listens to HandsfreeGateway state
changes using DBUS signals. When an handsfree connects, module-bluetooth-device
is loaded and goes to playing state. When the handsfree disconnect audio,
the card profile is set to "off". If the headset connects audio again after
that, the card profile should switch to "hfgw" again to match state of audio
connection.
2011-11-03 00:29:00 +05:30
Maarten Bosmans
dd9265ac78 Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
Tanu Kaskinen
51163d0fd9 bluetooth: Don't log an error if an endpoint type is disabled.
It's perfectly normal for BlueZ to disable some endpoint types, so printing a
log message at error level isn't a good idea.

For facilitating an informative message in case some endpoint type is disabled,
the send_and_add_to_pending() function interface is also changed to be more
generic (the pa_bluetooth_device pointer is replaced with a void pointer).
2011-03-24 09:17:15 +00:00
Luiz Augusto von Dentz
ad85624527 bluetooth: add proper handling for bluetooth.nrec property
NREC stands for Noise Reduction and Echo Cancelation, it can be changed
at any point by the headset.

When set to "1" indicates that those algorithms shall be enabled by
default and "0" means the headset probably have them active so they
should be disabled in PA side.
2011-03-14 14:52:52 -03:00
Luiz Augusto von Dentz
8c982a4afe bluetooth: handle Acquire API change
Acquire now return input and output MTU of the file descriptor so it is
no longer necessary to get those after acquiring the fd, which less round
trips and faster response time when switching profiles.
2011-03-14 13:36:55 -03:00
Luiz Augusto von Dentz
07eea95dc1 bluetooth: fix case of profile UUIDs to match what BlueZ uses 2010-12-23 13:16:43 +02:00
Luiz Augusto von Dentz
8f3ef04b43 bluetooth: Add support for Media API
Make use of D-Bus to transfer file descriptors.
2010-10-07 17:22:41 +03:00
João Paulo Rechi Vita
342e06498f bluetooth: add HFP Gateway support
Create the 'Handsfree Gateway' profile for bluetooth cards and add
filters for 'org.bluez.HandsfreeGateway' to the discover module so
module-bluetooth-device is loaded with the correct profile when a
Handsfree Gateway connects to bluetoothd (in this case bluetoothd
is acting as the headset).
2010-02-21 20:51:08 +01:00
João Paulo Rechi Vita
2772521698 bluetooth: add discover of bluetooth sources 2009-08-23 22:46:56 -03:00
Lennart Poettering
5c90cf2d6a bluetooth: drop PA_BT_AUDIO_STATE_LAST since it is unused and we normally call that _MAX anyway 2009-08-15 22:24:13 +02:00
Lennart Poettering
91355a1ce5 introduce typedef for pa_bt_audio_state and use it everywhere 2009-03-30 20:55:10 +02:00
Marc-André Lureau
87fcb3d592 bluetooth: use new audio State properties 2009-03-27 22:59:57 +02:00
Marc-André Lureau
38825d7912 bluetooth: GetProperties after profile UUID show up 2009-03-27 22:59:56 +02:00
Lennart Poettering
3aa39726db rework device discovery to share a single device list among all modules 2009-03-21 01:19:49 +01:00
Colin Guthrie
86dee05aec Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
Lennart Poettering
d6fdd71c02 add new functions pa_bluetooth_cleanup_name() and pa_bluetooth_get_form_factor() 2009-02-02 00:30:10 +01:00
Lennart Poettering
4a75002ebe add missing files 2009-01-29 20:30:42 +01:00