diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp index 8387479b4..87b7caf3c 100644 --- a/trunk/src/app/srs_app_rtc_conn.cpp +++ b/trunk/src/app/srs_app_rtc_conn.cpp @@ -785,10 +785,10 @@ srs_error_t SrsRtcPlayer::package_opus(SrsRtpPacket2* pkt) { srs_error_t err = srs_success; - pkt->rtp_header.set_timestamp(audio_timestamp); - pkt->rtp_header.set_sequence(audio_sequence++); - pkt->rtp_header.set_ssrc(audio_ssrc); - pkt->rtp_header.set_payload_type(audio_payload_type); + pkt->header.set_timestamp(audio_timestamp); + pkt->header.set_sequence(audio_sequence++); + pkt->header.set_ssrc(audio_ssrc); + pkt->header.set_payload_type(audio_payload_type); // TODO: FIXME: Padding audio to the max payload in RTP packets. if (max_padding > 0) { @@ -804,9 +804,9 @@ srs_error_t SrsRtcPlayer::package_video(SrsRtpPacket2* pkt) { srs_error_t err = srs_success; - pkt->rtp_header.set_sequence(video_sequence++); - pkt->rtp_header.set_ssrc(video_ssrc); - pkt->rtp_header.set_payload_type(video_payload_type); + pkt->header.set_sequence(video_sequence++); + pkt->header.set_ssrc(video_ssrc); + pkt->header.set_payload_type(video_payload_type); return err; } @@ -859,7 +859,7 @@ srs_error_t SrsRtcPlayer::send_packets(const std::vector& pkts, // Put final RTP packet to NACK/ARQ queue. if (nack_enabled_) { SrsRtpPacket2* nack = new SrsRtpPacket2(); - nack->rtp_header = pkt->rtp_header; + nack->header = pkt->header; // TODO: FIXME: Should avoid memory copying. SrsRtpRawPayload* payload = new SrsRtpRawPayload(); @@ -869,10 +869,10 @@ srs_error_t SrsRtcPlayer::send_packets(const std::vector& pkts, payload->payload = new char[payload->nn_payload]; memcpy((void*)payload->payload, iov->iov_base, iov->iov_len); - if (nack->rtp_header.get_ssrc() == video_ssrc) { - video_queue_->set(nack->rtp_header.get_sequence(), nack); + if (nack->header.get_ssrc() == video_ssrc) { + video_queue_->set(nack->header.get_sequence(), nack); } else { - audio_queue_->set(nack->rtp_header.get_sequence(), nack); + audio_queue_->set(nack->header.get_sequence(), nack); } } @@ -891,7 +891,7 @@ srs_error_t SrsRtcPlayer::send_packets(const std::vector& pkts, // For NACK simulator, drop packet. if (nn_simulate_nack_drop) { - simulate_drop_packet(&pkt->rtp_header, (int)iov->iov_len); + simulate_drop_packet(&pkt->header, (int)iov->iov_len); iov->iov_len = 0; continue; } @@ -1033,7 +1033,7 @@ srs_error_t SrsRtcPlayer::send_packets_gso(const vector& pkts, S // Put final RTP packet to NACK/ARQ queue. if (nack_enabled_) { SrsRtpPacket2* nack = new SrsRtpPacket2(); - nack->rtp_header = packet->rtp_header; + nack->header = packet->header; // TODO: FIXME: Should avoid memory copying. SrsRtpRawPayload* payload = new SrsRtpRawPayload(); @@ -1043,10 +1043,10 @@ srs_error_t SrsRtcPlayer::send_packets_gso(const vector& pkts, S payload->payload = new char[payload->nn_payload]; memcpy((void*)payload->payload, iov->iov_base, iov->iov_len); - if (nack->rtp_header.get_ssrc() == video_ssrc) { - video_queue_->set(nack->rtp_header.get_sequence(), nack); + if (nack->header.get_ssrc() == video_ssrc) { + video_queue_->set(nack->header.get_sequence(), nack); } else { - audio_queue_->set(nack->rtp_header.get_sequence(), nack); + audio_queue_->set(nack->header.get_sequence(), nack); } } @@ -1070,9 +1070,9 @@ srs_error_t SrsRtcPlayer::send_packets_gso(const vector& pkts, S bool do_send = (i == nn_packets - 1 || gso_final || !using_gso); #if defined(SRS_DEBUG) - bool is_video = packet->rtp_header.get_payload_type() == video_payload_type; + bool is_video = packet->header.get_payload_type() == video_payload_type; srs_trace("#%d, Packet %s SSRC=%d, SN=%d, %d/%d bytes", info.debug_id, is_video? "Video":"Audio", - packet->rtp_header.get_ssrc(), packet->rtp_header.get_sequence(), nn_packet - padding, padding); + packet->header.get_ssrc(), packet->header.get_sequence(), nn_packet - padding, padding); if (do_send) { for (int j = 0; j < (int)mhdr->msg_hdr.msg_iovlen; j++) { iovec* iov = mhdr->msg_hdr.msg_iov + j; @@ -1308,7 +1308,7 @@ srs_error_t SrsRtcPlayer::on_rtcp_feedback(char* buf, int nb_buf) pkt->encode(&buf); session_->sendonly_skt->sendto(data, pkt->nb_bytes(), 0); - SrsRtpHeader* h = &pkt->rtp_header; + SrsRtpHeader* h = &pkt->header; srs_trace("RTC NACK ARQ seq=%u, ssrc=%u, ts=%u, %d bytes", h->get_sequence(), h->get_ssrc(), h->get_timestamp(), pkt->nb_bytes()); } @@ -1668,12 +1668,12 @@ srs_error_t SrsRtcPublisher::on_rtp(char* buf, int nb_buf) // For NACK simulator, drop packet. if (nn_simulate_nack_drop) { - simulate_drop_packet(&pkt->rtp_header, nb_buf); + simulate_drop_packet(&pkt->header, nb_buf); return err; } // For source to consume packet. - uint32_t ssrc = pkt->rtp_header.get_ssrc(); + uint32_t ssrc = pkt->header.get_ssrc(); if (ssrc == audio_ssrc) { if ((err = on_audio(pkt)) != srs_success) { return srs_error_wrap(err, "on audio"); @@ -1701,7 +1701,7 @@ void SrsRtcPublisher::on_before_decode_payload(SrsRtpPacket2* pkt, SrsBuffer* bu return; } - uint32_t ssrc = pkt->rtp_header.get_ssrc(); + uint32_t ssrc = pkt->header.get_ssrc(); if (ssrc == audio_ssrc) { *ppayload = new SrsRtpRawPayload(); } else if (ssrc == video_ssrc) { @@ -1751,7 +1751,7 @@ srs_error_t SrsRtcPublisher::on_nack(SrsRtpPacket2* pkt) { srs_error_t err = srs_success; - uint16_t seq = pkt->rtp_header.get_sequence(); + uint16_t seq = pkt->header.get_sequence(); SrsRtpNackInfo* nack_info = audio_nack_->find(seq); if (nack_info) { return err; diff --git a/trunk/src/app/srs_app_rtc_source.cpp b/trunk/src/app/srs_app_rtc_source.cpp index d6328acd2..e8e5a2161 100644 --- a/trunk/src/app/srs_app_rtc_source.cpp +++ b/trunk/src/app/srs_app_rtc_source.cpp @@ -583,7 +583,7 @@ srs_error_t SrsRtcFromRtmpBridger::package_opus(char* data, int size, SrsRtpPack SrsRtpPacket2* pkt = new SrsRtpPacket2(); pkt->frame_type = SrsFrameTypeAudio; - pkt->rtp_header.set_marker(true); + pkt->header.set_marker(true); SrsRtpRawPayload* raw = new SrsRtpRawPayload(); pkt->payload = raw; @@ -665,7 +665,7 @@ srs_error_t SrsRtcFromRtmpBridger::on_video(SrsSharedPtrMessage* msg) } if (pkts.size() > 0) { - pkts.back()->rtp_header.set_marker(true); + pkts.back()->header.set_marker(true); } return consume_packets(pkts); @@ -719,8 +719,8 @@ srs_error_t SrsRtcFromRtmpBridger::package_stap_a(SrsRtcSource* source, SrsShare SrsRtpPacket2* pkt = new SrsRtpPacket2(); pkt->frame_type = SrsFrameTypeVideo; - pkt->rtp_header.set_marker(false); - pkt->rtp_header.set_timestamp(msg->timestamp * 90); + pkt->header.set_marker(false); + pkt->header.set_timestamp(msg->timestamp * 90); SrsRtpSTAPPayload* stap = new SrsRtpSTAPPayload(); pkt->payload = stap; @@ -755,7 +755,7 @@ srs_error_t SrsRtcFromRtmpBridger::package_stap_a(SrsRtcSource* source, SrsShare } *ppkt = pkt; - srs_trace("RTC STAP-A seq=%u, sps %d, pps %d bytes", pkt->rtp_header.get_sequence(), sps.size(), pps.size()); + srs_trace("RTC STAP-A seq=%u, sps %d, pps %d bytes", pkt->header.get_sequence(), sps.size(), pps.size()); return err; } @@ -789,7 +789,7 @@ srs_error_t SrsRtcFromRtmpBridger::package_nalus(SrsSharedPtrMessage* msg, const // Package NALUs in a single RTP packet. SrsRtpPacket2* pkt = new SrsRtpPacket2(); pkt->frame_type = SrsFrameTypeVideo; - pkt->rtp_header.set_timestamp(msg->timestamp * 90); + pkt->header.set_timestamp(msg->timestamp * 90); pkt->payload = raw; pkt->shared_msg = msg->copy(); pkts.push_back(pkt); @@ -818,7 +818,7 @@ srs_error_t SrsRtcFromRtmpBridger::package_nalus(SrsSharedPtrMessage* msg, const SrsRtpPacket2* pkt = new SrsRtpPacket2(); pkt->frame_type = SrsFrameTypeVideo; - pkt->rtp_header.set_timestamp(msg->timestamp * 90); + pkt->header.set_timestamp(msg->timestamp * 90); fua->nri = (SrsAvcNaluType)header; fua->nalu_type = (SrsAvcNaluType)nal_type; @@ -843,7 +843,7 @@ srs_error_t SrsRtcFromRtmpBridger::package_single_nalu(SrsSharedPtrMessage* msg, SrsRtpPacket2* pkt = new SrsRtpPacket2(); pkt->frame_type = SrsFrameTypeVideo; - pkt->rtp_header.set_timestamp(msg->timestamp * 90); + pkt->header.set_timestamp(msg->timestamp * 90); SrsRtpRawPayload* raw = new SrsRtpRawPayload(); pkt->payload = raw; @@ -872,7 +872,7 @@ srs_error_t SrsRtcFromRtmpBridger::package_fu_a(SrsSharedPtrMessage* msg, SrsSam SrsRtpPacket2* pkt = new SrsRtpPacket2(); pkt->frame_type = SrsFrameTypeVideo; - pkt->rtp_header.set_timestamp(msg->timestamp * 90); + pkt->header.set_timestamp(msg->timestamp * 90); SrsRtpFUAPayload2* fua = new SrsRtpFUAPayload2(); pkt->payload = fua; diff --git a/trunk/src/kernel/srs_kernel_rtc_rtp.cpp b/trunk/src/kernel/srs_kernel_rtc_rtp.cpp index bdec386c9..d9f2f6879 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtp.cpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtp.cpp @@ -283,15 +283,15 @@ SrsRtpPacket2::~SrsRtpPacket2() void SrsRtpPacket2::set_padding(int size) { - rtp_header.set_padding(size); + header.set_padding(size); if (cached_payload_size) { - cached_payload_size += size - rtp_header.get_padding(); + cached_payload_size += size - header.get_padding(); } } void SrsRtpPacket2::add_padding(int size) { - rtp_header.set_padding(rtp_header.get_padding() + size); + header.set_padding(header.get_padding() + size); if (cached_payload_size) { cached_payload_size += size; } @@ -311,7 +311,7 @@ SrsRtpPacket2* SrsRtpPacket2::copy() { SrsRtpPacket2* cp = new SrsRtpPacket2(); - cp->rtp_header = rtp_header; + cp->header = header; cp->payload = payload? payload->copy():NULL; cp->nalu_type = nalu_type; @@ -328,7 +328,7 @@ int SrsRtpPacket2::nb_bytes() { if (!cached_payload_size) { int nn_payload = (payload? payload->nb_bytes():0); - cached_payload_size = rtp_header.nb_bytes() + nn_payload + rtp_header.get_padding(); + cached_payload_size = header.nb_bytes() + nn_payload + header.get_padding(); } return cached_payload_size; } @@ -337,7 +337,7 @@ srs_error_t SrsRtpPacket2::encode(SrsBuffer* buf) { srs_error_t err = srs_success; - if ((err = rtp_header.encode(buf)) != srs_success) { + if ((err = header.encode(buf)) != srs_success) { return srs_error_wrap(err, "rtp header"); } @@ -345,8 +345,8 @@ srs_error_t SrsRtpPacket2::encode(SrsBuffer* buf) return srs_error_wrap(err, "rtp payload"); } - if (rtp_header.get_padding() > 0) { - uint8_t padding = rtp_header.get_padding(); + if (header.get_padding() > 0) { + uint8_t padding = header.get_padding(); if (!buf->require(padding)) { return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", padding); } @@ -361,12 +361,12 @@ srs_error_t SrsRtpPacket2::decode(SrsBuffer* buf) { srs_error_t err = srs_success; - if ((err = rtp_header.decode(buf)) != srs_success) { + if ((err = header.decode(buf)) != srs_success) { return srs_error_wrap(err, "rtp header"); } // We must skip the padding bytes before parsing payload. - uint8_t padding = rtp_header.get_padding(); + uint8_t padding = header.get_padding(); if (!buf->require(padding)) { return srs_error_wrap(err, "requires padding %d bytes", padding); } diff --git a/trunk/src/kernel/srs_kernel_rtc_rtp.hpp b/trunk/src/kernel/srs_kernel_rtc_rtp.hpp index 3c8da5cca..b09db6233 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtp.hpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtp.hpp @@ -117,8 +117,7 @@ class SrsRtpPacket2 { // RTP packet fields. public: - // TODO: FIXME: Rename to header. - SrsRtpHeader rtp_header; + SrsRtpHeader header; ISrsRtpPayloader* payload; // Helper fields. public: