Age | Commit message (Collapse) | Author |
|
Also increase a2dp_write timeout from 100ms to 500 ms
to avoid losing the first fraction of a second of a song
when streaming starts.
This is a manual integration of commit cb75ad7a5a708a6a1f593cddb745f1c0460676c6
from donut.
Signed-off-by: Mike Lockwood <lockwood@android.com>
|
|
Read the error code in a new recv call. Trying to read more data
than required to cover the error scenario was causing problems
when a NEW STREAM was being started.
|
|
In Bluez4, the error code has been moved out of the response
structure into a new structure bt_audio_error_t. We were only
reading sizeof(bt_audio_msg_header_t) and hence the 1 extra bytes
gets read on the next call and our state machine gets screwed up.
Fixed some tab / spaces issue.
|
|
1)Add support for ro.produce.model/brand/name system properties.
2)Set SBC frequency to 44100.
Original Change by Nick Pelly. <npelly@google.com>
Moved to Bluez-4 by Jaikumar Ganesh. <jaikumar@google.com>
|
|
Original author: Nick Pelly <npelly@google.com>
Change-Id: Ic5d728751454dc32dcfe0d91a93e23df654e419d
|
|
Change-Id: I60bfb7cf24f1152913f944652e413509a6c31f26
|
|
Original change: Mike Lockwood and Nick Pelly
Contains changes by: Jaikumar Ganesh and Eric Laurent
Change-Id: Ib9ed83951721e42aebd1a2872a2267291d024b76
|
|
This includes the following commits from previous versions:
a) bluez: Add Android.mk for pand (off by default)
b163e2bb16bb5e06a7100f77fe94c24aef1a162e by <san@google.com>
b) Add missing libbluetooth in linker commands for executables using libbluetoothd.
3e442fe33c17b9476063068d5bb486b4f936257b by <dougkwan@google.com>
c) Edit makefiles to get network to work. Changed libglib to be a shared library
fddb10d62d21580c49101c3dc4ab43f6619234c0 by Danica Chang
d) Update Bluetooth configuration path: 0b25504e93b95a809e32227a3832bf08a3c13296
by Jaikumar Ganesh
e) bluez : use another code for Intel's mmx. fe0762b2463df43b2765582c76a09356c753e16b
by: Author: Jae-Hyung Ahn <jerry.ahn@windriver.com>,
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Those functions already get copy of pointer to list so local copy is
not needed.
|
|
|
|
Use foo(void) instead of foo() for parameterless functions declaration.
This allows compiler to check if foo is called without parameters.
|
|
|
|
finalize_setup_errno last parameter must be NULL otherwise it may access
invalid memory.
|
|
|
|
|
|
|
|
|
|
|
|
To make sure the SCO link is really disconnected we should wait for
POLLERR since POLLHUP does not necessarily means the link is
completely disconnected just that no further data can be sent/received.
Note that this depend on a fix of SCO socket shutdown in kernel to wait
for disconnect confimation to then kill/destroy the socket indicating
the err/reason using POLLERR.
|
|
|
|
HFP is updated by NO CARRIER response accordingly to HFP 1.5 p.68.
|
|
If sep is locked it should not be unregistered until properly unlocked.
|
|
Change-Id: Ibec15e1a8d9d23a0fe557ceb59ac2c80bbc5d6c3
|
|
In rare situations this may lead to access invalid memory since setup
can be freed before idle callback is called.
|
|
There was a lot of duplicate code in them so they are now replaced by
finalize_setup_errno which can deal with multiple callbacks reusing the
same error.
|
|
Finalize_suspend is being called twice when a resume request is queue
after it or if start fails.
|
|
To prevent a crash in the event that there is a request to remove
the audio connection when it has already been disconnected by the
remote.
Set headset state to connected directly if there is no SCO socket.
|
|
ERROR code response is added to ATD command in maemo6 telephony driver
based on HFP 1.5 specification, page 68:
"Standard error indication code. It shall be issued on detection of any
syntax, format or procedure error condition."
|
|
Change-Id: Idc8204629b859ef3873afc4d303a61308af14a07
|
|
Change-Id: I65a820d9feb1bc6c80915851f09202483420ab8d
Author: Jae-Hyung Ahn <jerry.ahn@windriver.com>
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
|
|
Original commit: c3d03f1916d453eabbc5e3d58f6926dcaba2c4df
update by Jaikumar Ganesh for Bluez upmerge.
|
|
Change-Id: I6eaf6b2ad1eb99c0c163d4d1131d851ec6781cb6
|
|
Android only supports category 1 keys.
Change-Id: I0760b7a8f49ff9e21dbd28cb3a5ce486209a30c3
|
|
There are several problems in liba2dp.c:
1 There is a bug in bluetooth_parse_capabilities(): the capabilities field pointer increment
in the while loop is wrong and in case the first capabilities field is not the one we need
we end up reading undefined data.
2 In the same while loop there is no protection for infinite looping if the length of the
capabilities field is 0.
3 When start or configure fail, we just reset state to A2DP_STATE_INITIALIZED to force a new
configuration attempt. This is bad as we don't close the connection and configure expects a
closed connection. Subsequent configure attempts will fail reading sbc capabilites.
4 When there is a problem executing a command in a2dp_thread() loop, we do not reset current command
which prevents from executing the same command again.
Here is what happens in this issue:
There is an error in the A2DP start request because the headset has been disconnected and we go back to configure.
Because of problem 3, the connection is still opened when we run configure again and the 1st capabilitites
field lock indicator is set. We try to read next field and because of problems 1 & 2 we end up looping here for ever.
As data->mutex is locked, it cannot be acquired by pthread_cond_timedwait() trying to exit in
wait_for_start() and the timeout mechanism fails. We stay locked here with A2dpAudioInterface::A2dpAudioStreamOut::mLock also
locked as we are in A2dpAudioInterface::A2dpAudioStreamOut:write().
When system_server tries to disable bluetooth A2DP, A2dpAudioInterface::A2dpAudioStreamOut::setBluetoothEnabled()
tries to acquire mLock and system_server is also deadlocked.
Change-Id: I785250fe65651ec6fc2ae01a4250a61f2fd43908
|
|
This is to avoid skips when the system time changes.
|
|
falling behind by 200ms, or on poll() timeout.
This allows us to recover more quickly from a situation where an A2DP headset
rejects A2DP packets for a short time. We now reset to regular packet metering
faster.
|
|
|
|
flush timeout.
Remove the (ahead < 0) logic that was designed to skip forwards when streaming
was lagging. This logic was not working properly, and ACL flushing does its
job.
Changes made by: Jaikumar Ganesh for Bluez upgrade to 4.89
Change-Id: Ic9025be657cbea1362b0a7f1d5a30ecf55e6cad2
|
|
This is to address an A2DP issue seen with the Mazda carkit, where A2DP audio
cannot be played. The MTU size (8200) requested by this carkit is much greater
than the output buffer size (2048) allocated by the Bluez A2DP profile. The
output buffer being full is giving an SBC encode error. This patch checks for
the buffer full condition.
Change-Id: Idded504d085c760baef15cd3cef84fcf57165e4f
Signed-off-by: Yu Kang Ku <kang.ku@motorola.com>
Signed-off-by: Nick Pelly <npelly@google.com>
|
|
Enabled on platforms with BOARD_HAVE_BLUETOOTH_BCM.
Change-Id: Ic223955ac3580e5a9430f96e069f686a7afdbef8
|
|
This change will reduce the occurence rate of A2DP sink suspend resume failures observed in issues 2184627, 2181005 and possibly 2189628.
Avoid lockups in case of BT device disconnection during the A2DP start process by using a timeout when reading from bluetooth command socket.
Correct a typo causing potential deadlock in wait_for_start().
|
|
This is a cleanup to Ian Kent's preceeding patchset.
Change-Id: I8ff00530fdd337873ff898b7fd9009b0fc13f0b4
|