1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

RTC: Rename SrsRtpPacket2.rtp_header to SrsRtpPacket2.header

This commit is contained in:
winlin 2020-05-15 08:38:43 +08:00
parent ba8f2e2aba
commit f510a94a91
4 changed files with 43 additions and 44 deletions

View file

@ -785,10 +785,10 @@ srs_error_t SrsRtcPlayer::package_opus(SrsRtpPacket2* pkt)
{ {
srs_error_t err = srs_success; srs_error_t err = srs_success;
pkt->rtp_header.set_timestamp(audio_timestamp); pkt->header.set_timestamp(audio_timestamp);
pkt->rtp_header.set_sequence(audio_sequence++); pkt->header.set_sequence(audio_sequence++);
pkt->rtp_header.set_ssrc(audio_ssrc); pkt->header.set_ssrc(audio_ssrc);
pkt->rtp_header.set_payload_type(audio_payload_type); pkt->header.set_payload_type(audio_payload_type);
// TODO: FIXME: Padding audio to the max payload in RTP packets. // TODO: FIXME: Padding audio to the max payload in RTP packets.
if (max_padding > 0) { if (max_padding > 0) {
@ -804,9 +804,9 @@ srs_error_t SrsRtcPlayer::package_video(SrsRtpPacket2* pkt)
{ {
srs_error_t err = srs_success; srs_error_t err = srs_success;
pkt->rtp_header.set_sequence(video_sequence++); pkt->header.set_sequence(video_sequence++);
pkt->rtp_header.set_ssrc(video_ssrc); pkt->header.set_ssrc(video_ssrc);
pkt->rtp_header.set_payload_type(video_payload_type); pkt->header.set_payload_type(video_payload_type);
return err; return err;
} }
@ -859,7 +859,7 @@ srs_error_t SrsRtcPlayer::send_packets(const std::vector<SrsRtpPacket2*>& pkts,
// Put final RTP packet to NACK/ARQ queue. // Put final RTP packet to NACK/ARQ queue.
if (nack_enabled_) { if (nack_enabled_) {
SrsRtpPacket2* nack = new SrsRtpPacket2(); SrsRtpPacket2* nack = new SrsRtpPacket2();
nack->rtp_header = pkt->rtp_header; nack->header = pkt->header;
// TODO: FIXME: Should avoid memory copying. // TODO: FIXME: Should avoid memory copying.
SrsRtpRawPayload* payload = new SrsRtpRawPayload(); SrsRtpRawPayload* payload = new SrsRtpRawPayload();
@ -869,10 +869,10 @@ srs_error_t SrsRtcPlayer::send_packets(const std::vector<SrsRtpPacket2*>& pkts,
payload->payload = new char[payload->nn_payload]; payload->payload = new char[payload->nn_payload];
memcpy((void*)payload->payload, iov->iov_base, iov->iov_len); memcpy((void*)payload->payload, iov->iov_base, iov->iov_len);
if (nack->rtp_header.get_ssrc() == video_ssrc) { if (nack->header.get_ssrc() == video_ssrc) {
video_queue_->set(nack->rtp_header.get_sequence(), nack); video_queue_->set(nack->header.get_sequence(), nack);
} else { } 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<SrsRtpPacket2*>& pkts,
// For NACK simulator, drop packet. // For NACK simulator, drop packet.
if (nn_simulate_nack_drop) { 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; iov->iov_len = 0;
continue; continue;
} }
@ -1033,7 +1033,7 @@ srs_error_t SrsRtcPlayer::send_packets_gso(const vector<SrsRtpPacket2*>& pkts, S
// Put final RTP packet to NACK/ARQ queue. // Put final RTP packet to NACK/ARQ queue.
if (nack_enabled_) { if (nack_enabled_) {
SrsRtpPacket2* nack = new SrsRtpPacket2(); SrsRtpPacket2* nack = new SrsRtpPacket2();
nack->rtp_header = packet->rtp_header; nack->header = packet->header;
// TODO: FIXME: Should avoid memory copying. // TODO: FIXME: Should avoid memory copying.
SrsRtpRawPayload* payload = new SrsRtpRawPayload(); SrsRtpRawPayload* payload = new SrsRtpRawPayload();
@ -1043,10 +1043,10 @@ srs_error_t SrsRtcPlayer::send_packets_gso(const vector<SrsRtpPacket2*>& pkts, S
payload->payload = new char[payload->nn_payload]; payload->payload = new char[payload->nn_payload];
memcpy((void*)payload->payload, iov->iov_base, iov->iov_len); memcpy((void*)payload->payload, iov->iov_base, iov->iov_len);
if (nack->rtp_header.get_ssrc() == video_ssrc) { if (nack->header.get_ssrc() == video_ssrc) {
video_queue_->set(nack->rtp_header.get_sequence(), nack); video_queue_->set(nack->header.get_sequence(), nack);
} else { } 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<SrsRtpPacket2*>& pkts, S
bool do_send = (i == nn_packets - 1 || gso_final || !using_gso); bool do_send = (i == nn_packets - 1 || gso_final || !using_gso);
#if defined(SRS_DEBUG) #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", 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) { if (do_send) {
for (int j = 0; j < (int)mhdr->msg_hdr.msg_iovlen; j++) { for (int j = 0; j < (int)mhdr->msg_hdr.msg_iovlen; j++) {
iovec* iov = mhdr->msg_hdr.msg_iov + 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); pkt->encode(&buf);
session_->sendonly_skt->sendto(data, pkt->nb_bytes(), 0); 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(), 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()); 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. // For NACK simulator, drop packet.
if (nn_simulate_nack_drop) { if (nn_simulate_nack_drop) {
simulate_drop_packet(&pkt->rtp_header, nb_buf); simulate_drop_packet(&pkt->header, nb_buf);
return err; return err;
} }
// For source to consume packet. // 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 (ssrc == audio_ssrc) {
if ((err = on_audio(pkt)) != srs_success) { if ((err = on_audio(pkt)) != srs_success) {
return srs_error_wrap(err, "on audio"); return srs_error_wrap(err, "on audio");
@ -1701,7 +1701,7 @@ void SrsRtcPublisher::on_before_decode_payload(SrsRtpPacket2* pkt, SrsBuffer* bu
return; return;
} }
uint32_t ssrc = pkt->rtp_header.get_ssrc(); uint32_t ssrc = pkt->header.get_ssrc();
if (ssrc == audio_ssrc) { if (ssrc == audio_ssrc) {
*ppayload = new SrsRtpRawPayload(); *ppayload = new SrsRtpRawPayload();
} else if (ssrc == video_ssrc) { } else if (ssrc == video_ssrc) {
@ -1751,7 +1751,7 @@ srs_error_t SrsRtcPublisher::on_nack(SrsRtpPacket2* pkt)
{ {
srs_error_t err = srs_success; 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); SrsRtpNackInfo* nack_info = audio_nack_->find(seq);
if (nack_info) { if (nack_info) {
return err; return err;

View file

@ -583,7 +583,7 @@ srs_error_t SrsRtcFromRtmpBridger::package_opus(char* data, int size, SrsRtpPack
SrsRtpPacket2* pkt = new SrsRtpPacket2(); SrsRtpPacket2* pkt = new SrsRtpPacket2();
pkt->frame_type = SrsFrameTypeAudio; pkt->frame_type = SrsFrameTypeAudio;
pkt->rtp_header.set_marker(true); pkt->header.set_marker(true);
SrsRtpRawPayload* raw = new SrsRtpRawPayload(); SrsRtpRawPayload* raw = new SrsRtpRawPayload();
pkt->payload = raw; pkt->payload = raw;
@ -665,7 +665,7 @@ srs_error_t SrsRtcFromRtmpBridger::on_video(SrsSharedPtrMessage* msg)
} }
if (pkts.size() > 0) { if (pkts.size() > 0) {
pkts.back()->rtp_header.set_marker(true); pkts.back()->header.set_marker(true);
} }
return consume_packets(pkts); return consume_packets(pkts);
@ -719,8 +719,8 @@ srs_error_t SrsRtcFromRtmpBridger::package_stap_a(SrsRtcSource* source, SrsShare
SrsRtpPacket2* pkt = new SrsRtpPacket2(); SrsRtpPacket2* pkt = new SrsRtpPacket2();
pkt->frame_type = SrsFrameTypeVideo; pkt->frame_type = SrsFrameTypeVideo;
pkt->rtp_header.set_marker(false); pkt->header.set_marker(false);
pkt->rtp_header.set_timestamp(msg->timestamp * 90); pkt->header.set_timestamp(msg->timestamp * 90);
SrsRtpSTAPPayload* stap = new SrsRtpSTAPPayload(); SrsRtpSTAPPayload* stap = new SrsRtpSTAPPayload();
pkt->payload = stap; pkt->payload = stap;
@ -755,7 +755,7 @@ srs_error_t SrsRtcFromRtmpBridger::package_stap_a(SrsRtcSource* source, SrsShare
} }
*ppkt = pkt; *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; return err;
} }
@ -789,7 +789,7 @@ srs_error_t SrsRtcFromRtmpBridger::package_nalus(SrsSharedPtrMessage* msg, const
// Package NALUs in a single RTP packet. // Package NALUs in a single RTP packet.
SrsRtpPacket2* pkt = new SrsRtpPacket2(); SrsRtpPacket2* pkt = new SrsRtpPacket2();
pkt->frame_type = SrsFrameTypeVideo; pkt->frame_type = SrsFrameTypeVideo;
pkt->rtp_header.set_timestamp(msg->timestamp * 90); pkt->header.set_timestamp(msg->timestamp * 90);
pkt->payload = raw; pkt->payload = raw;
pkt->shared_msg = msg->copy(); pkt->shared_msg = msg->copy();
pkts.push_back(pkt); pkts.push_back(pkt);
@ -818,7 +818,7 @@ srs_error_t SrsRtcFromRtmpBridger::package_nalus(SrsSharedPtrMessage* msg, const
SrsRtpPacket2* pkt = new SrsRtpPacket2(); SrsRtpPacket2* pkt = new SrsRtpPacket2();
pkt->frame_type = SrsFrameTypeVideo; pkt->frame_type = SrsFrameTypeVideo;
pkt->rtp_header.set_timestamp(msg->timestamp * 90); pkt->header.set_timestamp(msg->timestamp * 90);
fua->nri = (SrsAvcNaluType)header; fua->nri = (SrsAvcNaluType)header;
fua->nalu_type = (SrsAvcNaluType)nal_type; fua->nalu_type = (SrsAvcNaluType)nal_type;
@ -843,7 +843,7 @@ srs_error_t SrsRtcFromRtmpBridger::package_single_nalu(SrsSharedPtrMessage* msg,
SrsRtpPacket2* pkt = new SrsRtpPacket2(); SrsRtpPacket2* pkt = new SrsRtpPacket2();
pkt->frame_type = SrsFrameTypeVideo; pkt->frame_type = SrsFrameTypeVideo;
pkt->rtp_header.set_timestamp(msg->timestamp * 90); pkt->header.set_timestamp(msg->timestamp * 90);
SrsRtpRawPayload* raw = new SrsRtpRawPayload(); SrsRtpRawPayload* raw = new SrsRtpRawPayload();
pkt->payload = raw; pkt->payload = raw;
@ -872,7 +872,7 @@ srs_error_t SrsRtcFromRtmpBridger::package_fu_a(SrsSharedPtrMessage* msg, SrsSam
SrsRtpPacket2* pkt = new SrsRtpPacket2(); SrsRtpPacket2* pkt = new SrsRtpPacket2();
pkt->frame_type = SrsFrameTypeVideo; pkt->frame_type = SrsFrameTypeVideo;
pkt->rtp_header.set_timestamp(msg->timestamp * 90); pkt->header.set_timestamp(msg->timestamp * 90);
SrsRtpFUAPayload2* fua = new SrsRtpFUAPayload2(); SrsRtpFUAPayload2* fua = new SrsRtpFUAPayload2();
pkt->payload = fua; pkt->payload = fua;

View file

@ -283,15 +283,15 @@ SrsRtpPacket2::~SrsRtpPacket2()
void SrsRtpPacket2::set_padding(int size) void SrsRtpPacket2::set_padding(int size)
{ {
rtp_header.set_padding(size); header.set_padding(size);
if (cached_payload_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) 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) { if (cached_payload_size) {
cached_payload_size += size; cached_payload_size += size;
} }
@ -311,7 +311,7 @@ SrsRtpPacket2* SrsRtpPacket2::copy()
{ {
SrsRtpPacket2* cp = new SrsRtpPacket2(); SrsRtpPacket2* cp = new SrsRtpPacket2();
cp->rtp_header = rtp_header; cp->header = header;
cp->payload = payload? payload->copy():NULL; cp->payload = payload? payload->copy():NULL;
cp->nalu_type = nalu_type; cp->nalu_type = nalu_type;
@ -328,7 +328,7 @@ int SrsRtpPacket2::nb_bytes()
{ {
if (!cached_payload_size) { if (!cached_payload_size) {
int nn_payload = (payload? payload->nb_bytes():0); 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; return cached_payload_size;
} }
@ -337,7 +337,7 @@ srs_error_t SrsRtpPacket2::encode(SrsBuffer* buf)
{ {
srs_error_t err = srs_success; 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"); 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"); return srs_error_wrap(err, "rtp payload");
} }
if (rtp_header.get_padding() > 0) { if (header.get_padding() > 0) {
uint8_t padding = rtp_header.get_padding(); uint8_t padding = header.get_padding();
if (!buf->require(padding)) { if (!buf->require(padding)) {
return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", 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; 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"); return srs_error_wrap(err, "rtp header");
} }
// We must skip the padding bytes before parsing payload. // 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)) { if (!buf->require(padding)) {
return srs_error_wrap(err, "requires padding %d bytes", padding); return srs_error_wrap(err, "requires padding %d bytes", padding);
} }

View file

@ -117,8 +117,7 @@ class SrsRtpPacket2
{ {
// RTP packet fields. // RTP packet fields.
public: public:
// TODO: FIXME: Rename to header. SrsRtpHeader header;
SrsRtpHeader rtp_header;
ISrsRtpPayloader* payload; ISrsRtpPayloader* payload;
// Helper fields. // Helper fields.
public: public: