diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp index 23af2665b..c65f73e55 100644 --- a/trunk/src/app/srs_app_rtc_conn.cpp +++ b/trunk/src/app/srs_app_rtc_conn.cpp @@ -1712,8 +1712,8 @@ srs_error_t SrsRtcPublisher::on_rtp(char* buf, int nb_buf) SrsRtpPacket2* pkt = new SrsRtpPacket2(); pkt->set_decode_handler(this); - pkt->original_msg = new SrsSharedPtrMessage(); - pkt->original_msg->wrap(buf, nb_buf); + pkt->shared_msg = new SrsSharedPtrMessage(); + pkt->shared_msg->wrap(buf, nb_buf); SrsBuffer b(buf, nb_buf); if ((err = pkt->decode(&b)) != srs_success) { diff --git a/trunk/src/app/srs_app_rtc_source.cpp b/trunk/src/app/srs_app_rtc_source.cpp index 2084583d3..98b7e7180 100644 --- a/trunk/src/app/srs_app_rtc_source.cpp +++ b/trunk/src/app/srs_app_rtc_source.cpp @@ -704,8 +704,8 @@ srs_error_t SrsRtcFromRtmpBridger::package_opus(char* data, int size, SrsRtpPack raw->nn_payload = size; memcpy(raw->payload, data, size); - pkt->original_msg = new SrsSharedPtrMessage(); - pkt->original_msg->wrap(raw->payload, size); + pkt->shared_msg = new SrsSharedPtrMessage(); + pkt->shared_msg->wrap(raw->payload, size); *ppkt = pkt; @@ -850,8 +850,8 @@ srs_error_t SrsRtcFromRtmpBridger::package_stap_a(SrsRtcSource* source, SrsShare // Copy the SPS/PPS bytes, because it may change. int size = (int)(sps.size() + pps.size()); char* payload = new char[size]; - pkt->original_msg = new SrsSharedPtrMessage(); - pkt->original_msg->wrap(payload, size); + pkt->shared_msg = new SrsSharedPtrMessage(); + pkt->shared_msg->wrap(payload, size); if (true) { SrsSample* sample = new SrsSample(); @@ -910,7 +910,7 @@ srs_error_t SrsRtcFromRtmpBridger::package_nalus(SrsSharedPtrMessage* msg, vecto pkt->frame_type = SrsFrameTypeVideo; pkt->rtp_header.set_timestamp(msg->timestamp * 90); pkt->payload = raw; - pkt->original_msg = msg->copy(); + pkt->shared_msg = msg->copy(); pkts.push_back(pkt); } else { // We must free it, should never use RTP packets to free it, @@ -945,7 +945,7 @@ srs_error_t SrsRtcFromRtmpBridger::package_nalus(SrsSharedPtrMessage* msg, vecto fua->end = bool(i == num_of_packet - 1); pkt->payload = fua; - pkt->original_msg = msg->copy(); + pkt->shared_msg = msg->copy(); pkts.push_back(pkt); nb_left -= packet_size; @@ -968,7 +968,7 @@ srs_error_t SrsRtcFromRtmpBridger::package_single_nalu(SrsSharedPtrMessage* msg, raw->payload = sample->bytes; raw->nn_payload = sample->size; - pkt->original_msg = msg->copy(); + pkt->shared_msg = msg->copy(); pkts.push_back(pkt); return err; @@ -1001,7 +1001,7 @@ srs_error_t SrsRtcFromRtmpBridger::package_fu_a(SrsSharedPtrMessage* msg, SrsSam fua->payload = p; fua->size = packet_size; - pkt->original_msg = msg->copy(); + pkt->shared_msg = msg->copy(); pkts.push_back(pkt); p += packet_size; diff --git a/trunk/src/kernel/srs_kernel_rtc_rtp.cpp b/trunk/src/kernel/srs_kernel_rtc_rtp.cpp index 2bdb5fda2..18f7df3e6 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtp.cpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtp.cpp @@ -288,8 +288,7 @@ SrsRtpPacket2::SrsRtpPacket2() decode_handler = NULL; nalu_type = SrsAvcNaluTypeReserved; - original_bytes = NULL; - original_msg = NULL; + shared_msg = NULL; frame_type = SrsFrameTypeReserved; cache_raw = new SrsRtpRawPayload(); @@ -308,8 +307,7 @@ SrsRtpPacket2::~SrsRtpPacket2() srs_freep(cache_raw); srs_freep(cache_fua); - srs_freepa(original_bytes); - srs_freep(original_msg); + srs_freep(shared_msg); } void SrsRtpPacket2::set_padding(int size) @@ -376,7 +374,7 @@ SrsRtpPacket2* SrsRtpPacket2::copy() cp->padding = padding; cp->nalu_type = nalu_type; - cp->original_msg = original_msg? original_msg->copy():NULL; + cp->shared_msg = shared_msg? shared_msg->copy():NULL; cp->frame_type = frame_type; cp->cache_payload = cache_payload; diff --git a/trunk/src/kernel/srs_kernel_rtc_rtp.hpp b/trunk/src/kernel/srs_kernel_rtc_rtp.hpp index 65ff51e2c..d171f0091 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtp.hpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtp.hpp @@ -129,11 +129,8 @@ public: public: // The first byte as nalu type, for video decoder only. SrsAvcNaluType nalu_type; - // The original bytes for decoder or bridger only, we will free it. - // TODO: FIXME: Should covert to shared prt message. - char* original_bytes; - // The original msg for bridger only, we will free it. - SrsSharedPtrMessage* original_msg; + // The original shared message, all RTP packets can refer to its data. + SrsSharedPtrMessage* shared_msg; // The frame type, for RTMP bridger or SFU source. SrsFrameType frame_type; // Fast cache for performance.