From 7c6f56affa234b7f9524a7aae514a83669769ff4 Mon Sep 17 00:00:00 2001 From: winlin Date: Sat, 27 Feb 2021 12:33:33 +0800 Subject: [PATCH] Refine code --- trunk/src/kernel/srs_kernel_rtc_rtp.cpp | 44 ++++++++++++------------- trunk/src/kernel/srs_kernel_rtc_rtp.hpp | 4 +-- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/trunk/src/kernel/srs_kernel_rtc_rtp.cpp b/trunk/src/kernel/srs_kernel_rtc_rtp.cpp index d292be75b..65cc16a40 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtp.cpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtp.cpp @@ -942,6 +942,28 @@ char* SrsRtpPacket2::wrap(SrsSharedPtrMessage* msg) return msg->payload; } +SrsRtpPacket2* SrsRtpPacket2::copy() +{ + SrsRtpPacket2* cp = _srs_rtp_cache->allocate(); + + // We got packet from cache, so we must recycle it. + cp->recycle_payload(); + cp->recycle_shared_msg(); + + cp->header = header; + cp->payload_ = payload_? payload_->copy():NULL; + cp->payload_type_ = payload_type_; + + cp->nalu_type = nalu_type; + cp->shared_msg = shared_msg->copy(); + cp->frame_type = frame_type; + + cp->cached_payload_size = cached_payload_size; + cp->decode_handler = decode_handler; + + return cp; +} + void SrsRtpPacket2::set_padding(int size) { header.set_padding(size); @@ -968,28 +990,6 @@ bool SrsRtpPacket2::is_audio() return frame_type == SrsFrameTypeAudio; } -SrsRtpPacket2* SrsRtpPacket2::copy() -{ - SrsRtpPacket2* cp = _srs_rtp_cache->allocate(); - - // We got packet from cache, so we must recycle it. - cp->recycle_payload(); - cp->recycle_shared_msg(); - - cp->header = header; - cp->payload_ = payload_? payload_->copy():NULL; - cp->payload_type_ = payload_type_; - - cp->nalu_type = nalu_type; - cp->shared_msg = shared_msg->copy(); - cp->frame_type = frame_type; - - cp->cached_payload_size = cached_payload_size; - cp->decode_handler = decode_handler; - - return cp; -} - void SrsRtpPacket2::set_extension_types(const SrsRtpExtensionTypes* v) { return header.set_extensions(v); diff --git a/trunk/src/kernel/srs_kernel_rtc_rtp.hpp b/trunk/src/kernel/srs_kernel_rtc_rtp.hpp index 4a8e70938..15961894e 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtp.hpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtp.hpp @@ -328,6 +328,8 @@ public: char* wrap(char* data, int size); // Wrap the shared message, we copy it. char* wrap(SrsSharedPtrMessage* msg); + // Copy the RTP packet. + virtual SrsRtpPacket2* copy(); public: // Get and set the payload of packet. void set_payload(ISrsRtpPayloader* p, SrsRtpPacketPayloadType pt) { payload_ = p; payload_type_ = pt; } @@ -340,8 +342,6 @@ public: void set_decode_handler(ISrsRtpPacketDecodeHandler* h); // Whether the packet is Audio packet. bool is_audio(); - // Copy the RTP packet. - virtual SrsRtpPacket2* copy(); // Set RTP header extensions for encoding or decoding header extension void set_extension_types(const SrsRtpExtensionTypes* v); // interface ISrsEncoder