summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRavi Nagarajan <nravi@broadcom.com>2012-06-26 03:36:51 -0700
committerMatthew Xie <mattx@google.com>2012-07-25 01:07:06 -0700
commit03378a55ba4c099e53d838d2beb2bc09910cee98 (patch)
tree924c633bc573ef8dde2e079d802e2c956d7b9bc3
parent2112c8cf87f7feff19474f84d1b47b3fc3691c20 (diff)
downloadexternal_bluetooth_bluedroid-03378a55ba4c099e53d838d2beb2bc09910cee98.zip
external_bluetooth_bluedroid-03378a55ba4c099e53d838d2beb2bc09910cee98.tar.gz
external_bluetooth_bluedroid-03378a55ba4c099e53d838d2beb2bc09910cee98.tar.bz2
Fix for carkits that send PLAY without AVDTP START
Some carkits after send AVDTP SUSPEND right after RC PAUSE Per the whitepaper, the device sending AVDTP SUSPEND should send AVDTP START. However a few carkits send AVRCP PLAY without sending AVDTP START. Added a workaround to reset the remote suspend flag when an AVRCP PLAY is received Change-Id: If12e55b4d905b03890c69c2137f363986482ab1a
-rw-r--r--btif/src/btif_av.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/btif/src/btif_av.c b/btif/src/btif_av.c
index 80bee96..f7811a3 100644
--- a/btif/src/btif_av.c
+++ b/btif/src/btif_av.c
@@ -478,6 +478,13 @@ static BOOLEAN btif_av_state_opened_handler(btif_sm_event_t event, void *p_data)
BTIF_TRACE_DEBUG3("%s event:%s flags %x", __FUNCTION__,
dump_av_sm_event_name(event), btif_av_cb.flags);
+ if ( (event == BTA_AV_REMOTE_CMD_EVT) && (btif_av_cb.flags & BTIF_AV_FLAG_REMOTE_SUSPEND) &&
+ (p_av->remote_cmd.rc_id == BTA_AV_RC_PLAY) )
+ {
+ BTIF_TRACE_EVENT1("%s: Resetting remote suspend flag on RC PLAY", __FUNCTION__);
+ btif_av_cb.flags &= ~BTIF_AV_FLAG_REMOTE_SUSPEND;
+ }
+
switch (event)
{
case BTIF_SM_ENTER_EVT: