From 4ec26a1fd7e79f0e366d23c3ca74e7258e91d1bd Mon Sep 17 00:00:00 2001 From: dijunkun Date: Thu, 16 Nov 2023 00:50:55 -0800 Subject: [PATCH] Add closed status for ice --- src/pc/peer_connection.cpp | 4 ++++ src/transmission/ice_transmission.cpp | 3 +++ 2 files changed, 7 insertions(+) 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(); }