Commit graph

117 commits

Author SHA1 Message Date
Colin Guthrie
c66a1ba352 bluetooth: Fix build errors relating to SBC 2011-03-18 10:01:12 +00:00
Maarten Bosmans
684b89c639 Fix up some double spaces 2011-03-18 09:20:07 +00:00
Luiz Augusto von Dentz
e4eb467010 build: move sbc related files to its own directory
This should make it easier to apply patches from BlueZ which also uses
sbc subdir for this files.
2011-03-14 14:52:52 -03: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
97f7c5759e bluetooth: fix a2dp_process_push
Use minimum bitpool configured to get the maximum block_size possible,
also remove checks for how much has been written when decoding sbc frames
since the block size may change due to bitpool changes.
2011-03-14 13:52:29 -03:00
Luiz Augusto von Dentz
1c388f977a bluetooth: reduce bitpool if audio start skipping
When audio skips it could be that there is some bandwidth limitation in
the link e.g. headset doesn't support EDR (< 2.0), and by reducing
the bitpool it may find a better rate that either prevent the skips
completely or at least reduce them.
2011-03-14 13:51:48 -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
Maarten Bosmans
d6d9fb295d Clean up <poll.h> includes
Instead <pulsecore/poll.h> should be included.  That file includes poll.h on
platform where it is appropriate.  Also remove some unnecessary <ioctl.h>
includes.
2011-02-17 11:58:21 +01:00
Maarten Lankhorst
01a853e0c0 bluetooth: Fix a2dp processing 2010-12-12 20:26:10 +00: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
Lennart Poettering
cdc2769162 thread: name all threads so that the names appear in /proc/$PID/task/$TID/comm 2010-05-07 23:58:59 +02: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
Lennart Poettering
e8a2d12724 bluetooth: don't hit an assert if latency is queried for a stooped recording stream
https://bugzilla.redhat.com/show_bug.cgi?id=537422
2010-02-09 22:30:08 +00:00
Lennart Poettering
21250ff1a7 bluetooth: destruct stream only if it is not already destructed
https://bugzilla.redhat.com/show_bug.cgi?id=551842
2010-02-09 22:29:56 +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
40c1ca76c4 bluetooth: don't set auto_connect flag when discovering bt devices 2009-10-04 13:00:51 +02:00
Lennart Poettering
1380f18e52 blueooth: actually honour 'room' variable (llvm-clang-analyzer) 2009-09-08 23:48:12 +02:00
João Paulo Rechi Vita
65c3e6576c bluetooth: handle bluetooth source 2009-08-23 22:46:56 -03:00
Lennart Poettering
d6f598ab3e udev: allow passing of ignore_dB= parameter to alsa modules 2009-08-19 02:29:59 +02:00
Lennart Poettering
24e582808c source: rework volume handling
- drop the 'virtual_' prefix from s->virtual_volume since we don't
  distuingish between reference and real volumes for sources

- introduce an accuracy for source volumes: if the hardware can control
  the volume "close enough" don't necessarily adjust the rest in
  software unless it is beyond a certain threshold. This should save a
  little bit of CPU at the expensive of a bit of accuracy in volume
  handling.

- other minor cleanups
2009-08-19 01:35:43 +02:00
Lennart Poettering
2a39663ab6 bluetooth: move installation of mq's earlier to avoid context asserts to be triggered 2009-08-16 00:43:22 +02:00
Marc-André Lureau
3ecb80e19a bluetooth: fix typo with service_{read,write}_type 2009-08-15 02:43:36 +02:00
Marc-André Lureau
fd32fee448 bluetooth: don't call pa_sink_render with 0 bytes request 2009-08-15 02:42:56 +02:00
Lennart Poettering
350a2bc846 core: make fixed latency dynamically changeable
This of course makes the name 'fixed' a bit of a misnomer. However the
definitions are now like this:

fixed latency: the latency may change during runtime, but is solely
controlled by the backend, the client has no influence.

dynamic latency: the latency may change during runtime, influenced by
the requests of the clients.

