Merge "Handling of incoming AVRCP Controller connections"
diff --git a/bta/av/bta_av_act.cc b/bta/av/bta_av_act.cc
index ead7e29..a727842 100644
--- a/bta/av/bta_av_act.cc
+++ b/bta/av/bta_av_act.cc
@@ -1873,9 +1873,9 @@
       /*
        * In case scb is not created by the time we are done with SDP
        * we still need to send RC feature event. So we need to get BD
-       * from Message
+       * from Message.  Note that lidx is 1 based not 0 based
        */
-      rc_feat.peer_addr = p_cb->lcb[p_cb->rcb[rc_handle].lidx].addr;
+      rc_feat.peer_addr = p_cb->lcb[p_cb->rcb[rc_handle].lidx - 1].addr;
     } else {
       rc_feat.peer_addr = p_scb->PeerAddress();
     }
diff --git a/btif/src/btif_av.cc b/btif/src/btif_av.cc
index 3659534..24e32ec 100644
--- a/btif/src/btif_av.cc
+++ b/btif/src/btif_av.cc
@@ -1244,6 +1244,9 @@
   peer = new BtifAvPeer(peer_address, AVDT_TSEP_SRC, bta_handle, peer_id);
   peers_.insert(std::make_pair(peer_address, peer));
   peer->Init();
+  if (active_peer_.IsEmpty()) {
+    active_peer_ = peer_address;
+  }
   return peer;
 }