From 11d84068a4bcc2329efa2a5e83ef9d536b8bbdcb Mon Sep 17 00:00:00 2001 From: dijunkun Date: Thu, 28 Nov 2024 18:26:00 +0800 Subject: [PATCH] [fix] start to send data only when ice status turns to READY --- src/pc/peer_connection.cpp | 10 ++++++---- src/pc/peer_connection.h | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/pc/peer_connection.cpp b/src/pc/peer_connection.cpp index 27dfcc2..c2dc0cc 100644 --- a/src/pc/peer_connection.cpp +++ b/src/pc/peer_connection.cpp @@ -140,13 +140,15 @@ int PeerConnection::Init(PeerConnectionParams params, user_id.size(), user_data_); } else if ("connected" == ice_status) { // std::string transmission_id = std::string(user_id, user_id_size); - is_ice_transmission_ready_[user_id] = true; - on_connection_status_(ConnectionStatus::Connected, user_id.data(), - user_id.size(), user_data_); - b_force_i_frame_ = true; + // is_ice_transmission_ready_[user_id] = true; + // on_connection_status_(ConnectionStatus::Connected, user_id.data(), + // user_id.size(), user_data_); + // b_force_i_frame_ = true; LOG_INFO("Ice connected"); } else if ("ready" == ice_status) { is_ice_transmission_ready_[user_id] = true; + b_force_i_frame_ = true; + LOG_INFO("Ice ready"); on_connection_status_(ConnectionStatus::Connected, user_id.data(), user_id.size(), user_data_); } else if ("closed" == ice_status) { diff --git a/src/pc/peer_connection.h b/src/pc/peer_connection.h index 9cc6872..671e461 100644 --- a/src/pc/peer_connection.h +++ b/src/pc/peer_connection.h @@ -143,8 +143,9 @@ class PeerConnection { bool enable_turn_ = false; bool trickle_ice_ = true; bool reliable_ice_ = true; + bool try_rejoin_with_turn_ = false; TraversalMode mode_ = TraversalMode::P2P; - bool try_rejoin_with_turn_ = true; + std::vector video_payload_types_ = {RtpPacket::PAYLOAD_TYPE::H264, RtpPacket::PAYLOAD_TYPE::AV1}; std::vector audio_payload_types_ = {RtpPacket::PAYLOAD_TYPE::OPUS};