multiplex: Remove duplicate code from media_stream
This commit is contained in:
parent
cb59c55f79
commit
b17fa3d0ba
|
@ -370,54 +370,8 @@ rtp_error_t uvgrtp::media_stream::init_auto_zrtp(std::shared_ptr<uvgrtp::zrtp> 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::seconds>(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::seconds>(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()
|
||||
|
|
Loading…
Reference in New Issue