Home | History | Annotate | Download | only in src

Lines Matching refs:peer

131         : State(sm, kStateIdle), peer_(sm.Peer()) {}
143 : State(sm, kStateOpening), peer_(sm.Peer()) {}
155 : State(sm, kStateOpened), peer_(sm.Peer()) {}
167 : State(sm, kStateStarted), peer_(sm.Peer()) {}
179 : State(sm, kStateClosing), peer_(sm.Peer()) {}
203 BtifAvPeer& Peer() { return peer_; }
232 * Check whether the peer can be deleted.
239 * Check whether the peer is the active one.
241 * @return true if this peer is the active one
246 * Get the address of the active peer.
248 * @return the address of the active peer
320 const uint8_t peer_sep_; // SEP type of peer device
359 * Check whether a connection to a peer is allowed.
362 * @param peer_address the peer address to connect to
368 * Delete a peer.
370 * @param peer_address the peer to delete
377 * If a peer was just created/initialized, then it cannot be deleted yet.
382 * Get the active peer.
384 * @return the active peer
389 * Set the active peer.
391 * @param peer_address the active peer address or RawAddress::kEmpty to
392 * reset the active peer
396 LOG_INFO(LOG_TAG, "%s: peer: %s", __PRETTY_FUNCTION__,
401 BTIF_TRACE_EVENT("%s: peer address is empty, shutdown the Audio source",
404 BTIF_TRACE_WARNING("%s: unable to set active peer to empty in BtaAvCo",
413 BtifAvPeer* peer = FindPeer(peer_address);
414 if (peer != nullptr && !peer->IsConnected()) {
415 BTIF_TRACE_ERROR("%s: Error setting %s as active Source peer", __func__,
416 peer->PeerAddress().ToString().c_str());
428 * Update source codec configuration for a peer.
430 * @param peer_address the address of the peer to update
436 // Restart the session if the codec for the active peer is updated
496 * Check whether a connection to a peer is allowed.
499 * @param peer_address the peer address to connect to
505 * Delete a peer.
507 * @param peer_address the peer to delete
514 * If a peer was just created/initialized, then it cannot be deleted yet.
519 * Get the active peer.
521 * @return the active peer
526 * Set the active peer.
528 * @param peer_address the active peer address or RawAddress::kEmpty to
529 * reset the active peer
533 LOG_INFO(LOG_TAG, "%s: peer: %s", __PRETTY_FUNCTION__,
538 BTIF_TRACE_EVENT("%s: peer address is empty, shutdown the Audio sink",
541 BTIF_TRACE_WARNING("%s: unable to set active peer to empty in BtaAvCo",
550 BtifAvPeer* peer = FindPeer(peer_address);
551 if (peer != nullptr && !peer->IsConnected()) {
552 BTIF_TRACE_ERROR("%s: Error setting %s as active Sink peer", __func__,
553 peer->PeerAddress().ToString().c_str());
857 LOG(FATAL) << __PRETTY_FUNCTION__ << ": A2DP peer " << PeerAddress()
932 BtifAvPeer* peer = it.second;
933 if (peer->BtaHandle() == bta_handle) {
934 return peer;
942 BtifAvPeer* peer = it.second;
943 if (peer->PeerId() == peer_id) {
944 return peer;
955 BtifAvPeer* peer = FindPeer(peer_address);
956 if (peer != nullptr) return peer;
958 // Find next availabie Peer ID to use
965 "%s: Cannot create peer for peer_address=%s : "
966 "cannot allocate unique Peer ID",
979 "%s: Create peer: peer_address=%s bta_handle=0x%x peer_id=%d",
982 peer = new BtifAvPeer(peer_address, AVDT_TSEP_SNK, bta_handle, peer_id);
983 peers_.insert(std::make_pair(peer_address, peer));
984 peer->Init();
985 return peer;
993 const BtifAvPeer* peer = it.second;
994 switch (peer->StateMachine().StateId()) {
998 if (peer->PeerAddress() == peer_address) {
1013 BtifAvPeer* peer = it->second;
1014 peer->Cleanup();
1016 delete peer;
1022 BtifAvPeer* peer = it->second;
1024 if (!peer->CanBeDeleted()) continue;
1025 LOG_INFO(LOG_TAG, "%s: Deleting idle peer: %s bta_handle=0x%x", __func__,
1026 peer->PeerAddress().ToString().c_str(), peer->BtaHandle());
1027 peer->Cleanup();
1029 delete peer;
1036 BtifAvPeer* peer = it->second;
1037 peer->Cleanup();
1039 delete peer;
1062 // Set the BTA Handle for the Peer (if exists)
1063 BtifAvPeer* peer = FindPeerByPeerId(peer_id);
1064 if (peer != nullptr) {
1065 peer->SetBtaHandle(bta_handle);
1117 BtifAvPeer* peer = it.second;
1118 if (peer->BtaHandle() == bta_handle) {
1119 return peer;
1127 BtifAvPeer* peer = it.second;
1128 if (peer->PeerId() == peer_id) {
1129 return peer;
1140 BtifAvPeer* peer = FindPeer(peer_address);
1141 if (peer != nullptr) return peer;
1143 // Find next availabie Peer ID to use
1150 "%s: Cannot create peer for peer_address=%s : "
1151 "cannot allocate unique Peer ID",
1165 "%s: Create peer: peer_address=%s bta_handle=0x%x peer_id=%d",
1168 peer = new BtifAvPeer(peer_address, AVDT_TSEP_SRC, bta_handle, peer_id);
1169 peers_.insert(std::make_pair(peer_address, peer));
1170 peer->Init();
1171 return peer;
1179 const BtifAvPeer* peer = it.second;
1180 switch (peer->StateMachine().StateId()) {
1184 if (peer->PeerAddress() == peer_address) {
1199 BtifAvPeer* peer = it->second;
1200 peer->Cleanup();
1202 delete peer;
1208 BtifAvPeer* peer = it->second;
1210 if (!peer->CanBeDeleted()) continue;
1211 LOG_INFO(LOG_TAG, "%s: Deleting idle peer: %s bta_handle=0x%x", __func__,
1212 peer->PeerAddress().ToString().c_str(), peer->BtaHandle());
1213 peer->Cleanup();
1215 delete peer;
1222 BtifAvPeer* peer = it->second;
1223 peer->Cleanup();
1225 delete peer;
1247 // Set the BTA Handle for the Peer (if exists)
1248 BtifAvPeer* peer = FindPeerByPeerId(peer_id);
1249 if (peer != nullptr) {
1250 peer->SetBtaHandle(bta_handle);
1255 BTIF_TRACE_DEBUG("%s: Peer %s", __PRETTY_FUNCTION__,
1261 // Stop A2DP if this is the active peer
1266 // Reset the active peer if this was the active peer and
1287 BTIF_TRACE_DEBUG("%s: Peer %s", __PRETTY_FUNCTION__,
1292 BTIF_TRACE_DEBUG("%s: Peer %s : event=%s flags=%s active_peer=%s",
1305 // Ignore. Just re-enter Idle so the peer can be deleted
1316 // Re-enter Idle so the peer can be deleted
1334 "%s: Cannot connect to peer %s: too many connected "
1357 BTIF_TRACE_WARNING("%s: Peer %s : event=%s received without AV",
1373 "%s: Cannot connect to peer %s: too many connected "
1415 LOG_TAG, "%s: Peer %s : event=%s flags=%s status=%d(%s) edr=0x%x",
1441 "%s: Cannot connect to peer %s: too many connected "
1473 BTIF_TRACE_DEBUG("%s: Peer %s : event=%s : Stopping AV timer",
1485 BTIF_TRACE_ERROR("%s: Peer %s : event=%s: stream is not Opened",
1493 BTIF_TRACE_WARNING("%s: Peer %s : Unhandled event=%s",
1504 BTIF_TRACE_DEBUG("%s: Peer %s", __PRETTY_FUNCTION__,
1513 BTIF_TRACE_DEBUG("%s: Peer %s", __PRETTY_FUNCTION__,
1519 BTIF_TRACE_DEBUG("%s: Peer %s : event=%s flags=%s active_peer=%s",
1535 "%s: Peer %s : event=%s: transitioning to Idle due to ACL Disconnect",
1546 BTIF_TRACE_WARNING("%s: Peer %s : event=%s flags=%s", __PRETTY_FUNCTION__,
1565 LOG_TAG, "%s: Peer %s : event=%s flags=%s status=%d(%s) edr=0x%x",
1580 BTIF_TRACE_WARNING("%s: Peer %s : Disconnecting AVRCP",
1626 "%s: Peer %s : event=%s : device is already connecting, "
1637 "%s: Peer %s : event=%s : device is already connecting, "
1644 BTIF_TRACE_ERROR("%s: Peer %s : event=%s: stream is not Opened",
1674 BTIF_TRACE_WARNING("%s: Peer %s : Unhandled event=%s",
1684 BTIF_TRACE_DEBUG("%s: Peer %s", __PRETTY_FUNCTION__,
1690 // Set the active peer if the first connected device.
1697 BTIF_TRACE_ERROR("%s: Error setting %s as active Source peer", __func__,
1704 BTIF_TRACE_DEBUG("%s: Peer %s", __PRETTY_FUNCTION__,
1714 BTIF_TRACE_DEBUG("%s: Peer %s : event=%s flags=%s active_peer=%s",
1723 BTIF_TRACE_EVENT("%s: Peer %s : Resetting remote suspend flag on RC PLAY",
1736 LOG_INFO(LOG_TAG, "%s: Peer %s : event=%s flags=%s", __PRETTY_FUNCTION__,
1746 "%s: Peer %s : event=%s status=%d suspending=%d "
1759 BTIF_TRACE_WARNING("%s: Peer %s : trigger Suspend as remote initiated",
1766 // If peer is A2DP Source, we do not want to ACK commands on UIPC
1814 BTIF_TRACE_WARNING("%s: Peer %s : failed pending start request",
1831 "%s : Peer %s : Reconfig done - calling BTA_AvStart()",
1835 BTIF_TRACE_WARNING("%s: Peer %s : failed reconfiguration",
1844 BTIF_TRACE_WARNING("%s: Peer %s : Ignore %s for same device",
1852 BTIF_TRACE_ERROR("%s: Peer %s : event=%s: stream is not Opened",
1862 "%s: Peer %s : Resetting remote suspend flag on RC PLAY",
1871 BTIF_TRACE_WARNING("%s: Peer %s : Unhandled event=%s",
1881 BTIF_TRACE_DEBUG("%s: Peer %s", __PRETTY_FUNCTION__,
1893 BTIF_TRACE_DEBUG("%s: Peer
1901 BTIF_TRACE_DEBUG("%s: Peer %s : event=%s flags=%s active_peer=%s",
1912 LOG_INFO(LOG_TAG, "%s: Peer %s : event=%s flags=%s", __PRETTY_FUNCTION__,
1924 LOG_INFO(LOG_TAG, "%s: Peer %s : event=%s flags=%s", __PRETTY_FUNCTION__,
1953 LOG_INFO(LOG_TAG, "%s: Peer %s : event=%s flags=%s", __PRETTY_FUNCTION__,
1974 "%s: Peer %s : event=%s status=%d initiator=%d flags=%s",
2014 LOG_INFO(LOG_TAG, "%s: Peer %s : event=%s flags=%s", __PRETTY_FUNCTION__,
2031 LOG_INFO(LOG_TAG, "%s: Peer %s : event=%s flags=%s", __PRETTY_FUNCTION__,
2061 BTIF_TRACE_WARNING("%s: Peer %s : Unhandled event=%s",
2072 BTIF_TRACE_DEBUG("%s: Peer %s", __PRETTY_FUNCTION__,
2087 BTIF_TRACE_DEBUG("%s: Peer %s", __PRETTY_FUNCTION__,
2093 BTIF_TRACE_DEBUG("%s: Peer %s : event=%s flags=%s active_peer=%s",
2130 BTIF_TRACE_ERROR("%s: Peer %s : event=%s: stream is not Opened",
2138 BTIF_TRACE_WARNING("%s: Peer %s : Unhandled event=%s",
2153 BtifAvPeer* peer = (BtifAvPeer*)data;
2155 BTIF_TRACE_DEBUG("%s: Peer %s", __func__,
2156 peer->PeerAddress().ToString().c_str());
2158 // Check if AVRCP is connected to the peer
2159 if (!btif_rc_is_connected_peer(peer->PeerAddress())) {
2160 BTIF_TRACE_ERROR("%s: AVRCP peer %s is not connected", __func__,
2161 peer->PeerAddress().ToString().c_str());
2165 // Connect to the AVRCP peer
2167 btif_av_source.FindPeer(peer->PeerAddress()) == peer) {
2168 BTIF_TRACE_DEBUG("%s: Connecting to AVRCP peer %s", __func__,
2169 peer->PeerAddress().ToString().c_str());
2170 btif_av_source_dispatch_sm_event(peer->PeerAddress(),
2180 BtifAvPeer* peer = (BtifAvPeer*)data;
2182 BTIF_TRACE_DEBUG("%s: Peer %s", __func__,
2183 peer->PeerAddress().ToString().c_str());
2185 // Check if AVRCP is connected to the peer
2186 if (!btif_rc_is_connected_peer(peer->PeerAddress())) {
2187 BTIF_TRACE_ERROR("%s: AVRCP peer %s is not connected", __func__,
2188 peer->PeerAddress().ToString().c_str());
2192 // Connect to the AVRCP peer
2194 btif_av_sink.FindPeer(peer->PeerAddress()) == peer) {
2195 BTIF_TRACE_DEBUG("%s: Connecting to AVRCP peer %s", __func__,
2196 peer->PeerAddress().ToString().c_str());
2197 btif_av_sink_dispatch_sm_event(peer->PeerAddress(),
2205 * @param peer_address the peer address
2230 * @param peer_address the peer address
2269 * @param peer_address the peer address
2275 LOG_INFO(LOG_TAG, "%s: Peer %s : sample_rate=%d channel_count=%d", __func__,
2288 * @param peer_sep the corresponding peer's SEP: AVDT_TSEP_SRC if the peer
2289 * is A2DP Source, or AVDT_TSEP_SNK if the peer is A2DP Sink.
2290 * @param peer_address the peer address if known, otherwise RawAddress::kEmpty
2291 * @param bta_handle the BTA handle for the peer if known, otherwise
2299 BtifAvPeer* peer = nullptr;
2305 // Find the peer
2308 peer = btif_av_source.FindOrCreatePeer(peer_address, bta_handle);
2310 peer = btif_av_sink.FindOrCreatePeer(peer_address, bta_handle);
2314 peer = btif_av_source.FindPeerByHandle(bta_handle);
2316 peer = btif_av_sink.FindPeerByHandle(bta_handle);
2319 if (peer == nullptr) {
2321 "%s: Cannot find or create %s peer for peer_address=%s handle=0x%x : "
2329 peer
2337 * @param peer_sep the corresponding peer's SEP: AVDT_TSEP_SRC if the peer
2338 * is A2DP Source, or AVDT_TSEP_SNK if the peer is A2DP Sink.
2489 BtifAvPeer* peer = btif_av_sink_find_peer(btif_av_sink.ActivePeer());
2490 if (peer != nullptr) {
2491 int state = peer->StateMachine().StateId();
2564 BtifAvPeer* peer = nullptr;
2566 peer = btif_av_source.FindOrCreatePeer(*peer_address, kBtaHandleUnknown);
2567 if (peer == nullptr) {
2571 peer = btif_av_sink.FindOrCreatePeer(*peer_address, kBtaHandleUnknown);
2572 if (peer == nullptr) {
2576 peer->StateMachine().ProcessEvent(BTIF_AV_CONNECT_REQ_EVT, nullptr);
2580 // Set the active peer
2586 BtifAvPeer* peer = nullptr;
2589 BTIF_TRACE_ERROR("%s: Error setting %s as active Sink peer", __func__,
2596 BTIF_TRACE_ERROR("%s: Error setting %s as active Source peer", __func__,
2601 // If reached here, we could not set the active peer
2602 BTIF_TRACE_ERROR("%s: Cannot set active %s peer to %s: peer not %s", __func__,
2605 (peer == nullptr) ? "found" : "connected");
2609 BTIF_TRACE_EVENT("%s: Peer %s", __func__, peer_address.ToString().c_str());
2622 LOG_INFO(LOG_TAG, "%s: Peer %s", __func__, peer_address.ToString().c_str());
2635 LOG_INFO(LOG_TAG, "%s: Peer %s", __func__, peer_address.ToString().c_str());
2651 LOG_INFO(LOG_TAG, "%s: Peer %s", __func__, peer_address.ToString().c_str());
2667 BTIF_TRACE_EVENT("%s: Peer %s", __func__, peer_address.ToString().c_str());
2737 LOG_INFO(LOG_TAG, "%s peer %s", __func__, peer_address.ToString().c_str());
2744 // The active peer might have changed and we might be in the process
2745 // of reconfiguring the stream. We need to stop the appopriate peer(s).
2747 const BtifAvPeer* peer = it.second;
2748 btif_av_source_dispatch_sm_event(peer->PeerAddress(),
2755 // The active peer might have changed and we might be in the process
2756 // of reconfiguring the stream. We need to suspend the appropriate peer(s).
2758 const BtifAvPeer* peer = it.second;
2759 btif_av_source_dispatch_sm_event(peer->PeerAddress(),
2771 LOG_INFO(LOG_TAG, "%s: peer %s", __func__, peer_address.ToString().c_str());
2782 BtifAvPeer* peer = btif_av_find_active_peer();
2783 if (peer == nullptr) {
2784 BTIF_TRACE_WARNING("%s: No active peer found", __func__);
2788 int state = peer->StateMachine().StateId();
2789 LOG_INFO(LOG_TAG, "%s: Peer %s : state=%d, flags=%s", __func__,
2790 peer->PeerAddress().ToString().c_str(), state,
2791 peer->FlagsToString().c_str());
2793 if (peer->CheckFlags(BtifAvPeer::kFlagRemoteSuspend |
2802 BtifAvPeer* peer = btif_av_find_active_peer();
2803 if (peer == nullptr) {
2804 BTIF_TRACE_WARNING("%s: No active peer found", __func__);
2808 int state = peer->StateMachine().StateId();
2810 if (peer->CheckFlags(BtifAvPeer::kFlagLocalSuspendPending |
2818 LOG_INFO(LOG_TAG, "%s: Peer %s : state=%d flags=%s ready=%d", __func__,
2819 peer->PeerAddress().ToString().c_str(), state,
2820 peer->FlagsToString().c_str(), ready);
2922 BtifAvPeer* peer = btif_av_find_active_peer();
2923 if (peer == nullptr) {
2924 BTIF_TRACE_WARNING("%s: No active peer found", __func__);
2928 bool connected = peer->IsConnected();
2929 BTIF_TRACE_DEBUG("%s: Peer %s is %s", __func__,
2930 peer->PeerAddress().ToString().c_str(),
2936 BtifAvPeer* peer = btif_av_find_active_peer();
2937 if (peer == nullptr) {
2938 BTIF_TRACE_WARNING("%s: No active peer found", __func__);
2942 uint8_t peer_sep = peer->PeerSep();
2943 BTIF_TRACE_DEBUG("%s: Peer %s SEP is %s (%d)", __func__,
2944 peer->PeerAddress().ToString().c_str(),
2950 BtifAvPeer* peer = btif_av_find_active_peer();
2951 if (peer == nullptr) {
2952 BTIF_TRACE_WARNING("%s: No active peer found", __func__);
2956 BTIF_TRACE_DEBUG("%s: Peer %s : flags=%s are cleared", __func__,
2957 peer->PeerAddress().ToString().c_str(),
2958 peer->FlagsToString().c_str());
2959 peer->ClearFlags(BtifAvPeer::kFlagRemoteSuspend);
2966 BtifAvPeer* peer =
2968 if (peer != nullptr) {
2973 BtifAvPeer* peer =
2975 if (peer != nullptr) {
2980 BTIF_TRACE_ERROR("%s: event ignored: cannot find or create peer state for %s",
3006 BtifAvPeer* peer = btif_av_find_peer(peer_address);
3007 if (peer == nullptr) {
3008 BTIF_TRACE_WARNING("%s: No peer found for peer_address=%s", __func__,
3012 if (!peer->IsConnected()) {
3013 BTIF_TRACE_WARNING("%s: Peer %s is not connected", __func__,
3018 bool is_edr = peer->IsEdr();
3019 BTIF_TRACE_DEBUG("%s: Peer %s : is_edr=%d", __func__,
3025 BtifAvPeer* peer = btif_av_find_peer(peer_address);
3026 if (peer == nullptr) {
3027 BTIF_TRACE_WARNING("%s: No peer found for peer_address=%s", __func__,
3032 bool is3mbps = peer->Is3Mbps();
3033 bool is_connected = peer->IsConnected();
3034 BTIF_TRACE_DEBUG("%s: Peer %s : connected=%d, edr_3mbps=%d", __func__,
3041 LOG_INFO(LOG_TAG, "%s: Peer %s : ACL Disconnected", __func__,
3051 static void btif_debug_av_peer_dump(int fd, const BtifAvPeer& peer) {
3053 int state = peer.StateMachine().StateId();
3075 dprintf(fd, " Peer: %s\n", peer.PeerAddress().ToString().c_str());
3076 dprintf(fd, " Connected: %s\n", peer.IsConnected() ? "true" : "false");
3077 dprintf(fd, " Streaming: %s\n", peer.IsStreaming() ? "true" : "false");
3078 dprintf(fd, " SEP: %d(%s)\n", peer.PeerSep(),
3079 (peer.IsSource()) ? "Source" : "Sink");
3081 dprintf(fd, " Flags: %s\n", peer.FlagsToString().c_str());
3083 alarm_is_scheduled(peer.AvOpenOnRcTimer()) ? "Scheduled"
3085 dprintf(fd, " BTA Handle: 0x%x\n", peer.BtaHandle());
3086 dprintf(fd, " Peer ID: %d\n", peer.PeerId());
3087 dprintf(fd, " EDR: %s\n", peer.IsEdr() ? "true" : "false");
3088 dprintf(fd, " Support 3Mbps: %s\n", peer.Is3Mbps() ? "true" : "false");
3090 peer.SelfInitiatedConnection() ? "true" : "false");
3098 dprintf(fd, " Active peer: %s\n",
3101 const BtifAvPeer* peer = it.second;
3102 btif_debug_av_peer_dump(fd, *peer);
3111 dprintf(fd, " Active peer: %s\n",
3115 const BtifAvPeer* peer = it.second;
3116 btif_debug_av_peer_dump(fd, *peer);