mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
RTC: Refine publisher memory allocate, by packet itself
This commit is contained in:
parent
001a6a33ce
commit
2ae7e22469
3 changed files with 30 additions and 13 deletions
|
@ -768,6 +768,7 @@ SrsRtpPacket2::SrsRtpPacket2()
|
|||
|
||||
nalu_type = SrsAvcNaluTypeReserved;
|
||||
shared_msg = NULL;
|
||||
cache_buffer_ = NULL;
|
||||
frame_type = SrsFrameTypeReserved;
|
||||
cached_payload_size = 0;
|
||||
|
||||
|
@ -778,6 +779,25 @@ SrsRtpPacket2::~SrsRtpPacket2()
|
|||
{
|
||||
srs_freep(payload);
|
||||
srs_freep(shared_msg);
|
||||
srs_freep(cache_buffer_);
|
||||
}
|
||||
|
||||
void SrsRtpPacket2::wrap(char* data, int size)
|
||||
{
|
||||
srs_freep(shared_msg);
|
||||
shared_msg = new SrsSharedPtrMessage();
|
||||
|
||||
char* buf = new char[size];
|
||||
memcpy(buf, data, size);
|
||||
shared_msg->wrap(buf, size);
|
||||
|
||||
srs_freep(cache_buffer_);
|
||||
cache_buffer_ = new SrsBuffer(buf, size);
|
||||
}
|
||||
|
||||
SrsBuffer* SrsRtpPacket2::cache_buffer()
|
||||
{
|
||||
return cache_buffer_;
|
||||
}
|
||||
|
||||
void SrsRtpPacket2::set_padding(int size)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue