1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-13 20:01:56 +00:00

Refactor RTP cache reset

This commit is contained in:
winlin 2020-04-16 13:13:02 +08:00
parent b4a7566684
commit e90f0629ed
2 changed files with 10 additions and 23 deletions

View file

@ -55,27 +55,15 @@ SrsRtpHeader::SrsRtpHeader()
extension_length = 0;
}
SrsRtpHeader::SrsRtpHeader(const SrsRtpHeader& rhs)
void SrsRtpHeader::reset()
{
operator=(rhs);
}
SrsRtpHeader& SrsRtpHeader::operator=(const SrsRtpHeader& rhs)
{
padding = rhs.padding;
extension = rhs.extension;
cc = rhs.cc;
marker = rhs.marker;
payload_type = rhs.payload_type;
sequence = rhs.sequence;
timestamp = rhs.timestamp;
ssrc = rhs.ssrc;
for (size_t i = 0; i < cc; ++i) {
csrc[i] = rhs.csrc[i];
}
extension_length = rhs.extension_length;
return *this;
// We only reset the optional fields, the required field such as ssrc
// will always be set by user.
padding = false;
extension = false;
cc = 0;
marker = false;
extension_length = 0;
}
SrsRtpHeader::~SrsRtpHeader()
@ -173,7 +161,7 @@ void SrsRtpPacket2::set_padding(int size)
void SrsRtpPacket2::reset()
{
memset((void*)&rtp_header, 0, sizeof(SrsRtpHeader));
rtp_header.reset();
padding = 0;
srs_freep(payload);
}

View file

@ -56,8 +56,7 @@ private:
public:
SrsRtpHeader();
virtual ~SrsRtpHeader();
SrsRtpHeader(const SrsRtpHeader& rhs);
SrsRtpHeader& operator=(const SrsRtpHeader& rhs);
void reset();
public:
srs_error_t decode(SrsBuffer* stream);
srs_error_t encode(SrsBuffer* stream);