aboutsummaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
authorYu Kang Ku <kang.ku@motorola.com>2009-11-05 10:49:48 -0800
committerJaikumar Ganesh <jaikumar@google.com>2011-05-25 11:51:54 -0700
commit9d60b87413f23ef48d3cb24bb44f51745c02a332 (patch)
tree1338180ee59ef30276343f321ee807b457bc6d76 /audio
parent9a8383ad9ee9516756abeeb5081de9651a6294ed (diff)
downloadbluez-9d60b87413f23ef48d3cb24bb44f51745c02a332.tar.gz
Send SBC frames if output buffer is nearly full.
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>
Diffstat (limited to 'audio')
-rwxr-xr-xaudio/liba2dp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/audio/liba2dp.c b/audio/liba2dp.c
index 7dcfc9dc..74038866 100755
--- a/audio/liba2dp.c
+++ b/audio/liba2dp.c
@@ -1160,7 +1160,8 @@ int a2dp_write(a2dpData d, const void* buffer, int count)
data->nsamples += encoded;
/* No space left for another frame then send */
- if (data->count + written >= data->link_mtu) {
+ if ((data->count + written >= data->link_mtu) ||
+ (data->count + written >= BUFFER_SIZE)) {
VDBG("sending packet %d, count %d, link_mtu %u",
data->seq_num, data->count,
data->link_mtu);