Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1145)

Unified Diff: webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc

Issue 2259213002: Reformat rtcp_receiver (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtcp_receiver.h ('k') | webrtc/modules/rtp_rtcp/source/rtcp_receiver_help.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc b/webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc
index 75c7eec47553604b513927044dd15d0c20ec22a6..d57432cea469365fa6b989725ced3ec23e6a8782 100644
--- a/webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc
@@ -195,29 +195,27 @@ bool RTCPReceiver::NTP(uint32_t* ReceivedNTPsecs,
uint32_t* ReceivedNTPfrac,
uint32_t* RTCPArrivalTimeSecs,
uint32_t* RTCPArrivalTimeFrac,
- uint32_t* rtcp_timestamp) const
-{
- rtc::CritScope lock(&_criticalSectionRTCPReceiver);
- if(ReceivedNTPsecs)
- {
- *ReceivedNTPsecs = _remoteSenderInfo.NTPseconds; // NTP from incoming SendReport
- }
- if(ReceivedNTPfrac)
- {
- *ReceivedNTPfrac = _remoteSenderInfo.NTPfraction;
- }
- if(RTCPArrivalTimeFrac)
- {
- *RTCPArrivalTimeFrac = _lastReceivedSRNTPfrac; // local NTP time when we received a RTCP packet with a send block
- }
- if(RTCPArrivalTimeSecs)
- {
- *RTCPArrivalTimeSecs = _lastReceivedSRNTPsecs;
- }
- if (rtcp_timestamp) {
- *rtcp_timestamp = _remoteSenderInfo.RTPtimeStamp;
- }
- return true;
+ uint32_t* rtcp_timestamp) const {
+ rtc::CritScope lock(&_criticalSectionRTCPReceiver);
+ if (ReceivedNTPsecs) {
+ *ReceivedNTPsecs =
+ _remoteSenderInfo.NTPseconds; // NTP from incoming SendReport
+ }
+ if (ReceivedNTPfrac) {
+ *ReceivedNTPfrac = _remoteSenderInfo.NTPfraction;
+ }
+ if (RTCPArrivalTimeFrac) {
+ *RTCPArrivalTimeFrac = _lastReceivedSRNTPfrac; // local NTP time when we
+ // received a RTCP packet
+ // with a send block
+ }
+ if (RTCPArrivalTimeSecs) {
+ *RTCPArrivalTimeSecs = _lastReceivedSRNTPsecs;
+ }
+ if (rtcp_timestamp) {
+ *rtcp_timestamp = _remoteSenderInfo.RTPtimeStamp;
+ }
+ return true;
}
bool RTCPReceiver::LastReceivedXrReferenceTimeInfo(
@@ -232,8 +230,8 @@ bool RTCPReceiver::LastReceivedXrReferenceTimeInfo(
info->lastRR = _remoteXRReceiveTimeInfo.lastRR;
// Get the delay since last received report (RFC 3611).
- uint32_t receive_time = RTCPUtility::MidNtp(_lastReceivedXRNTPsecs,
- _lastReceivedXRNTPfrac);
+ uint32_t receive_time =
+ RTCPUtility::MidNtp(_lastReceivedXRNTPsecs, _lastReceivedXRNTPfrac);
uint32_t ntp_sec = 0;
uint32_t ntp_frac = 0;
@@ -271,189 +269,182 @@ int32_t RTCPReceiver::StatisticsReceived(
return 0;
}
-int32_t
-RTCPReceiver::IncomingRTCPPacket(RTCPPacketInformation& rtcpPacketInformation,
- RTCPUtility::RTCPParserV2* rtcpParser)
-{
- rtc::CritScope lock(&_criticalSectionRTCPReceiver);
-
- _lastReceived = _clock->TimeInMilliseconds();
+int32_t RTCPReceiver::IncomingRTCPPacket(
+ RTCPPacketInformation& rtcpPacketInformation,
+ RTCPUtility::RTCPParserV2* rtcpParser) {
+ rtc::CritScope lock(&_criticalSectionRTCPReceiver);
- if (packet_type_counter_.first_packet_time_ms == -1) {
- packet_type_counter_.first_packet_time_ms = _lastReceived;
+ _lastReceived = _clock->TimeInMilliseconds();
+
+ if (packet_type_counter_.first_packet_time_ms == -1) {
+ packet_type_counter_.first_packet_time_ms = _lastReceived;
+ }
+
+ RTCPUtility::RTCPPacketTypes pktType = rtcpParser->Begin();
+ while (pktType != RTCPPacketTypes::kInvalid) {
+ // Each "case" is responsible for iterate the parser to the
+ // next top level packet.
+ switch (pktType) {
+ case RTCPPacketTypes::kSr:
+ case RTCPPacketTypes::kRr:
+ HandleSenderReceiverReport(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kSdes:
+ HandleSDES(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kXrHeader:
+ HandleXrHeader(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kXrReceiverReferenceTime:
+ HandleXrReceiveReferenceTime(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kXrDlrrReportBlock:
+ HandleXrDlrrReportBlock(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kXrVoipMetric:
+ HandleXRVOIPMetric(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kBye:
+ HandleBYE(*rtcpParser);
+ break;
+ case RTCPPacketTypes::kRtpfbNack:
+ HandleNACK(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kRtpfbTmmbr:
+ HandleTMMBR(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kRtpfbTmmbn:
+ HandleTMMBN(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kRtpfbSrReq:
+ HandleSR_REQ(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kPsfbPli:
+ HandlePLI(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kPsfbSli:
+ HandleSLI(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kPsfbRpsi:
+ HandleRPSI(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kExtendedIj:
+ HandleIJ(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kPsfbFir:
+ HandleFIR(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kPsfbApp:
+ HandlePsfbApp(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kApp:
+ // generic application messages
+ HandleAPP(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kAppItem:
+ // generic application messages
+ HandleAPPItem(*rtcpParser, rtcpPacketInformation);
+ break;
+ case RTCPPacketTypes::kTransportFeedback:
+ HandleTransportFeedback(rtcpParser, &rtcpPacketInformation);
+ break;
+ default:
+ rtcpParser->Iterate();
+ break;
}
+ pktType = rtcpParser->PacketType();
+ }
- RTCPUtility::RTCPPacketTypes pktType = rtcpParser->Begin();
- while (pktType != RTCPPacketTypes::kInvalid) {
- // Each "case" is responsible for iterate the parser to the
- // next top level packet.
- switch (pktType)
- {
- case RTCPPacketTypes::kSr:
- case RTCPPacketTypes::kRr:
- HandleSenderReceiverReport(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kSdes:
- HandleSDES(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kXrHeader:
- HandleXrHeader(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kXrReceiverReferenceTime:
- HandleXrReceiveReferenceTime(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kXrDlrrReportBlock:
- HandleXrDlrrReportBlock(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kXrVoipMetric:
- HandleXRVOIPMetric(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kBye:
- HandleBYE(*rtcpParser);
- break;
- case RTCPPacketTypes::kRtpfbNack:
- HandleNACK(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kRtpfbTmmbr:
- HandleTMMBR(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kRtpfbTmmbn:
- HandleTMMBN(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kRtpfbSrReq:
- HandleSR_REQ(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kPsfbPli:
- HandlePLI(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kPsfbSli:
- HandleSLI(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kPsfbRpsi:
- HandleRPSI(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kExtendedIj:
- HandleIJ(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kPsfbFir:
- HandleFIR(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kPsfbApp:
- HandlePsfbApp(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kApp:
- // generic application messages
- HandleAPP(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kAppItem:
- // generic application messages
- HandleAPPItem(*rtcpParser, rtcpPacketInformation);
- break;
- case RTCPPacketTypes::kTransportFeedback:
- HandleTransportFeedback(rtcpParser, &rtcpPacketInformation);
- break;
- default:
- rtcpParser->Iterate();
- break;
- }
- pktType = rtcpParser->PacketType();
- }
+ if (packet_type_counter_observer_ != NULL) {
+ packet_type_counter_observer_->RtcpPacketTypesCounterUpdated(
+ main_ssrc_, packet_type_counter_);
+ }
- if (packet_type_counter_observer_ != NULL) {
- packet_type_counter_observer_->RtcpPacketTypesCounterUpdated(
- main_ssrc_, packet_type_counter_);
- }
+ num_skipped_packets_ += rtcpParser->NumSkippedBlocks();
- num_skipped_packets_ += rtcpParser->NumSkippedBlocks();
-
- int64_t now = _clock->TimeInMilliseconds();
- if (now - last_skipped_packets_warning_ >= kMaxWarningLogIntervalMs &&
- num_skipped_packets_ > 0) {
- last_skipped_packets_warning_ = now;
- LOG(LS_WARNING)
- << num_skipped_packets_
- << " RTCP blocks were skipped due to being malformed or of "
- "unrecognized/unsupported type, during the past "
- << (kMaxWarningLogIntervalMs / 1000) << " second period.";
- }
+ int64_t now = _clock->TimeInMilliseconds();
+ if (now - last_skipped_packets_warning_ >= kMaxWarningLogIntervalMs &&
+ num_skipped_packets_ > 0) {
+ last_skipped_packets_warning_ = now;
+ LOG(LS_WARNING) << num_skipped_packets_
+ << " RTCP blocks were skipped due to being malformed or of "
+ "unrecognized/unsupported type, during the past "
+ << (kMaxWarningLogIntervalMs / 1000) << " second period.";
+ }
- return 0;
+ return 0;
}
-void
-RTCPReceiver::HandleSenderReceiverReport(RTCPUtility::RTCPParserV2& rtcpParser,
- RTCPPacketInformation& rtcpPacketInformation)
-{
- RTCPUtility::RTCPPacketTypes rtcpPacketType = rtcpParser.PacketType();
- const RTCPUtility::RTCPPacket& rtcpPacket = rtcpParser.Packet();
-
- assert((rtcpPacketType == RTCPPacketTypes::kRr) ||
- (rtcpPacketType == RTCPPacketTypes::kSr));
+void RTCPReceiver::HandleSenderReceiverReport(
+ RTCPUtility::RTCPParserV2& rtcpParser,
+ RTCPPacketInformation& rtcpPacketInformation) {
+ RTCPUtility::RTCPPacketTypes rtcpPacketType = rtcpParser.PacketType();
+ const RTCPUtility::RTCPPacket& rtcpPacket = rtcpParser.Packet();
- // SR.SenderSSRC
- // The synchronization source identifier for the originator of this SR packet
+ assert((rtcpPacketType == RTCPPacketTypes::kRr) ||
+ (rtcpPacketType == RTCPPacketTypes::kSr));
- // rtcpPacket.RR.SenderSSRC
- // The source of the packet sender, same as of SR? or is this a CE?
+ // SR.SenderSSRC
+ // The synchronization source identifier for the originator of this SR packet
- const uint32_t remoteSSRC = (rtcpPacketType == RTCPPacketTypes::kRr)
- ? rtcpPacket.RR.SenderSSRC
- : rtcpPacket.SR.SenderSSRC;
+ // rtcpPacket.RR.SenderSSRC
+ // The source of the packet sender, same as of SR? or is this a CE?
- rtcpPacketInformation.remoteSSRC = remoteSSRC;
+ const uint32_t remoteSSRC = (rtcpPacketType == RTCPPacketTypes::kRr)
+ ? rtcpPacket.RR.SenderSSRC
+ : rtcpPacket.SR.SenderSSRC;
- RTCPReceiveInformation* ptrReceiveInfo = CreateReceiveInformation(remoteSSRC);
- if (!ptrReceiveInfo)
- {
- rtcpParser.Iterate();
- return;
- }
+ rtcpPacketInformation.remoteSSRC = remoteSSRC;
- if (rtcpPacketType == RTCPPacketTypes::kSr) {
- TRACE_EVENT_INSTANT2(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"), "SR",
- "remote_ssrc", remoteSSRC, "ssrc", main_ssrc_);
+ RTCPReceiveInformation* ptrReceiveInfo = CreateReceiveInformation(remoteSSRC);
+ if (!ptrReceiveInfo) {
+ rtcpParser.Iterate();
+ return;
+ }
- if (_remoteSSRC == remoteSSRC) // have I received RTP packets from this party
- {
- // only signal that we have received a SR when we accept one
- rtcpPacketInformation.rtcpPacketTypeFlags |= kRtcpSr;
+ if (rtcpPacketType == RTCPPacketTypes::kSr) {
+ TRACE_EVENT_INSTANT2(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"), "SR",
+ "remote_ssrc", remoteSSRC, "ssrc", main_ssrc_);
- rtcpPacketInformation.ntp_secs = rtcpPacket.SR.NTPMostSignificant;
- rtcpPacketInformation.ntp_frac = rtcpPacket.SR.NTPLeastSignificant;
- rtcpPacketInformation.rtp_timestamp = rtcpPacket.SR.RTPTimestamp;
+ if (_remoteSSRC ==
+ remoteSSRC) // have I received RTP packets from this party
+ {
+ // only signal that we have received a SR when we accept one
+ rtcpPacketInformation.rtcpPacketTypeFlags |= kRtcpSr;
- // We will only store the send report from one source, but
- // we will store all the receive block
+ rtcpPacketInformation.ntp_secs = rtcpPacket.SR.NTPMostSignificant;
+ rtcpPacketInformation.ntp_frac = rtcpPacket.SR.NTPLeastSignificant;
+ rtcpPacketInformation.rtp_timestamp = rtcpPacket.SR.RTPTimestamp;
- // Save the NTP time of this report
- _remoteSenderInfo.NTPseconds = rtcpPacket.SR.NTPMostSignificant;
- _remoteSenderInfo.NTPfraction = rtcpPacket.SR.NTPLeastSignificant;
- _remoteSenderInfo.RTPtimeStamp = rtcpPacket.SR.RTPTimestamp;
- _remoteSenderInfo.sendPacketCount = rtcpPacket.SR.SenderPacketCount;
- _remoteSenderInfo.sendOctetCount = rtcpPacket.SR.SenderOctetCount;
+ // We will only store the send report from one source, but
+ // we will store all the receive block
- _clock->CurrentNtp(_lastReceivedSRNTPsecs, _lastReceivedSRNTPfrac);
- }
- else
- {
- rtcpPacketInformation.rtcpPacketTypeFlags |= kRtcpRr;
- }
- } else
- {
- TRACE_EVENT_INSTANT2(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"), "RR",
- "remote_ssrc", remoteSSRC, "ssrc", main_ssrc_);
+ // Save the NTP time of this report
+ _remoteSenderInfo.NTPseconds = rtcpPacket.SR.NTPMostSignificant;
+ _remoteSenderInfo.NTPfraction = rtcpPacket.SR.NTPLeastSignificant;
+ _remoteSenderInfo.RTPtimeStamp = rtcpPacket.SR.RTPTimestamp;
+ _remoteSenderInfo.sendPacketCount = rtcpPacket.SR.SenderPacketCount;
+ _remoteSenderInfo.sendOctetCount = rtcpPacket.SR.SenderOctetCount;
- rtcpPacketInformation.rtcpPacketTypeFlags |= kRtcpRr;
+ _clock->CurrentNtp(_lastReceivedSRNTPsecs, _lastReceivedSRNTPfrac);
+ } else {
+ rtcpPacketInformation.rtcpPacketTypeFlags |= kRtcpRr;
}
- // Update that this remote is alive.
- ptrReceiveInfo->last_time_received_ms = _clock->TimeInMilliseconds();
+ } else {
+ TRACE_EVENT_INSTANT2(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"), "RR",
+ "remote_ssrc", remoteSSRC, "ssrc", main_ssrc_);
- rtcpPacketType = rtcpParser.Iterate();
+ rtcpPacketInformation.rtcpPacketTypeFlags |= kRtcpRr;
+ }
+ // Update that this remote is alive.
+ ptrReceiveInfo->last_time_received_ms = _clock->TimeInMilliseconds();
- while (rtcpPacketType == RTCPPacketTypes::kReportBlockItem) {
- HandleReportBlock(rtcpPacket, rtcpPacketInformation, remoteSSRC);
- rtcpPacketType = rtcpParser.Iterate();
- }
+ rtcpPacketType = rtcpParser.Iterate();
+
+ while (rtcpPacketType == RTCPPacketTypes::kReportBlockItem) {
+ HandleReportBlock(rtcpPacket, rtcpPacketInformation, remoteSSRC);
+ rtcpPacketType = rtcpParser.Iterate();
+ }
}
void RTCPReceiver::HandleReportBlock(
@@ -477,12 +468,11 @@ void RTCPReceiver::HandleReportBlock(
return;
}
- RTCPReportBlockInformation* reportBlock =
- CreateOrGetReportBlockInformation(remoteSSRC,
- rtcpPacket.ReportBlockItem.SSRC);
+ RTCPReportBlockInformation* reportBlock = CreateOrGetReportBlockInformation(
+ remoteSSRC, rtcpPacket.ReportBlockItem.SSRC);
if (reportBlock == NULL) {
- LOG(LS_WARNING) << "Failed to CreateReportBlockInformation("
- << remoteSSRC << ")";
+ LOG(LS_WARNING) << "Failed to CreateReportBlockInformation(" << remoteSSRC
+ << ")";
return;
}
@@ -584,8 +574,8 @@ RTCPReportBlockInformation* RTCPReceiver::GetReportBlockInformation(
return it_info->second;
}
-RTCPCnameInformation*
-RTCPReceiver::CreateCnameInformation(uint32_t remoteSSRC) {
+RTCPCnameInformation* RTCPReceiver::CreateCnameInformation(
+ uint32_t remoteSSRC) {
rtc::CritScope lock(&_criticalSectionRTCPReceiver);
std::map<uint32_t, RTCPCnameInformation*>::iterator it =
@@ -600,8 +590,8 @@ RTCPReceiver::CreateCnameInformation(uint32_t remoteSSRC) {
return cnameInfo;
}
-RTCPCnameInformation*
-RTCPReceiver::GetCnameInformation(uint32_t remoteSSRC) const {
+RTCPCnameInformation* RTCPReceiver::GetCnameInformation(
+ uint32_t remoteSSRC) const {
rtc::CritScope lock(&_criticalSectionRTCPReceiver);
std::map<uint32_t, RTCPCnameInformation*>::const_iterator it =
@@ -613,8 +603,8 @@ RTCPReceiver::GetCnameInformation(uint32_t remoteSSRC) const {
return it->second;
}
-RTCPReceiveInformation*
-RTCPReceiver::CreateReceiveInformation(uint32_t remoteSSRC) {
+RTCPReceiveInformation* RTCPReceiver::CreateReceiveInformation(
+ uint32_t remoteSSRC) {
rtc::CritScope lock(&_criticalSectionRTCPReceiver);
std::map<uint32_t, RTCPReceiveInformation*>::iterator it =
@@ -628,8 +618,8 @@ RTCPReceiver::CreateReceiveInformation(uint32_t remoteSSRC) {
return receiveInfo;
}
-RTCPReceiveInformation*
-RTCPReceiver::GetReceiveInformation(uint32_t remoteSSRC) {
+RTCPReceiveInformation* RTCPReceiver::GetReceiveInformation(
+ uint32_t remoteSSRC) {
rtc::CritScope lock(&_criticalSectionRTCPReceiver);
std::map<uint32_t, RTCPReceiveInformation*>::iterator it =
@@ -660,8 +650,8 @@ bool RTCPReceiver::RtcpRrSequenceNumberTimeout(int64_t rtcp_interval_ms) {
return false;
int64_t time_out_ms = kRrTimeoutIntervals * rtcp_interval_ms;
- if (_clock->TimeInMilliseconds() > _lastIncreasedSequenceNumberMs +
- time_out_ms) {
+ if (_clock->TimeInMilliseconds() >
+ _lastIncreasedSequenceNumberMs + time_out_ms) {
// Reset the timer to only trigger one log.
_lastIncreasedSequenceNumberMs = 0;
return true;
@@ -702,7 +692,7 @@ bool RTCPReceiver::UpdateRTCPReceiveInformationTimers() {
} else if (receiveInfo->ready_for_delete) {
// store our current receiveInfoItem
std::map<uint32_t, RTCPReceiveInformation*>::iterator
- receiveInfoItemToBeErased = receiveInfoIt;
+ receiveInfoItemToBeErased = receiveInfoIt;
receiveInfoIt++;
delete receiveInfoItemToBeErased->second;
_receivedInfoMap.erase(receiveInfoItemToBeErased);
@@ -779,20 +769,20 @@ void RTCPReceiver::HandleNACK(RTCPUtility::RTCPParserV2& rtcpParser,
}
}
-void
-RTCPReceiver::HandleNACKItem(const RTCPUtility::RTCPPacket& rtcpPacket,
- RTCPPacketInformation& rtcpPacketInformation) {
+void RTCPReceiver::HandleNACKItem(
+ const RTCPUtility::RTCPPacket& rtcpPacket,
+ RTCPPacketInformation& rtcpPacketInformation) {
rtcpPacketInformation.AddNACKPacket(rtcpPacket.NACKItem.PacketID);
nack_stats_.ReportRequest(rtcpPacket.NACKItem.PacketID);
uint16_t bitMask = rtcpPacket.NACKItem.BitMask;
if (bitMask) {
- for (int i=1; i <= 16; ++i) {
+ for (int i = 1; i <= 16; ++i) {
if (bitMask & 0x01) {
rtcpPacketInformation.AddNACKPacket(rtcpPacket.NACKItem.PacketID + i);
nack_stats_.ReportRequest(rtcpPacket.NACKItem.PacketID + i);
}
- bitMask = bitMask >>1;
+ bitMask = bitMask >> 1;
}
}
rtcpPacketInformation.rtcpPacketTypeFlags |= kRtcpNack;
@@ -805,8 +795,8 @@ void RTCPReceiver::HandleBYE(RTCPUtility::RTCPParserV2& rtcpParser) {
ReportBlockMap::iterator it = _receivedReportBlockMap.begin();
for (; it != _receivedReportBlockMap.end(); ++it) {
ReportBlockInfoMap* info_map = &(it->second);
- ReportBlockInfoMap::iterator it_info = info_map->find(
- rtcpPacket.BYE.SenderSSRC);
+ ReportBlockInfoMap::iterator it_info =
+ info_map->find(rtcpPacket.BYE.SenderSSRC);
if (it_info != info_map->end()) {
delete it_info->second;
info_map->erase(it_info);
@@ -906,45 +896,47 @@ void RTCPReceiver::HandleXrDlrrReportBlockItem(
rtcpPacketInformation.rtcpPacketTypeFlags |= kRtcpXrDlrrReportBlock;
}
-void
-RTCPReceiver::HandleXRVOIPMetric(RTCPUtility::RTCPParserV2& rtcpParser,
- RTCPPacketInformation& rtcpPacketInformation)
-{
- const RTCPUtility::RTCPPacket& rtcpPacket = rtcpParser.Packet();
+void RTCPReceiver::HandleXRVOIPMetric(
+ RTCPUtility::RTCPParserV2& rtcpParser,
+ RTCPPacketInformation& rtcpPacketInformation) {
+ const RTCPUtility::RTCPPacket& rtcpPacket = rtcpParser.Packet();
- if(rtcpPacket.XRVOIPMetricItem.SSRC == main_ssrc_)
- {
- // Store VoIP metrics block if it's about me
- // from OriginatorSSRC do we filter it?
- // rtcpPacket.XR.OriginatorSSRC;
-
- RTCPVoIPMetric receivedVoIPMetrics;
- receivedVoIPMetrics.burstDensity = rtcpPacket.XRVOIPMetricItem.burstDensity;
- receivedVoIPMetrics.burstDuration = rtcpPacket.XRVOIPMetricItem.burstDuration;
- receivedVoIPMetrics.discardRate = rtcpPacket.XRVOIPMetricItem.discardRate;
- receivedVoIPMetrics.endSystemDelay = rtcpPacket.XRVOIPMetricItem.endSystemDelay;
- receivedVoIPMetrics.extRfactor = rtcpPacket.XRVOIPMetricItem.extRfactor;
- receivedVoIPMetrics.gapDensity = rtcpPacket.XRVOIPMetricItem.gapDensity;
- receivedVoIPMetrics.gapDuration = rtcpPacket.XRVOIPMetricItem.gapDuration;
- receivedVoIPMetrics.Gmin = rtcpPacket.XRVOIPMetricItem.Gmin;
- receivedVoIPMetrics.JBabsMax = rtcpPacket.XRVOIPMetricItem.JBabsMax;
- receivedVoIPMetrics.JBmax = rtcpPacket.XRVOIPMetricItem.JBmax;
- receivedVoIPMetrics.JBnominal = rtcpPacket.XRVOIPMetricItem.JBnominal;
- receivedVoIPMetrics.lossRate = rtcpPacket.XRVOIPMetricItem.lossRate;
- receivedVoIPMetrics.MOSCQ = rtcpPacket.XRVOIPMetricItem.MOSCQ;
- receivedVoIPMetrics.MOSLQ = rtcpPacket.XRVOIPMetricItem.MOSLQ;
- receivedVoIPMetrics.noiseLevel = rtcpPacket.XRVOIPMetricItem.noiseLevel;
- receivedVoIPMetrics.RERL = rtcpPacket.XRVOIPMetricItem.RERL;
- receivedVoIPMetrics.Rfactor = rtcpPacket.XRVOIPMetricItem.Rfactor;
- receivedVoIPMetrics.roundTripDelay = rtcpPacket.XRVOIPMetricItem.roundTripDelay;
- receivedVoIPMetrics.RXconfig = rtcpPacket.XRVOIPMetricItem.RXconfig;
- receivedVoIPMetrics.signalLevel = rtcpPacket.XRVOIPMetricItem.signalLevel;
-
- rtcpPacketInformation.AddVoIPMetric(&receivedVoIPMetrics);
-
- rtcpPacketInformation.rtcpPacketTypeFlags |= kRtcpXrVoipMetric; // received signal
- }
- rtcpParser.Iterate();
+ if (rtcpPacket.XRVOIPMetricItem.SSRC == main_ssrc_) {
+ // Store VoIP metrics block if it's about me
+ // from OriginatorSSRC do we filter it?
+ // rtcpPacket.XR.OriginatorSSRC;
+
+ RTCPVoIPMetric receivedVoIPMetrics;
+ receivedVoIPMetrics.burstDensity = rtcpPacket.XRVOIPMetricItem.burstDensity;
+ receivedVoIPMetrics.burstDuration =
+ rtcpPacket.XRVOIPMetricItem.burstDuration;
+ receivedVoIPMetrics.discardRate = rtcpPacket.XRVOIPMetricItem.discardRate;
+ receivedVoIPMetrics.endSystemDelay =
+ rtcpPacket.XRVOIPMetricItem.endSystemDelay;
+ receivedVoIPMetrics.extRfactor = rtcpPacket.XRVOIPMetricItem.extRfactor;
+ receivedVoIPMetrics.gapDensity = rtcpPacket.XRVOIPMetricItem.gapDensity;
+ receivedVoIPMetrics.gapDuration = rtcpPacket.XRVOIPMetricItem.gapDuration;
+ receivedVoIPMetrics.Gmin = rtcpPacket.XRVOIPMetricItem.Gmin;
+ receivedVoIPMetrics.JBabsMax = rtcpPacket.XRVOIPMetricItem.JBabsMax;
+ receivedVoIPMetrics.JBmax = rtcpPacket.XRVOIPMetricItem.JBmax;
+ receivedVoIPMetrics.JBnominal = rtcpPacket.XRVOIPMetricItem.JBnominal;
+ receivedVoIPMetrics.lossRate = rtcpPacket.XRVOIPMetricItem.lossRate;
+ receivedVoIPMetrics.MOSCQ = rtcpPacket.XRVOIPMetricItem.MOSCQ;
+ receivedVoIPMetrics.MOSLQ = rtcpPacket.XRVOIPMetricItem.MOSLQ;
+ receivedVoIPMetrics.noiseLevel = rtcpPacket.XRVOIPMetricItem.noiseLevel;
+ receivedVoIPMetrics.RERL = rtcpPacket.XRVOIPMetricItem.RERL;
+ receivedVoIPMetrics.Rfactor = rtcpPacket.XRVOIPMetricItem.Rfactor;
+ receivedVoIPMetrics.roundTripDelay =
+ rtcpPacket.XRVOIPMetricItem.roundTripDelay;
+ receivedVoIPMetrics.RXconfig = rtcpPacket.XRVOIPMetricItem.RXconfig;
+ receivedVoIPMetrics.signalLevel = rtcpPacket.XRVOIPMetricItem.signalLevel;
+
+ rtcpPacketInformation.AddVoIPMetric(&receivedVoIPMetrics);
+
+ rtcpPacketInformation.rtcpPacketTypeFlags |=
+ kRtcpXrVoipMetric; // received signal
+ }
+ rtcpParser.Iterate();
}
void RTCPReceiver::HandlePLI(RTCPUtility::RTCPParserV2& rtcpParser,
@@ -990,7 +982,8 @@ void RTCPReceiver::HandleTMMBR(RTCPUtility::RTCPParserV2& rtcpParser,
RTCPUtility::RTCPPacketTypes pktType = rtcpParser.Iterate();
while (pktType == RTCPPacketTypes::kRtpfbTmmbrItem) {
- HandleTMMBRItem(*ptrReceiveInfo, rtcpPacket, rtcpPacketInformation, senderSSRC);
+ HandleTMMBRItem(*ptrReceiveInfo, rtcpPacket, rtcpPacketInformation,
+ senderSSRC);
pktType = rtcpParser.Iterate();
}
}
@@ -1014,8 +1007,8 @@ void RTCPReceiver::HandleTMMBRItem(RTCPReceiveInformation& receiveInfo,
void RTCPReceiver::HandleTMMBN(RTCPUtility::RTCPParserV2& rtcpParser,
RTCPPacketInformation& rtcpPacketInformation) {
const RTCPUtility::RTCPPacket& rtcpPacket = rtcpParser.Packet();
- RTCPReceiveInformation* ptrReceiveInfo = GetReceiveInformation(
- rtcpPacket.TMMBN.SenderSSRC);
+ RTCPReceiveInformation* ptrReceiveInfo =
+ GetReceiveInformation(rtcpPacket.TMMBN.SenderSSRC);
if (ptrReceiveInfo == NULL) {
// This remote SSRC must be saved before.
rtcpParser.Iterate();
@@ -1067,37 +1060,37 @@ void RTCPReceiver::HandleSLI(RTCPUtility::RTCPParserV2& rtcpParser,
void RTCPReceiver::HandleSLIItem(const RTCPUtility::RTCPPacket& rtcpPacket,
RTCPPacketInformation& rtcpPacketInformation) {
// in theory there could be multiple slices lost
- rtcpPacketInformation.rtcpPacketTypeFlags |= kRtcpSli; // received signal that we need to refresh a slice
+ rtcpPacketInformation.rtcpPacketTypeFlags |=
+ kRtcpSli; // received signal that we need to refresh a slice
rtcpPacketInformation.sliPictureId = rtcpPacket.SLIItem.PictureId;
}
-void
-RTCPReceiver::HandleRPSI(RTCPUtility::RTCPParserV2& rtcpParser,
- RTCPHelp::RTCPPacketInformation& rtcpPacketInformation)
-{
- const RTCPUtility::RTCPPacket& rtcpPacket = rtcpParser.Packet();
- RTCPUtility::RTCPPacketTypes pktType = rtcpParser.Iterate();
- if (pktType == RTCPPacketTypes::kPsfbRpsiItem) {
- if(rtcpPacket.RPSI.NumberOfValidBits%8 != 0)
- {
- // to us unknown
- // continue
- rtcpParser.Iterate();
- return;
- }
- // Received signal that we have a confirmed reference picture.
- rtcpPacketInformation.rtcpPacketTypeFlags |= kRtcpRpsi;
- rtcpPacketInformation.rpsiPictureId = 0;
-
- // convert NativeBitString to rpsiPictureId
- uint8_t numberOfBytes = rtcpPacket.RPSI.NumberOfValidBits /8;
- for(uint8_t n = 0; n < (numberOfBytes-1); n++)
- {
- rtcpPacketInformation.rpsiPictureId += (rtcpPacket.RPSI.NativeBitString[n] & 0x7f);
- rtcpPacketInformation.rpsiPictureId <<= 7; // prepare next
- }
- rtcpPacketInformation.rpsiPictureId += (rtcpPacket.RPSI.NativeBitString[numberOfBytes-1] & 0x7f);
+void RTCPReceiver::HandleRPSI(
+ RTCPUtility::RTCPParserV2& rtcpParser,
+ RTCPHelp::RTCPPacketInformation& rtcpPacketInformation) {
+ const RTCPUtility::RTCPPacket& rtcpPacket = rtcpParser.Packet();
+ RTCPUtility::RTCPPacketTypes pktType = rtcpParser.Iterate();
+ if (pktType == RTCPPacketTypes::kPsfbRpsiItem) {
+ if (rtcpPacket.RPSI.NumberOfValidBits % 8 != 0) {
+ // to us unknown
+ // continue
+ rtcpParser.Iterate();
+ return;
}
+ // Received signal that we have a confirmed reference picture.
+ rtcpPacketInformation.rtcpPacketTypeFlags |= kRtcpRpsi;
+ rtcpPacketInformation.rpsiPictureId = 0;
+
+ // convert NativeBitString to rpsiPictureId
+ uint8_t numberOfBytes = rtcpPacket.RPSI.NumberOfValidBits / 8;
+ for (uint8_t n = 0; n < (numberOfBytes - 1); n++) {
+ rtcpPacketInformation.rpsiPictureId +=
+ (rtcpPacket.RPSI.NativeBitString[n] & 0x7f);
+ rtcpPacketInformation.rpsiPictureId <<= 7; // prepare next
+ }
+ rtcpPacketInformation.rpsiPictureId +=
+ (rtcpPacket.RPSI.NativeBitString[numberOfBytes - 1] & 0x7f);
+ }
}
void RTCPReceiver::HandlePsfbApp(RTCPUtility::RTCPParserV2& rtcpParser,
@@ -1127,7 +1120,7 @@ void RTCPReceiver::HandleIJItem(const RTCPUtility::RTCPPacket& rtcpPacket,
RTCPPacketInformation& rtcpPacketInformation) {
rtcpPacketInformation.rtcpPacketTypeFlags |= kRtcpTransmissionTimeOffset;
rtcpPacketInformation.interArrivalJitter =
- rtcpPacket.ExtendedJitterReportItem.Jitter;
+ rtcpPacket.ExtendedJitterReportItem.Jitter;
}
void RTCPReceiver::HandleREMBItem(
@@ -1199,7 +1192,8 @@ void RTCPReceiver::HandleAPPItem(RTCPUtility::RTCPParserV2& rtcpParser,
RTCPPacketInformation& rtcpPacketInformation) {
const RTCPUtility::RTCPPacket& rtcpPacket = rtcpParser.Packet();
- rtcpPacketInformation.AddApplicationData(rtcpPacket.APP.Data, rtcpPacket.APP.Size);
+ rtcpPacketInformation.AddApplicationData(rtcpPacket.APP.Data,
+ rtcpPacket.APP.Size);
rtcpParser.Iterate();
}
@@ -1276,7 +1270,7 @@ void RTCPReceiver::TriggerCallbacksFromRTCPPacket(
(rtcpPacketInformation.rtcpPacketTypeFlags & kRtcpNack)) {
if (rtcpPacketInformation.nackSequenceNumbers.size() > 0) {
LOG(LS_VERBOSE) << "Incoming NACK length: "
- << rtcpPacketInformation.nackSequenceNumbers.size();
+ << rtcpPacketInformation.nackSequenceNumbers.size();
_rtpRtcp.OnReceivedNACK(rtcpPacketInformation.nackSequenceNumbers);
}
}
@@ -1319,8 +1313,7 @@ void RTCPReceiver::TriggerCallbacksFromRTCPPacket(
(rtcpPacketInformation.rtcpPacketTypeFlags & kRtcpRr)) {
int64_t now = _clock->TimeInMilliseconds();
_cbRtcpBandwidthObserver->OnReceivedRtcpReceiverReport(
- rtcpPacketInformation.report_blocks,
- rtcpPacketInformation.rtt,
+ rtcpPacketInformation.report_blocks, rtcpPacketInformation.rtt,
now);
}
}
@@ -1345,9 +1338,8 @@ void RTCPReceiver::TriggerCallbacksFromRTCPPacket(
rtc::CritScope cs(&_criticalSectionFeedbacks);
if (stats_callback_) {
for (ReportBlockList::const_iterator it =
- rtcpPacketInformation.report_blocks.begin();
- it != rtcpPacketInformation.report_blocks.end();
- ++it) {
+ rtcpPacketInformation.report_blocks.begin();
+ it != rtcpPacketInformation.report_blocks.end(); ++it) {
RtcpStatistics stats;
stats.cumulative_lost = it->cumulativeLost;
stats.extended_max_sequence_number = it->extendedHighSeqNum;
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtcp_receiver.h ('k') | webrtc/modules/rtp_rtcp/source/rtcp_receiver_help.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698