diff options
author | Ravi Nagarajan <nravi@broadcom.com> | 2012-06-26 03:36:51 -0700 |
---|---|---|
committer | Matthew Xie <mattx@google.com> | 2012-07-25 01:07:06 -0700 |
commit | 03378a55ba4c099e53d838d2beb2bc09910cee98 (patch) | |
tree | 924c633bc573ef8dde2e079d802e2c956d7b9bc3 | |
parent | 2112c8cf87f7feff19474f84d1b47b3fc3691c20 (diff) | |
download | external_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.c | 7 |
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: |