| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
| |
We should not store the link key if either side had "no bonding" as
their authentication requirement.
|
| |
|
| |
|
|
|
|
|
| |
This refactoring is preparation for more fine-grained link key writing
control with e.g. SSP "no bonding" use cases.
|
|
|
|
|
| |
We should check HF and not AG features when determining whether the SLC
creation is complete or not.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
The audio profile coexistence whitepaper recommends that the initiator
of the A2DP connection also initiates the AVRCP connection. This patch
adds a two second delay before we attempt connecting AVRCP after the
remote device has connected A2DP to us.
|
| |
|
| |
|
|
|
|
|
|
| |
When we are the acceptors of a pairing request and we have used the
Agent.DisplayPasskey we need to use the Simple Pairing Complete HCI
event for calling Agent.Cancel.
|
|
|
|
|
| |
This patch makes sure that we don't reply to the authentiction requests
if we get disconnected before authentication has completed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some headsets when acting as initiators of an AVDTP connection create
the AVDTP signaling channel but don't do anything else over it (i.e.
they expect us to set up a stream when needed). This patch makes
bluetoothd do the same as AudioSink.Connect() if no AVDTP commands have
been received from the sink within one second after it has created the
AVDTP signaling channel to us.
Setting up a stream is also important because the AudioSink Connected
property is bound to the existence of a configured stream (which makes
sense since an AVDTP connection as such tells us nothing about what
sinks and sources there are or even if audio or video will be used).
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This fix will unfortunately break any applications that make use of
snd_pcm_wait (audacious is one of them). However, without this fix most
applications using snd_pcm_poll_descriptors_revents will cause access to
invalid memory as they only pass a single integer (while
snd_pcm_wait_nocheck passes a full array). The following thread on the
alsa mailing list has more information:
http://mailman.alsa-project.org/pipermail/alsa-devel/2009-February/014392.html
|
| |
|
| |
|
|
|
|
|
| |
Using 'uint8_t' for bitfields doesn't make a lot of sense and is not
allowed in ANSI C. Use 'unsigned' instead.
|
|
|
|
| |
Signed-off-by: Lennart Poettering <lennart@poettering.net>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Thanks to Christian Hoene for finding and reporting the
problem. This regression was intruduced in commit
19af3c49e61aa046375497108e05a3a0605da158
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Count leading zeros operation is often implemented using a special
instruction for it on various architectures (at least this is true
for ARM and x86). Using __builtin_clz gcc intrinsic allows to
eliminate innermost loop in scale factors calculation and improve
performance. Also scale factors calculation can be optimized even
more using SIMD instructions.
|
|
|
|
|
|
| |
This patch implements AVDTP signal fragmentation. Even though it's a
mandatory feature it in practice it never gets used with A2DP as it
requires messages that exceed 48 bytes (the minimum L2CAP MTU).
|
| |
|
|
|
|
|
|
|
|
| |
Channels deinterleaving, endian conversion and samples reordering
is done in one pass, avoiding the use of intermediate buffer. Also
this code is implemented as a new "performance primitive", which
allows further platform specific optimizations (ARMv6 and ARM NEON
should gain quite a lot from assembly optimizations here).
|
|
|
|
|
|
|
|
|
| |
This patch makes sure that explicitly created connections (remotely
initiated or using AudioSink.Connect()) stay up until explictly
disconnected. The control for this needs to be in the stream timer and
not the disconnect timer since our AVDTP state machine always tries to
keep one stream in configured state (i.e. it should be ok to always
disconnect if we stay too long in IDLE state).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Added the use of -funroll-loops gcc option for SBC. Also in
order to gain better effect, 'sbc_pack_frame' function
body moved to an inline function, which gets instantiated
for 4 different subbands/channels combinations. So that
'frame_subbands' and 'frame_channels' arguments become compile
time constants and can be better optimized by the compiler.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Multiplying the first part of the analysis filter constant tables
by some coefficients and dividing the second part by the same
coefficients is a transformation which should produce the same
results if rounding errors are not taken into account. These
additional C0/C1/... coefficients can be varied in a certain
range (the requirement is that we still do not get overflows).
The 'magic' values for these coefficients are selected in such
a way that the rounding errors are minimized (rounding errors
are unavoidable when putting all the floating constants into
16-bit tables and losing some of the fractional part).
Also non-SIMD variant of the analysis filter is dropped because
keeping it would require applying a similar change to its tables,
which is a bit tricky and just increases maintenance overhead.
|