From b17fa3d0ba657f894f281f4d40995c00773557ec Mon Sep 17 00:00:00 2001 From: Heikki Tampio Date: Mon, 31 Jul 2023 09:23:49 +0300 Subject: [PATCH] multiplex: Remove duplicate code from media_stream --- src/media_stream.cc | 50 ++------------------------------------------- 1 file changed, 2 insertions(+), 48 deletions(-) diff --git a/src/media_stream.cc b/src/media_stream.cc index 59ae3b8..ff8feb0 100644 --- a/src/media_stream.cc +++ b/src/media_stream.cc @@ -370,54 +370,8 @@ rtp_error_t uvgrtp::media_stream::init_auto_zrtp(std::shared_ptr z UVG_LOG_ERROR("Failed to initialize media stream"); return free_resources(ret); } - bool perform_dh = !(rce_flags_ & RCE_ZRTP_MULTISTREAM_MODE); - if (!perform_dh) - { - UVG_LOG_DEBUG("Sleeping non-DH performing stream until DH has finished"); - std::chrono::system_clock::time_point tp = std::chrono::system_clock::now(); - - while (!zrtp->has_dh_finished()) - { - std::this_thread::sleep_for(std::chrono::milliseconds(10)); - - if (std::chrono::duration_cast(std::chrono::system_clock::now() - tp).count() > 10) - { - UVG_LOG_ERROR("Giving up on DH after 10 seconds"); - return free_resources(RTP_TIMEOUT); - } - } - } - /* If ZRTP is already performing an MSM negotiation, wait for it to complete before starting a new one */ - if (!perform_dh) { - auto start = std::chrono::system_clock::now(); - while (zrtp_->is_zrtp_busy()) { - std::this_thread::sleep_for(std::chrono::milliseconds(10)); - if (std::chrono::duration_cast(std::chrono::system_clock::now() - start).count() > 10) - { - UVG_LOG_ERROR("Giving up on MSM after 10 seconds"); - return free_resources(RTP_TIMEOUT); - } - } - } - - zrtp_->set_zrtp_busy(true); - ret = RTP_OK; - if ((ret = zrtp->init(rtp_->get_ssrc(), socket_, remote_sockaddr_, remote_sockaddr_ip6_, perform_dh, ipv6_)) != RTP_OK) { - UVG_LOG_WARN("Failed to initialize ZRTP for media stream!"); - return free_resources(ret); - } - - if ((ret = init_srtp_with_zrtp(rce_flags_, SRTP, srtp_, zrtp)) != RTP_OK) - return free_resources(ret); - - if ((ret = init_srtp_with_zrtp(rce_flags_, SRTCP, srtcp_, zrtp)) != RTP_OK) - return free_resources(ret); - - zrtp_->set_zrtp_busy(false); - zrtp->dh_has_finished(); // only after the DH stream has gotten its keys, do we let non-DH stream perform ZRTP - install_packet_handlers(); - - return RTP_OK; + ret = add_zrtp_ctx(); + return ret; } rtp_error_t uvgrtp::media_stream::add_zrtp_ctx()