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

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

Issue 2254703003: Remove TMMBRSet class (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Feedback 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_help.h ('k') | webrtc/modules/rtp_rtcp/source/rtcp_sender.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_help.cc
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_receiver_help.cc b/webrtc/modules/rtp_rtcp/source/rtcp_receiver_help.cc
index 4ad1ddeb7616e6205d6a2d0a6168725ca55fe36f..8dba2e562a4c27f7346ebe336f0376ed8a28f9db 100644
--- a/webrtc/modules/rtp_rtcp/source/rtcp_receiver_help.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_receiver_help.cc
@@ -115,72 +115,38 @@ RTCPReportBlockInformation::~RTCPReportBlockInformation()
{
}
-RTCPReceiveInformation::RTCPReceiveInformation()
- : lastTimeReceived(0),
- lastFIRSequenceNumber(-1),
- lastFIRRequest(0),
- readyForDelete(false) {
+RTCPReceiveInformation::RTCPReceiveInformation() = default;
+RTCPReceiveInformation::~RTCPReceiveInformation() = default;
+
+void RTCPReceiveInformation::InsertTmmbrItem(uint32_t sender_ssrc,
+ const rtcp::TmmbItem& tmmbr_item,
+ int64_t current_time_ms) {
+ TimedTmmbrItem* entry = &tmmbr_[sender_ssrc];
+ entry->tmmbr_item = rtcp::TmmbItem(sender_ssrc,
+ tmmbr_item.bitrate_bps(),
+ tmmbr_item.packet_overhead());
+ entry->last_updated_ms = current_time_ms;
}
-RTCPReceiveInformation::~RTCPReceiveInformation() {
-}
-
-// Increase size of TMMBRSet if needed, and also take care of
-// the _tmmbrSetTimeouts vector.
-void RTCPReceiveInformation::VerifyAndAllocateTMMBRSet(
- const uint32_t minimumSize) {
- if (minimumSize > TmmbrSet.sizeOfSet()) {
- TmmbrSet.VerifyAndAllocateSetKeepingData(minimumSize);
- // make sure that our buffers are big enough
- _tmmbrSetTimeouts.reserve(minimumSize);
- }
-}
-
-void RTCPReceiveInformation::InsertTMMBRItem(
- const uint32_t senderSSRC,
- const RTCPUtility::RTCPPacketRTPFBTMMBRItem& TMMBRItem,
- const int64_t currentTimeMS) {
- // serach to see if we have it in our list
- for (uint32_t i = 0; i < TmmbrSet.lengthOfSet(); i++) {
- if (TmmbrSet.Ssrc(i) == senderSSRC) {
- // we already have this SSRC in our list update it
- TmmbrSet.SetEntry(i,
- TMMBRItem.MaxTotalMediaBitRate,
- TMMBRItem.MeasuredOverhead,
- senderSSRC);
- _tmmbrSetTimeouts[i] = currentTimeMS;
- return;
- }
- }
- VerifyAndAllocateTMMBRSet(TmmbrSet.lengthOfSet() + 1);
- TmmbrSet.AddEntry(TMMBRItem.MaxTotalMediaBitRate,
- TMMBRItem.MeasuredOverhead,
- senderSSRC);
- _tmmbrSetTimeouts.push_back(currentTimeMS);
-}
-
-void RTCPReceiveInformation::GetTMMBRSet(
+void RTCPReceiveInformation::GetTmmbrSet(
int64_t current_time_ms,
std::vector<rtcp::TmmbItem>* candidates) {
- // Erase timeout entries.
- for (size_t source_idx = 0; source_idx < TmmbrSet.size();) {
- // Use audio define since we don't know what interval the remote peer is
- // using.
- if (current_time_ms - _tmmbrSetTimeouts[source_idx] >
- 5 * RTCP_INTERVAL_AUDIO_MS) {
- // Value timed out.
- TmmbrSet.erase(TmmbrSet.begin() + source_idx);
- _tmmbrSetTimeouts.erase(_tmmbrSetTimeouts.begin() + source_idx);
- continue;
+ // Use audio define since we don't know what interval the remote peer use.
+ int64_t timeouted_ms = current_time_ms - 5 * RTCP_INTERVAL_AUDIO_MS;
+ for (auto it = tmmbr_.begin(); it != tmmbr_.end();) {
+ if (it->second.last_updated_ms < timeouted_ms) {
+ // Erase timeout entries.
+ it = tmmbr_.erase(it);
+ } else {
+ candidates->push_back(it->second.tmmbr_item);
+ ++it;
}
- candidates->push_back(TmmbrSet[source_idx]);
- ++source_idx;
}
}
-void RTCPReceiveInformation::VerifyAndAllocateBoundingSet(
- const uint32_t minimumSize) {
- TmmbnBoundingSet.VerifyAndAllocateSet(minimumSize);
+void RTCPReceiveInformation::ClearTmmbr() {
+ tmmbr_.clear();
}
+
} // namespace RTCPHelp
} // namespace webrtc
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtcp_receiver_help.h ('k') | webrtc/modules/rtp_rtcp/source/rtcp_sender.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698