| Index: webrtc/modules/rtp_rtcp/source/rtcp_sender.cc
|
| diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_sender.cc b/webrtc/modules/rtp_rtcp/source/rtcp_sender.cc
|
| index 859ac0549b7e1cdd888c5c8227cdb1e52bfecc58..7762e66bf28f7c23e5da2fb9461a007d297c1f8e 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/rtcp_sender.cc
|
| +++ b/webrtc/modules/rtp_rtcp/source/rtcp_sender.cc
|
| @@ -449,14 +449,14 @@
|
| (ctx.feedback_state_.frequency_hz / 1000);
|
|
|
| rtcp::SenderReport* report = new rtcp::SenderReport();
|
| - report->SetSenderSsrc(ssrc_);
|
| - report->SetNtp(NtpTime(ctx.ntp_sec_, ctx.ntp_frac_));
|
| - report->SetRtpTimestamp(rtp_timestamp);
|
| - report->SetPacketCount(ctx.feedback_state_.packets_sent);
|
| - report->SetOctetCount(ctx.feedback_state_.media_bytes_sent);
|
| + report->From(ssrc_);
|
| + report->WithNtp(NtpTime(ctx.ntp_sec_, ctx.ntp_frac_));
|
| + report->WithRtpTimestamp(rtp_timestamp);
|
| + report->WithPacketCount(ctx.feedback_state_.packets_sent);
|
| + report->WithOctetCount(ctx.feedback_state_.media_bytes_sent);
|
|
|
| for (auto it : report_blocks_)
|
| - report->AddReportBlock(it.second);
|
| + report->WithReportBlock(it.second);
|
|
|
| report_blocks_.clear();
|
|
|
| @@ -469,19 +469,19 @@
|
| RTC_CHECK_LT(length_cname, static_cast<size_t>(RTCP_CNAME_SIZE));
|
|
|
| rtcp::Sdes* sdes = new rtcp::Sdes();
|
| - sdes->AddCName(ssrc_, cname_);
|
| + sdes->WithCName(ssrc_, cname_);
|
|
|
| for (const auto it : csrc_cnames_)
|
| - sdes->AddCName(it.first, it.second);
|
| + sdes->WithCName(it.first, it.second);
|
|
|
| return std::unique_ptr<rtcp::RtcpPacket>(sdes);
|
| }
|
|
|
| std::unique_ptr<rtcp::RtcpPacket> RTCPSender::BuildRR(const RtcpContext& ctx) {
|
| rtcp::ReceiverReport* report = new rtcp::ReceiverReport();
|
| - report->SetSenderSsrc(ssrc_);
|
| + report->From(ssrc_);
|
| for (auto it : report_blocks_)
|
| - report->AddReportBlock(it.second);
|
| + report->WithReportBlock(it.second);
|
|
|
| report_blocks_.clear();
|
| return std::unique_ptr<rtcp::RtcpPacket>(report);
|
| @@ -489,8 +489,8 @@
|
|
|
| std::unique_ptr<rtcp::RtcpPacket> RTCPSender::BuildPLI(const RtcpContext& ctx) {
|
| rtcp::Pli* pli = new rtcp::Pli();
|
| - pli->SetSenderSsrc(ssrc_);
|
| - pli->SetMediaSsrc(remote_ssrc_);
|
| + pli->From(ssrc_);
|
| + pli->To(remote_ssrc_);
|
|
|
| TRACE_EVENT_INSTANT0(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"),
|
| "RTCPSender::PLI");
|
| @@ -506,8 +506,8 @@
|
| ++sequence_number_fir_; // Do not increase if repetition.
|
|
|
| rtcp::Fir* fir = new rtcp::Fir();
|
| - fir->SetSenderSsrc(ssrc_);
|
| - fir->AddRequestTo(remote_ssrc_, sequence_number_fir_);
|
| + fir->From(ssrc_);
|
| + fir->WithRequestTo(remote_ssrc_, sequence_number_fir_);
|
|
|
| TRACE_EVENT_INSTANT0(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"),
|
| "RTCPSender::FIR");
|
| @@ -527,10 +527,10 @@
|
| */
|
| std::unique_ptr<rtcp::RtcpPacket> RTCPSender::BuildSLI(const RtcpContext& ctx) {
|
| rtcp::Sli* sli = new rtcp::Sli();
|
| - sli->SetSenderSsrc(ssrc_);
|
| - sli->SetMediaSsrc(remote_ssrc_);
|
| + sli->From(ssrc_);
|
| + sli->To(remote_ssrc_);
|
| // Crop picture id to 6 least significant bits.
|
| - sli->AddPictureId(ctx.picture_id_ & 0x3F);
|
| + sli->WithPictureId(ctx.picture_id_ & 0x3F);
|
|
|
| return std::unique_ptr<rtcp::RtcpPacket>(sli);
|
| }
|
| @@ -553,10 +553,10 @@
|
| return nullptr;
|
|
|
| rtcp::Rpsi* rpsi = new rtcp::Rpsi();
|
| - rpsi->SetSenderSsrc(ssrc_);
|
| - rpsi->SetMediaSsrc(remote_ssrc_);
|
| - rpsi->SetPayloadType(ctx.feedback_state_.send_payload_type);
|
| - rpsi->SetPictureId(ctx.picture_id_);
|
| + rpsi->From(ssrc_);
|
| + rpsi->To(remote_ssrc_);
|
| + rpsi->WithPayloadType(ctx.feedback_state_.send_payload_type);
|
| + rpsi->WithPictureId(ctx.picture_id_);
|
|
|
| return std::unique_ptr<rtcp::RtcpPacket>(rpsi);
|
| }
|
| @@ -564,9 +564,10 @@
|
| std::unique_ptr<rtcp::RtcpPacket> RTCPSender::BuildREMB(
|
| const RtcpContext& ctx) {
|
| rtcp::Remb* remb = new rtcp::Remb();
|
| - remb->SetSenderSsrc(ssrc_);
|
| - remb->SetBitrateBps(remb_bitrate_);
|
| - remb->SetSsrcs(remb_ssrcs_);
|
| + remb->From(ssrc_);
|
| + for (uint32_t ssrc : remb_ssrcs_)
|
| + remb->AppliesTo(ssrc);
|
| + remb->WithBitrateBps(remb_bitrate_);
|
|
|
| TRACE_EVENT_INSTANT0(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"),
|
| "RTCPSender::REMB");
|
| @@ -625,12 +626,12 @@
|
| return nullptr;
|
|
|
| rtcp::Tmmbr* tmmbr = new rtcp::Tmmbr();
|
| - tmmbr->SetSenderSsrc(ssrc_);
|
| + tmmbr->From(ssrc_);
|
| rtcp::TmmbItem request;
|
| request.set_ssrc(remote_ssrc_);
|
| request.set_bitrate_bps(tmmbr_send_bps_);
|
| request.set_packet_overhead(packet_oh_send_);
|
| - tmmbr->AddTmmbr(request);
|
| + tmmbr->WithTmmbr(request);
|
|
|
| return std::unique_ptr<rtcp::RtcpPacket>(tmmbr);
|
| }
|
| @@ -638,10 +639,10 @@
|
| std::unique_ptr<rtcp::RtcpPacket> RTCPSender::BuildTMMBN(
|
| const RtcpContext& ctx) {
|
| rtcp::Tmmbn* tmmbn = new rtcp::Tmmbn();
|
| - tmmbn->SetSenderSsrc(ssrc_);
|
| + tmmbn->From(ssrc_);
|
| for (const rtcp::TmmbItem& tmmbr : tmmbn_to_send_) {
|
| if (tmmbr.bitrate_bps() > 0) {
|
| - tmmbn->AddTmmbr(tmmbr);
|
| + tmmbn->WithTmmbr(tmmbr);
|
| }
|
| }
|
|
|
| @@ -650,10 +651,10 @@
|
|
|
| std::unique_ptr<rtcp::RtcpPacket> RTCPSender::BuildAPP(const RtcpContext& ctx) {
|
| rtcp::App* app = new rtcp::App();
|
| - app->SetSsrc(ssrc_);
|
| - app->SetSubType(app_sub_type_);
|
| - app->SetName(app_name_);
|
| - app->SetData(app_data_.get(), app_length_);
|
| + app->From(ssrc_);
|
| + app->WithSubType(app_sub_type_);
|
| + app->WithName(app_name_);
|
| + app->WithData(app_data_.get(), app_length_);
|
|
|
| return std::unique_ptr<rtcp::RtcpPacket>(app);
|
| }
|
| @@ -661,9 +662,9 @@
|
| std::unique_ptr<rtcp::RtcpPacket> RTCPSender::BuildNACK(
|
| const RtcpContext& ctx) {
|
| rtcp::Nack* nack = new rtcp::Nack();
|
| - nack->SetSenderSsrc(ssrc_);
|
| - nack->SetMediaSsrc(remote_ssrc_);
|
| - nack->SetPacketIds(ctx.nack_list_, ctx.nack_size_);
|
| + nack->From(ssrc_);
|
| + nack->To(remote_ssrc_);
|
| + nack->WithList(ctx.nack_list_, ctx.nack_size_);
|
|
|
| // Report stats.
|
| NACKStringBuilder stringBuilder;
|
| @@ -686,8 +687,9 @@
|
|
|
| std::unique_ptr<rtcp::RtcpPacket> RTCPSender::BuildBYE(const RtcpContext& ctx) {
|
| rtcp::Bye* bye = new rtcp::Bye();
|
| - bye->SetSenderSsrc(ssrc_);
|
| - bye->SetCsrcs(csrcs_);
|
| + bye->From(ssrc_);
|
| + for (uint32_t csrc : csrcs_)
|
| + bye->WithCsrc(csrc);
|
|
|
| return std::unique_ptr<rtcp::RtcpPacket>(bye);
|
| }
|
| @@ -696,12 +698,12 @@
|
| const RtcpContext& ctx) {
|
|
|
| rtcp::ExtendedReports* xr = new rtcp::ExtendedReports();
|
| - xr->SetSenderSsrc(ssrc_);
|
| + xr->From(ssrc_);
|
|
|
| rtcp::Rrtr rrtr;
|
| - rrtr.SetNtp(NtpTime(ctx.ntp_sec_, ctx.ntp_frac_));
|
| -
|
| - xr->AddRrtr(rrtr);
|
| + rrtr.WithNtp(NtpTime(ctx.ntp_sec_, ctx.ntp_frac_));
|
| +
|
| + xr->WithRrtr(rrtr);
|
|
|
| // TODO(sprang): Merge XR report sending to contain all of RRTR, DLRR, VOIP?
|
|
|
| @@ -711,13 +713,13 @@
|
| std::unique_ptr<rtcp::RtcpPacket> RTCPSender::BuildDlrr(
|
| const RtcpContext& ctx) {
|
| rtcp::ExtendedReports* xr = new rtcp::ExtendedReports();
|
| - xr->SetSenderSsrc(ssrc_);
|
| + xr->From(ssrc_);
|
|
|
| rtcp::Dlrr dlrr;
|
| const RtcpReceiveTimeInfo& info = ctx.feedback_state_.last_xr_rr;
|
| - dlrr.AddDlrrItem(info.sourceSSRC, info.lastRR, info.delaySinceLastRR);
|
| -
|
| - xr->AddDlrr(dlrr);
|
| + dlrr.WithDlrrItem(info.sourceSSRC, info.lastRR, info.delaySinceLastRR);
|
| +
|
| + xr->WithDlrr(dlrr);
|
|
|
| return std::unique_ptr<rtcp::RtcpPacket>(xr);
|
| }
|
| @@ -726,13 +728,13 @@
|
| std::unique_ptr<rtcp::RtcpPacket> RTCPSender::BuildVoIPMetric(
|
| const RtcpContext& context) {
|
| rtcp::ExtendedReports* xr = new rtcp::ExtendedReports();
|
| - xr->SetSenderSsrc(ssrc_);
|
| + xr->From(ssrc_);
|
|
|
| rtcp::VoipMetric voip;
|
| - voip.SetMediaSsrc(remote_ssrc_);
|
| - voip.SetVoipMetric(xr_voip_metric_);
|
| -
|
| - xr->AddVoipMetric(voip);
|
| + voip.To(remote_ssrc_);
|
| + voip.WithVoipMetric(xr_voip_metric_);
|
| +
|
| + xr->WithVoipMetric(voip);
|
|
|
| return std::unique_ptr<rtcp::RtcpPacket>(xr);
|
| }
|
| @@ -903,16 +905,16 @@
|
| }
|
| RTC_DCHECK(report_blocks_.find(ssrc) == report_blocks_.end());
|
| rtcp::ReportBlock* block = &report_blocks_[ssrc];
|
| - block->SetMediaSsrc(ssrc);
|
| - block->SetFractionLost(stats.fraction_lost);
|
| - if (!block->SetCumulativeLost(stats.cumulative_lost)) {
|
| + block->To(ssrc);
|
| + block->WithFractionLost(stats.fraction_lost);
|
| + if (!block->WithCumulativeLost(stats.cumulative_lost)) {
|
| report_blocks_.erase(ssrc);
|
| LOG(LS_WARNING) << "Cumulative lost is oversized.";
|
| return false;
|
| }
|
| - block->SetExtHighestSeqNum(stats.extended_max_sequence_number);
|
| - block->SetJitter(stats.jitter);
|
| - block->SetLastSr(feedback_state.remote_sr);
|
| + block->WithExtHighestSeqNum(stats.extended_max_sequence_number);
|
| + block->WithJitter(stats.jitter);
|
| + block->WithLastSr(feedback_state.remote_sr);
|
|
|
| // TODO(sprang): Do we really need separate time stamps for each report?
|
| // Get our NTP as late as possible to avoid a race.
|
| @@ -932,7 +934,7 @@
|
| receiveTime <<= 16;
|
| receiveTime += (feedback_state.last_rr_ntp_frac & 0xffff0000) >> 16;
|
|
|
| - block->SetDelayLastSr(now - receiveTime);
|
| + block->WithDelayLastSr(now - receiveTime);
|
| }
|
| return true;
|
| }
|
|
|