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

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

Issue 2354333004: RTCPReceiver store cname as std::string. (Closed)
Patch Set: Remove RTCPCnameInformation struct Created 4 years, 3 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_utility.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 d81b3831f0d1428e6d4c8d214365b9de370d81dc..638922cdcc189e1ec4c8388dcd532945fec6bfe1 100644
--- a/webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc
@@ -49,9 +49,6 @@ using rtcp::CommonHeader;
using rtcp::ReportBlock;
using RTCPHelp::RTCPReceiveInformation;
using RTCPHelp::RTCPReportBlockInformation;
-using RTCPUtility::RTCPCnameInformation;
-using RTCPUtility::RTCPPacketReportBlockItem;
-using RTCPUtility::RTCPPacketTypes;
// The number of RTCP time intervals needed to trigger a timeout.
const int kRrTimeoutIntervals = 3;
@@ -122,12 +119,6 @@ RTCPReceiver::~RTCPReceiver() {
delete first->second;
_receivedInfoMap.erase(first);
}
- while (!_receivedCnameMap.empty()) {
- std::map<uint32_t, RTCPCnameInformation*>::iterator first =
- _receivedCnameMap.begin();
- delete first->second;
- _receivedCnameMap.erase(first);
- }
}
bool RTCPReceiver::IncomingPacket(const uint8_t* packet, size_t packet_size) {
@@ -611,35 +602,6 @@ RTCPReportBlockInformation* RTCPReceiver::GetReportBlockInformation(
return it_info->second;
}
-RTCPCnameInformation* RTCPReceiver::CreateCnameInformation(
- uint32_t remoteSSRC) {
- rtc::CritScope lock(&_criticalSectionRTCPReceiver);
-
- std::map<uint32_t, RTCPCnameInformation*>::iterator it =
- _receivedCnameMap.find(remoteSSRC);
-
- if (it != _receivedCnameMap.end()) {
- return it->second;
- }
- RTCPCnameInformation* cnameInfo = new RTCPCnameInformation;
- memset(cnameInfo->name, 0, RTCP_CNAME_SIZE);
- _receivedCnameMap[remoteSSRC] = cnameInfo;
- return cnameInfo;
-}
-
-RTCPCnameInformation* RTCPReceiver::GetCnameInformation(
- uint32_t remoteSSRC) const {
- rtc::CritScope lock(&_criticalSectionRTCPReceiver);
-
- std::map<uint32_t, RTCPCnameInformation*>::const_iterator it =
- _receivedCnameMap.find(remoteSSRC);
-
- if (it == _receivedCnameMap.end()) {
- return NULL;
- }
- return it->second;
-}
-
RTCPReceiveInformation* RTCPReceiver::CreateReceiveInformation(
uint32_t remoteSSRC) {
rtc::CritScope lock(&_criticalSectionRTCPReceiver);
@@ -765,11 +727,7 @@ void RTCPReceiver::HandleSDES(const CommonHeader& rtcp_block,
}
for (const rtcp::Sdes::Chunk& chunk : sdes.chunks()) {
- RTCPCnameInformation* cnameInfo = CreateCnameInformation(chunk.ssrc);
- RTC_DCHECK(cnameInfo);
-
- cnameInfo->name[RTCP_CNAME_SIZE - 1] = 0;
- strncpy(cnameInfo->name, chunk.cname.c_str(), RTCP_CNAME_SIZE - 1);
+ received_cnames_[chunk.ssrc] = chunk.cname;
{
rtc::CritScope lock(&_criticalSectionFeedbacks);
if (stats_callback_)
@@ -827,13 +785,7 @@ void RTCPReceiver::HandleBYE(const CommonHeader& rtcp_block) {
if (receiveInfoIt != _receivedInfoMap.end())
receiveInfoIt->second->ready_for_delete = true;
- std::map<uint32_t, RTCPCnameInformation*>::iterator cnameInfoIt =
- _receivedCnameMap.find(bye.sender_ssrc());
-
- if (cnameInfoIt != _receivedCnameMap.end()) {
- delete cnameInfoIt->second;
- _receivedCnameMap.erase(cnameInfoIt);
- }
+ received_cnames_.erase(bye.sender_ssrc());
xr_rr_rtt_ms_ = 0;
}
@@ -1186,15 +1138,15 @@ void RTCPReceiver::TriggerCallbacksFromRTCPPacket(
int32_t RTCPReceiver::CNAME(uint32_t remoteSSRC,
char cName[RTCP_CNAME_SIZE]) const {
- assert(cName);
+ RTC_DCHECK(cName);
rtc::CritScope lock(&_criticalSectionRTCPReceiver);
- RTCPCnameInformation* cnameInfo = GetCnameInformation(remoteSSRC);
- if (cnameInfo == NULL) {
+ auto received_cname_it = received_cnames_.find(remoteSSRC);
+ if (received_cname_it == received_cnames_.end())
return -1;
- }
- cName[RTCP_CNAME_SIZE - 1] = 0;
- strncpy(cName, cnameInfo->name, RTCP_CNAME_SIZE - 1);
+
+ size_t length = received_cname_it->second.copy(cName, RTCP_CNAME_SIZE - 1);
+ cName[length] = 0;
return 0;
}
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtcp_receiver.h ('k') | webrtc/modules/rtp_rtcp/source/rtcp_utility.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698