From 35857488dc6bf81ac9ec7f14783beb8f43dc09d9 Mon Sep 17 00:00:00 2001 From: dijunkun Date: Fri, 26 Apr 2024 17:21:07 +0800 Subject: [PATCH] Fix crash caused by obu payload assigning to rtp packet --- src/rtp/rtp_codec.cpp | 4 ++-- src/rtp/rtp_packet.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/rtp/rtp_codec.cpp b/src/rtp/rtp_codec.cpp index 7cc03c5..4d15730 100644 --- a/src/rtp/rtp_codec.cpp +++ b/src/rtp/rtp_codec.cpp @@ -249,8 +249,8 @@ void RtpCodec::Encode(uint8_t* buffer, size_t size, rtp_packet.SetAv1AggrHeader(0, 0, 1, 0); - // rtp_packet.EncodeAv1(buffer, size); - // packets.emplace_back(rtp_packet); + rtp_packet.EncodeAv1(obus[i].payload_, obus[i].payload_size_); + packets.emplace_back(rtp_packet); } } diff --git a/src/rtp/rtp_packet.cpp b/src/rtp/rtp_packet.cpp index 20a72aa..00db11a 100644 --- a/src/rtp/rtp_packet.cpp +++ b/src/rtp/rtp_packet.cpp @@ -429,7 +429,7 @@ const uint8_t *RtpPacket::EncodeAv1(uint8_t *payload, size_t payload_size) { extension_offset; memcpy(buffer_ + 12 + aggr_header_offset, &av1_aggr_header_, 1); - uint32_t payload_offset = aggr_header_offset + 1; + uint32_t payload_offset = aggr_header_offset; memcpy(buffer_ + 13 + payload_offset, payload, payload_size); size_ = payload_size + (13 + payload_offset);