Commit graph

111 commits

Author SHA1 Message Date
Chan-yeol Park
f0432ce6ae bluetooth: Remove ipc.[ch] files in the bluetooth module
These files are remove in the bluez project.
In case of definitions in the ipc files
we could use defintions in the a2dp-codecs.h
2012-10-06 14:38:59 +03:00
Mikel Astiz
884d1d46ca bluetooth: Set profile even if transport not acquired
If the acquisition of the transport fails, the profile should still be
set. In this case the audio is not actually streaming, so the sink and
source will be created but left suspended.

If the transport needs to be acquired later, for example because the
user wants to route the audio the remote device, the suspend flag should
have to be changed.
2012-09-26 19:27:14 +08:00
Mikel Astiz
57469ce734 bluetooth: Remove minor unnecessary check
The return value of dbus_message_iter_next() doesn't need to be checked
since the while condition will be false anyway (arg type will be
DBUS_TYPE_INVALID).
2012-07-28 16:58:59 +03:00
Mikel Astiz
ffe723d506 bluetooth: Replace deprecated ListDevices()
The method ListDevices() in org.bluez.Adapter was deprecated in BlueZ
4.61, and is going to be removed in future releases. Instead, a property
was introduced for this purpose in BlueZ 4.7.
2012-07-28 16:57:36 +03:00
Mikel Astiz
f70f984017 bluetooth: Replace deprecated ListAdapters()
The method ListAdapters() in org.bluez.Manager was deprecated in BlueZ
4.61, and is going to be removed in future releases. Instead, a property
was introduced for this purpose in BlueZ 4.22.
2012-07-28 16:53:28 +03:00
Mikel Astiz
8a402a7d08 bluetooth: Refactor property parsing code
Use a separate method to perform the common checks when a property needs
to be parsed.
2012-07-26 08:31:09 +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
Arun Raghavan
ec316b04ac bluetooth: Fix crash due to usage of pa_bool_t instead of dbus_bool_t
pa_bool_t and dbus_bool_t cannot be used interchangably since their size
might (and do) vary. This caused a crash on some systems which was
reported and root caused by: Aidan Thornton <makosoft@googlemail.com>.

Ref: https://bugs.gentoo.org/show_bug.cgi?id=398097
2012-05-11 17:32:20 +05:30
Luiz Augusto von Dentz
014511310a bluetooth: Fix calling many times Audio.GetProperties for the same device
Audio.GetProperties is been called for as many times as there are UUIDs
instead of just once when the UUIDs are discovered.
2012-02-21 08:36:21 +05:30
Tanu Kaskinen
717701aa71 bluetooth: When receiving D-Bus errors, print also the error message. 2012-01-14 16:57:03 +02:00
Mikel Astiz
e199077eca bluetooth: Fix property reply handling for hfgw 2011-11-27 14:54:01 +00: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
Frédéric Dalleau
3f6aa03912 bluetooth: Fix Media Endpoint for HandsfreeGateway
This patch will add the necessary quirks so that pulseaudio can register
an endpoint on the /MediaEndpoint/HFPHS path. This endpoint is to be
used for HFP Handsfree profile.
2011-11-03 00:18:49 +05:30
Colin Guthrie
69fe26206f bluetooth: Bump DBus version to 1.3.0 and drop conditional code.
We used to support older DBus versions but 1.3.0 is two years old
now and by requiring it we cut down of deviated code paths at
runtime and thus have less support issues.

