summaryrefslogtreecommitdiffstats
path: root/btif
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 /btif
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
Diffstat (limited to 'btif')
-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: