mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
RTC: Refine RTP packet api, keep shared message to private
This commit is contained in:
parent
0cb125e53d
commit
b2d546156e
7 changed files with 50 additions and 243 deletions
|
@ -782,20 +782,39 @@ SrsRtpPacket2::~SrsRtpPacket2()
|
|||
srs_freep(cache_buffer_);
|
||||
}
|
||||
|
||||
void SrsRtpPacket2::wrap(char* data, int size)
|
||||
char* SrsRtpPacket2::wrap(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);
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
SrsBuffer* SrsRtpPacket2::cache_buffer()
|
||||
char* SrsRtpPacket2::wrap(char* data, int size)
|
||||
{
|
||||
char* buf = wrap(size);
|
||||
memcpy(buf, data, size);
|
||||
return buf;
|
||||
}
|
||||
|
||||
char* SrsRtpPacket2::wrap(SrsSharedPtrMessage* msg)
|
||||
{
|
||||
srs_freep(shared_msg);
|
||||
shared_msg = msg->copy();
|
||||
|
||||
srs_freep(cache_buffer_);
|
||||
cache_buffer_ = new SrsBuffer(msg->payload, msg->size);
|
||||
|
||||
return msg->payload;
|
||||
}
|
||||
|
||||
SrsBuffer* SrsRtpPacket2::cache_buffer() const
|
||||
{
|
||||
return cache_buffer_;
|
||||
}
|
||||
|
@ -835,6 +854,7 @@ SrsRtpPacket2* SrsRtpPacket2::copy()
|
|||
|
||||
cp->nalu_type = nalu_type;
|
||||
cp->shared_msg = shared_msg? shared_msg->copy():NULL;
|
||||
cp->cache_buffer_ = cache_buffer_? cache_buffer_->copy():NULL;
|
||||
cp->frame_type = frame_type;
|
||||
|
||||
cp->cached_payload_size = cached_payload_size;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue