From 54b6a9faa7447f3b2188064c5a27c6bba8bb93c4 Mon Sep 17 00:00:00 2001 From: winlin Date: Fri, 17 Apr 2020 13:02:54 +0800 Subject: [PATCH] Refactor for performance --- trunk/src/app/srs_app_rtc_conn.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp index ad87e622e..daf5317b9 100644 --- a/trunk/src/app/srs_app_rtc_conn.cpp +++ b/trunk/src/app/srs_app_rtc_conn.cpp @@ -885,6 +885,9 @@ srs_error_t SrsRtcSenderThread::send_packets(SrsRtcPackets& packets) { srs_error_t err = srs_success; + // Cache the encrypt flag. + bool encrypt = rtc_session->encrypt; + int nn_packets = packets.size(); for (int i = 0; i < nn_packets; i++) { SrsRtpPacket2* packet = packets.at(i); @@ -915,7 +918,7 @@ srs_error_t SrsRtcSenderThread::send_packets(SrsRtcPackets& packets) } // Whether encrypt the RTP bytes. - if (rtc_session->encrypt) { + if (encrypt) { int nn_encrypt = (int)iov->iov_len; if ((err = rtc_session->dtls_session->protect_rtp2(iov->iov_base, &nn_encrypt)) != srs_success) { return srs_error_wrap(err, "srtp protect"); @@ -947,6 +950,9 @@ srs_error_t SrsRtcSenderThread::send_packets_gso(SrsRtcPackets& packets) { srs_error_t err = srs_success; + // Cache the encrypt flag. + bool encrypt = rtc_session->encrypt; + // Previous handler, if has the same size, we can use GSO. mmsghdr* gso_mhdr = NULL; int gso_size = 0; int gso_encrypt = 0; int gso_cursor = 0; // GSO, N packets has same length, the final one may not. @@ -1056,7 +1062,7 @@ srs_error_t SrsRtcSenderThread::send_packets_gso(SrsRtcPackets& packets) } // Whether encrypt the RTP bytes. - if (rtc_session->encrypt) { + if (encrypt) { int nn_encrypt = (int)iov->iov_len; if ((err = rtc_session->dtls_session->protect_rtp2(iov->iov_base, &nn_encrypt)) != srs_success) { return srs_error_wrap(err, "srtp protect");