i.e. fixed vs. dynamic is from the perspective of the client.
2009-08-15 00:48:14 +02:00
Lennart Poettering
51b3899348 core: save volume/mute changes coming from the hardware automatically
Volume changes coming from the lower layers are most likely changes
triggered by the user, so let's save them automatically.
2009-08-07 23:55:06 +02:00
Marc-André Lureau
95d3faaac8 bluetooth: don't connect on unconnected profile 2009-07-01 21:00:42 +02:00
Marc-André Lureau
e93c6c36fe bluetooth: warn on EAGAIN after POLLOUT 2009-07-01 21:00:33 +02:00
Lennart Poettering
cd70d7f5b0 bluetooth: don't busy loop when device is not writable but we want to write 2009-07-01 02:21:17 +02:00
Lennart Poettering
fc33f7ee97 Merge most of elmarco/rtclock2
Merge commit 'e4d914c945'
2009-06-22 23:09:46 +02:00
Marc-André Lureau
125c528896 pulse: move pa_rtclock_now in pulsecommon 2009-06-20 17:29:08 +03:00
Lennart Poettering
32e2cd6d32 core: get rid of rt sig/timer handling since modern Linux' ppooll() is finally fixed for granularity 2009-06-19 21:00:06 +02:00
Marc-André Lureau
5dcdd5e358 perl -p -i -e 's/pa_rtclock_usec/pa_rtclock_now/g' find . -name '*.[ch]' 2009-06-19 19:04:04 +03:00
Lennart Poettering
bd8e043a52 bluetooth: return sensible error code in set_profile() 2009-06-17 04:51:57 +02:00
Lennart Poettering
31575f7766 alsa: rework mixer logic
Completely rework mixer logic. This now allows controlling a full set of
elements from a single sink's volume slider/mute button.

This also introduces sink and source "ports" that can be used to choose
different input or output ports with the UI. (i.e. "mic"/"line-in" or
"speaker"/"headphones".

The mixer paths and device maps are now configered in external
configuration files and can be tweaked as necessary.
2009-06-17 03:45:14 +02:00
Lennart Poettering
f13bbd576f prop: introduce new PA_PROP_DEVICE_INTENDED_ROLES property 2009-06-08 16:58:45 +02:00
Lennart Poettering
1c4393acf0 modules: add {sink|source|card}_properties argument to all modules 2009-05-28 02:39:22 +02:00
Jyri Sarha
44e566ade8 bluetooth-device: Add safe guard against BT streaming irregularities.
Some bad quality BT-headsets block bluez socket sometimes for hundreds
of milliseconds, especially when changing mode. When the module tries
catch up the lost time it may SBC encode up to half a second of audio
without yielding. On slow machine this may cause maximum RT time slice
to be exceeded. Cleaned out the minor fix that slipped into first version
of the patch.
2009-05-08 22:49:42 +02:00
Lennart Poettering
3766850c8b core: introduce pa_{sink,source}_set_fixed_latency()
This allows us to forward the fixed latency directly from the sink to
the monitor source withut having to wait for pa_sink_put().
2009-05-08 02:04:48 +02:00
Marc-André Lureau
099b3284ec bluetoth-device: be less strict on CONNECTED state to switch profile 2009-04-17 22:41:36 +02:00
Lennart Poettering
ee6657aa9a bluetooth: when starting up HSP stream, send 2 packets first, only afterwards enter one-read-one-write logic 2009-04-10 01:31:30 +02:00
Lennart Poettering
d77b28cb4b bluetooth: rework timing logic, properly implement latency callbacks 2009-04-10 01:30:50 +02:00
Lennart Poettering
e9a4dec81e bluetooth: be a bit more verbose if we exit due to bad poll() revents flag 2009-04-10 01:29:46 +02:00
Lennart Poettering
48cff5b55d bluetooth: rename sco to hsp also for the user 2009-04-10 01:28:21 +02:00
Lennart Poettering
6c04a1c903 bluetooth: make sure to set max_request 2009-04-08 04:15:42 +02:00
Lennart Poettering
d035f4a3f3 Modify smoothing code to make cubic interpolation optional and allow 'quick fixups' on resuming
The primary reason for this change is to allow time graphs that do not
go through the origin and hence smoothing starting from the origin is
not desired. This change will allow passing time data into the smoother
while paused and then abruptly use that data without smoothing using the
'quick fixup' flag when resuming.

Primary use case is allowing recording time graphs where the data
recorded originates from a time before the stream was created. The
resulting graft will be shifted and should not be smoothened to go
through the origin.
2009-04-05 02:26:02 +02:00
Lennart Poettering
857a1f4909 fix compiler warning 2009-03-30 20:57:23 +02:00
Lennart Poettering
90fbc036f4 make sure we never access an invalid pa_bluetooth_device object 2009-03-30 20:57:12 +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