Fix default rtp type decode error

This commit is contained in:
dijunkun
2023-09-07 17:42:09 +08:00
parent b2e725e564
commit ab71838483
3 changed files with 6 additions and 7 deletions

View File

@@ -211,7 +211,7 @@ const uint8_t *RtpPacket::EncodeH264Fua(uint8_t *payload, size_t payload_size) {
return buffer_;
}
const uint8_t *RtpPacket::Decode() {
size_t RtpPacket::Decode(uint8_t *payload) {
version_ = (buffer_[0] >> 6) & 0x03;
has_padding_ = (buffer_[0] >> 5) & 0x01;
has_extension_ = (buffer_[0] >> 4) & 0x01;
@@ -246,11 +246,10 @@ const uint8_t *RtpPacket::Decode() {
(has_extension_ ? extension_len_ : 0) + extension_offset;
payload_size_ = size_ - (12 + payload_offset);
// payload_ = new uint8_t[payload_size_];
// memcpy(payload_, buffer_ + 12 + payload_offset, payload_size_);
payload_ = buffer_ + 12 + payload_offset;
memcpy(payload, payload_, payload_size_);
return payload_;
return payload_size_;
}
size_t RtpPacket::DecodeH264Nalu(uint8_t *payload) {

View File

@@ -132,7 +132,7 @@ class RtpPacket {
const uint8_t *Encode(uint8_t *payload, size_t payload_size);
const uint8_t *EncodeH264Nalu(uint8_t *payload, size_t payload_size);
const uint8_t *EncodeH264Fua(uint8_t *payload, size_t payload_size);
const uint8_t *Decode();
size_t Decode(uint8_t *payload);
size_t DecodeH264Nalu(uint8_t *payload);
size_t DecodeH264Fua(uint8_t *payload);

View File

@@ -135,7 +135,7 @@ size_t RtpSession::Decode(RtpPacket& packet, uint8_t* payload) {
LOG_ERROR("Fua");
return packet.DecodeH264Fua(payload);
} else {
LOG_ERROR("Default Nalu");
return packet.DecodeH264Nalu(payload);
LOG_ERROR("Default");
return packet.Decode(payload);
}
}