From fa2fec3247b927f6fbdda4535614ade2cde8a3d5 Mon Sep 17 00:00:00 2001 From: winlin Date: Thu, 1 Apr 2021 14:48:41 +0800 Subject: [PATCH] SquashSRS4: Refine payload NALU type parser --- trunk/src/app/srs_app_rtc_source.cpp | 4 +++- trunk/src/kernel/srs_kernel_rtc_rtp.cpp | 5 ----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/trunk/src/app/srs_app_rtc_source.cpp b/trunk/src/app/srs_app_rtc_source.cpp index e9a34533a..17630bddc 100644 --- a/trunk/src/app/srs_app_rtc_source.cpp +++ b/trunk/src/app/srs_app_rtc_source.cpp @@ -1965,7 +1965,9 @@ void SrsRtcVideoRecvTrack::on_before_decode_payload(SrsRtpPacket2* pkt, SrsBuffe return; } - uint8_t v = (uint8_t)pkt->nalu_type; + uint8_t v = (uint8_t)(buf->head()[0] & kNalTypeMask); + pkt->nalu_type = SrsAvcNaluType(v); + if (v == kStapA) { *ppayload = new SrsRtpSTAPPayload(); *ppt = SrsRtpPacketPayloadTypeSTAP; diff --git a/trunk/src/kernel/srs_kernel_rtc_rtp.cpp b/trunk/src/kernel/srs_kernel_rtc_rtp.cpp index d4f5d01a1..6dc5e41c6 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtp.cpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtp.cpp @@ -1035,11 +1035,6 @@ srs_error_t SrsRtpPacket2::decode(SrsBuffer* buf) } buf->set_size(buf->size() - padding); - // Try to parse the NALU type for video decoder. - if (!buf->empty()) { - nalu_type = SrsAvcNaluType((uint8_t)(buf->head()[0] & kNalTypeMask)); - } - // TODO: FIXME: We should keep payload to NULL and return if buffer is empty. // If user set the decode handler, call it to set the payload. if (decode_handler) {