From 559e89caf463034335bb0a57e5c0dcbdba831349 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8E=AB=E6=88=98?= Date: Wed, 12 Aug 2020 14:40:19 +0800 Subject: [PATCH] ignore padding decode before srtp decryption --- trunk/src/app/srs_app_rtc_conn.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp index 483f9d10e..ead4bce81 100644 --- a/trunk/src/app/srs_app_rtc_conn.cpp +++ b/trunk/src/app/srs_app_rtc_conn.cpp @@ -998,7 +998,7 @@ srs_error_t SrsRtcPublishStream::on_rtp(char* data, int nb_data) // For NACK simulator, drop packet. if (nn_simulate_nack_drop) { - SrsBuffer b(data, nb_data); SrsRtpHeader h; h.decode(&b); + SrsBuffer b(data, nb_data); SrsRtpHeader h; h.ignore_padding(true); h.decode(&b); simulate_drop_packet(&h, nb_data); return err; } @@ -1038,7 +1038,7 @@ srs_error_t SrsRtcPublishStream::on_rtp(char* data, int nb_data) char* unprotected_buf = new char[kRtpPacketSize]; if ((err = session_->transport_->unprotect_rtp(data, unprotected_buf, nb_unprotected_buf)) != srs_success) { // We try to decode the RTP header for more detail error informations. - SrsBuffer b(data, nb_data); SrsRtpHeader h; h.decode(&b); + SrsBuffer b(data, nb_data); SrsRtpHeader h; h.ignore_padding(true); h.decode(&b); err = srs_error_wrap(err, "marker=%u, pt=%u, seq=%u, ts=%u, ssrc=%u, pad=%u, payload=%uB", h.get_marker(), h.get_payload_type(), h.get_sequence(), h.get_timestamp(), h.get_ssrc(), h.get_padding(), nb_data - b.pos()); @@ -1860,7 +1860,7 @@ srs_error_t SrsRtcConnection::on_rtp(char* data, int nb_data) if (true) { SrsBuffer* buffer = new SrsBuffer(data, nb_data); SrsAutoFree(SrsBuffer, buffer); - + header.ignore_padding(true); if(srs_success != (err = header.decode(buffer))) { return srs_error_wrap(err, "decode rtp header"); }