1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-15 04:42:04 +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; extension_length = 0;
} }
SrsRtpHeader::SrsRtpHeader(const SrsRtpHeader& rhs) void SrsRtpHeader::reset()
{ {
operator=(rhs); // We only reset the optional fields, the required field such as ssrc
} // will always be set by user.
padding = false;
SrsRtpHeader& SrsRtpHeader::operator=(const SrsRtpHeader& rhs) extension = false;
{ cc = 0;
padding = rhs.padding; marker = false;
extension = rhs.extension; extension_length = 0;
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;
} }
SrsRtpHeader::~SrsRtpHeader() SrsRtpHeader::~SrsRtpHeader()
@ -173,7 +161,7 @@ void SrsRtpPacket2::set_padding(int size)
void SrsRtpPacket2::reset() void SrsRtpPacket2::reset()
{ {
memset((void*)&rtp_header, 0, sizeof(SrsRtpHeader)); rtp_header.reset();
padding = 0; padding = 0;
srs_freep(payload); srs_freep(payload);
} }

View file

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