fdo#40635
2011-09-07 20:33:13 +01:00
Maarten Bosmans
92219b01b9 Initialise variables
These were detected using clang static analyzer.
2011-08-15 09:41:56 +01:00
Maarten Bosmans
dd9265ac78 Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
Luiz Augusto von Dentz
6f99198c41 bluetooth: Fix using pointer-pointer when appending an array as variant
pa_dbus_append_basic_array_variant_dict_entry should take the direct
pointer to the array.
2011-04-30 14:26:45 +01:00
Arun Raghavan
62f181aa28 bluetooth: Pull a2dp-codecs.h from BlueZ
This pulls a2dp-codecs.h from BlueZ which contains the capabilities
structures for SBC and MPEG. We currently have these manually added to
ipc.h, so pulling this header makes our files identical to upstream.
2011-03-31 11:04:39 +01:00
Colin Guthrie
8dc0df0538 bluetooth: Fix a double-free-esque error introduced in 8f3ef04b 2011-03-26 00:12:09 +00:00
Tanu Kaskinen
99e37b6003 bluetooth: Get rid of warnings about unused stuff when building against a D-Bus version that doesn't have fd-passing support. 2011-03-24 09:17:40 +00: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
Maarten Bosmans
684b89c639 Fix up some double spaces 2011-03-18 09:20:07 +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
Maarten Bosmans
ecf09f2cd6 Fix up according to Coding Style
Only whitespace changes in here
2011-03-11 11:49:35 +00:00
Luiz Augusto von Dentz
96338eec28 bluetooth: fix build for libdbus < 1.3 2010-12-23 13:16:43 +02:00
Luiz Augusto von Dentz
e8a7d1932f bluetooth: make use of dbus-util helper functions 2010-10-20 14:30:05 +03: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
edf5f5be6b bluetooth: improve dbus logging 2010-02-21 20:51:02 +01:00
Lennart Poettering
41ce7cbde9 bluetooth: fix invalid memory access
When an GetProperties() reply arrives after we already deleted the
device structure for it make sure we don't accidentaly touch the
invalidated object.

https://bugzilla.redhat.com/show_bug.cgi?id=543205
2010-02-09 22:31:40 +00:00
Lennart Poettering
66dbca1e06 dbus: remove filter functions only if they were actually set before
This fixes an assert when destructing modules that have not been fully
initialized.

https://bugzilla.redhat.com/show_bug.cgi?id=548525
2010-02-09 22:28:17 +00:00
Lennart Poettering
2dc37e1214 bluetooth: do not hand out access to devices that are not fully configured yet 2009-10-31 02:05:54 +01:00
Luiz Augusto von Dentz
8169a6a6c9 Handle DisconnectRequested in bluetooth module. 2009-08-27 11:29:49 -03:00
João Paulo Rechi Vita
2772521698 bluetooth: add discover of bluetooth sources 2009-08-23 22:46:56 -03:00
Lennart Poettering
319d187972 bluetooth: fix match syntax 2009-08-17 19:14:35 +02:00
Lennart Poettering
90a07435d3 bluetooth: make NameOwnerChanged filter matches more focussed 2009-08-17 03:51:22 +02:00
Lennart Poettering
de4968cdde bluetooth: ask first for Headset and AudioSink properties, followed by Audio 2009-08-15 22:25:53 +02:00
Lennart Poettering
fa52a91b1a bluetooth: recognize only those BT devices that implement both the Audio and either AudioSink or Headset interfaces 2009-08-15 22:25:21 +02:00
Lennart Poettering
c3958aaa07 bluetooth: handle absence of bluez D-Bus service properly 2009-07-01 02:20:23 +02:00
Lennart Poettering
9ee6a41491 bluetooth: memory leak, actually free discovery struct itself 2009-04-10 01:12:12 +02:00
Lennart Poettering
cab1e54392 explain ff7033c11d 2009-03-31 00:26:12 +02:00
Lennart Poettering
ff7033c11d Revert "make sure we always read in all properties"
This reverts commit 1c8f968282.

Turns out doing this is racy. The appropriate fix seems to be
38825d7912
2009-03-31 00:22:17 +02:00
Lennart Poettering
1c8f968282 make sure we always read in all properties 2009-03-30 20:56:03 +02:00
Lennart Poettering
66b80e9ecd get rid of old 'Connected' property parsing and make sure we don't execute two case branches 2009-03-30 20:55:50 +02:00
Lennart Poettering
91355a1ce5 introduce typedef for pa_bt_audio_state and use it everywhere 2009-03-30 20:55:10 +02:00
Lennart Poettering
1390564227 Merge commit 'elmarco/bluetooth-fixes' 2009-03-30 20:34:49 +02:00
Marc-André Lureau
eb93e2537a dbus: split dbus-util into dbus-shared
modules: fix dbus-util include
pulse: get dbus at context connection
2009-03-30 20:56:55 +03: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