diff --git a/src/pc/peer_connection.cpp b/src/pc/peer_connection.cpp index 13523ab..19de2ee 100644 --- a/src/pc/peer_connection.cpp +++ b/src/pc/peer_connection.cpp @@ -101,6 +101,10 @@ int PeerConnection::Init(PeerConnectionParams params, on_connection_status_(ConnectionStatus::Connected); b_force_i_frame_ = true; LOG_INFO("Ice finish"); + } else if ("closed" == ice_status) { + ice_ready_ = false; + on_connection_status_(ConnectionStatus::Closed); + LOG_INFO("Ice closed"); } else { ice_ready_ = false; } diff --git a/src/transmission/ice_transmission.cpp b/src/transmission/ice_transmission.cpp index 29d28ba..1b0e74d 100644 --- a/src/transmission/ice_transmission.cpp +++ b/src/transmission/ice_transmission.cpp @@ -175,6 +175,9 @@ int IceTransmission::InitIceTransmission(std::string &stun_ip, int stun_port, int IceTransmission::DestroyIceTransmission() { LOG_INFO("[{}->{}] Destroy ice transmission", user_id_, remote_user_id_); + if (on_ice_status_change_) { + on_ice_status_change_("closed"); + } return ice_agent_->DestroyIceAgent(); }