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

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

Issue 1669323002: TMMBRSet become vector<rtcp::TmmbItem> (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: makes std::vector<rtcp::TmmbItem> compatible with TMMBRSet Created 4 years, 10 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/tmmbr_help.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/modules/rtp_rtcp/source/tmmbr_help.cc
diff --git a/webrtc/modules/rtp_rtcp/source/tmmbr_help.cc b/webrtc/modules/rtp_rtcp/source/tmmbr_help.cc
index 5c090504ca07fe5b4f9f0bb4838f3ef55238a7f3..57d003fe16f0f75699cdca8554d3f8ae02573478 100644
--- a/webrtc/modules/rtp_rtcp/source/tmmbr_help.cc
+++ b/webrtc/modules/rtp_rtcp/source/tmmbr_help.cc
@@ -15,84 +15,51 @@
#include <limits>
+#include "webrtc/base/checks.h"
#include "webrtc/modules/rtp_rtcp/source/rtp_rtcp_config.h"
namespace webrtc {
-TMMBRSet::TMMBRSet() :
- _sizeOfSet(0),
- _lengthOfSet(0)
-{
-}
-
-TMMBRSet::~TMMBRSet()
-{
- _sizeOfSet = 0;
- _lengthOfSet = 0;
-}
-
void
TMMBRSet::VerifyAndAllocateSet(uint32_t minimumSize)
{
- if(minimumSize > _sizeOfSet)
- {
- // make sure that our buffers are big enough
- _data.resize(minimumSize);
- _sizeOfSet = minimumSize;
- }
- // reset memory
- for(uint32_t i = 0; i < _sizeOfSet; i++)
- {
- _data.at(i).tmmbr = 0;
- _data.at(i).packet_oh = 0;
- _data.at(i).ssrc = 0;
- }
- _lengthOfSet = 0;
+ clear();
+ reserve(minimumSize);
}
void
TMMBRSet::VerifyAndAllocateSetKeepingData(uint32_t minimumSize)
{
- if(minimumSize > _sizeOfSet)
- {
- {
- _data.resize(minimumSize);
- }
- _sizeOfSet = minimumSize;
- }
+ reserve(minimumSize);
}
void TMMBRSet::SetEntry(unsigned int i,
uint32_t tmmbrSet,
uint32_t packetOHSet,
uint32_t ssrcSet) {
- assert(i < _sizeOfSet);
- _data.at(i).tmmbr = tmmbrSet;
- _data.at(i).packet_oh = packetOHSet;
- _data.at(i).ssrc = ssrcSet;
- if (i >= _lengthOfSet) {
- _lengthOfSet = i + 1;
+ RTC_DCHECK_LT(i, capacity());
+ if (i >= size()) {
+ resize(i+1);
}
+ (*this)[i].set_bitrate_bps(tmmbrSet * 1000);
+ (*this)[i].set_packet_overhead(packetOHSet);
+ (*this)[i].set_ssrc(ssrcSet);
}
void TMMBRSet::AddEntry(uint32_t tmmbrSet,
uint32_t packetOHSet,
uint32_t ssrcSet) {
- assert(_lengthOfSet < _sizeOfSet);
- SetEntry(_lengthOfSet, tmmbrSet, packetOHSet, ssrcSet);
+ RTC_DCHECK_LT(size(), capacity());
+ SetEntry(size(), tmmbrSet, packetOHSet, ssrcSet);
}
void TMMBRSet::RemoveEntry(uint32_t sourceIdx) {
- assert(sourceIdx < _lengthOfSet);
- _data.erase(_data.begin() + sourceIdx);
- _lengthOfSet--;
- _data.resize(_sizeOfSet); // Ensure that size remains the same.
+ RTC_DCHECK_LT(sourceIdx, size());
+ erase(begin() + sourceIdx);
}
void TMMBRSet::SwapEntries(uint32_t i, uint32_t j) {
- SetElement temp;
- temp = _data[i];
- _data[i] = _data[j];
- _data[j] = temp;
+ using std::swap;
+ swap((*this)[i], (*this)[j]);
}
void TMMBRSet::ClearEntry(uint32_t idx) {
@@ -121,7 +88,7 @@ TMMBRHelp::VerifyAndAllocateBoundingSet(uint32_t minimumSize)
{
CriticalSectionScoped lock(_criticalSection);
- if(minimumSize > _boundingSet.sizeOfSet())
+ if(minimumSize > _boundingSet.capacity())
{
// make sure that our buffers are big enough
if(_ptrIntersectionBoundingSet)
@@ -201,10 +168,9 @@ TMMBRHelp::FindTMMBRBoundingSet(TMMBRSet*& boundingSet)
// Work on local variable, will be modified
TMMBRSet candidateSet;
- candidateSet.VerifyAndAllocateSet(_candidateSet.sizeOfSet());
+ candidateSet.VerifyAndAllocateSet(_candidateSet.capacity());
- // TODO(hta) Figure out if this should be lengthOfSet instead.
- for (uint32_t i = 0; i < _candidateSet.sizeOfSet(); i++)
+ for (uint32_t i = 0; i < _candidateSet.size(); i++)
{
if(_candidateSet.Tmmbr(i))
{
@@ -228,7 +194,7 @@ TMMBRHelp::FindTMMBRBoundingSet(TMMBRSet*& boundingSet)
if (numSetCandidates > 0)
{
numBoundingSet = FindTMMBRBoundingSet(numSetCandidates, candidateSet);
- if(numBoundingSet < 1 || (numBoundingSet > _candidateSet.sizeOfSet()))
+ if(numBoundingSet < 1 || (numBoundingSet > _candidateSet.size()))
{
return -1;
}
@@ -244,12 +210,11 @@ TMMBRHelp::FindTMMBRBoundingSet(int32_t numCandidates, TMMBRSet& candidateSet)
CriticalSectionScoped lock(_criticalSection);
uint32_t numBoundingSet = 0;
- VerifyAndAllocateBoundingSet(candidateSet.sizeOfSet());
+ VerifyAndAllocateBoundingSet(candidateSet.capacity());
if (numCandidates == 1)
{
- // TODO(hta): lengthOfSet instead of sizeOfSet?
- for (uint32_t i = 0; i < candidateSet.sizeOfSet(); i++)
+ for (uint32_t i = 0; i < candidateSet.size(); i++)
{
if (candidateSet.Tmmbr(i) > 0)
{
@@ -263,7 +228,7 @@ TMMBRHelp::FindTMMBRBoundingSet(int32_t numCandidates, TMMBRSet& candidateSet)
}
// 1. Sort by increasing packetOH
- for (int i = candidateSet.sizeOfSet() - 1; i >= 0; i--)
+ for (int i = candidateSet.size() - 1; i >= 0; i--)
{
for (int j = 1; j <= i; j++)
{
@@ -274,7 +239,7 @@ TMMBRHelp::FindTMMBRBoundingSet(int32_t numCandidates, TMMBRSet& candidateSet)
}
}
// 2. For tuples with same OH, keep the one w/ the lowest bitrate
- for (uint32_t i = 0; i < candidateSet.sizeOfSet(); i++)
+ for (uint32_t i = 0; i < candidateSet.size(); i++)
{
if (candidateSet.Tmmbr(i) > 0)
{
@@ -282,7 +247,7 @@ TMMBRHelp::FindTMMBRBoundingSet(int32_t numCandidates, TMMBRSet& candidateSet)
uint32_t currentPacketOH = candidateSet.PacketOH(i);
uint32_t currentMinTMMBR = candidateSet.Tmmbr(i);
uint32_t currentMinIndexTMMBR = i;
- for (uint32_t j = i+1; j < candidateSet.sizeOfSet(); j++)
+ for (uint32_t j = i+1; j < candidateSet.size(); j++)
{
if(candidateSet.PacketOH(j) == currentPacketOH)
{
@@ -294,7 +259,7 @@ TMMBRHelp::FindTMMBRBoundingSet(int32_t numCandidates, TMMBRSet& candidateSet)
}
}
// keep lowest bitrate
- for (uint32_t j = 0; j < candidateSet.sizeOfSet(); j++)
+ for (uint32_t j = 0; j < candidateSet.size(); j++)
{
if(candidateSet.PacketOH(j) == currentPacketOH
&& j != currentMinIndexTMMBR)
@@ -308,7 +273,7 @@ TMMBRHelp::FindTMMBRBoundingSet(int32_t numCandidates, TMMBRSet& candidateSet)
// (If more than 1, choose the one w/ highest OH).
uint32_t minTMMBR = 0;
uint32_t minIndexTMMBR = 0;
- for (uint32_t i = 0; i < candidateSet.sizeOfSet(); i++)
+ for (uint32_t i = 0; i < candidateSet.size(); i++)
{
if (candidateSet.Tmmbr(i) > 0)
{
@@ -318,7 +283,7 @@ TMMBRHelp::FindTMMBRBoundingSet(int32_t numCandidates, TMMBRSet& candidateSet)
}
}
- for (uint32_t i = 0; i < candidateSet.sizeOfSet(); i++)
+ for (uint32_t i = 0; i < candidateSet.size(); i++)
{
if (candidateSet.Tmmbr(i) > 0 && candidateSet.Tmmbr(i) <= minTMMBR)
{
@@ -346,7 +311,7 @@ TMMBRHelp::FindTMMBRBoundingSet(int32_t numCandidates, TMMBRSet& candidateSet)
// 4. Discard from candidate list all tuple w/ lower OH
// (next tuple must be steeper)
- for (uint32_t i = 0; i < candidateSet.sizeOfSet(); i++)
+ for (uint32_t i = 0; i < candidateSet.size(); i++)
{
if(candidateSet.Tmmbr(i) > 0
&& candidateSet.PacketOH(i) < _boundingSet.PacketOH(0))
@@ -373,7 +338,7 @@ TMMBRHelp::FindTMMBRBoundingSet(int32_t numCandidates, TMMBRSet& candidateSet)
if (getNewCandidate)
{
// 5. Remove first remaining tuple from candidate list
- for (uint32_t i = 0; i < candidateSet.sizeOfSet(); i++)
+ for (uint32_t i = 0; i < candidateSet.size(); i++)
{
if (candidateSet.Tmmbr(i) > 0)
{
@@ -442,7 +407,7 @@ bool TMMBRHelp::IsOwner(const uint32_t ssrc,
return false;
}
for(uint32_t i = 0;
- (i < length) && (i < _boundingSet.sizeOfSet()); ++i) {
+ (i < length) && (i < _boundingSet.size()); ++i) {
if(_boundingSet.Ssrc(i) == ssrc) {
return true;
}
@@ -453,7 +418,7 @@ bool TMMBRHelp::IsOwner(const uint32_t ssrc,
bool TMMBRHelp::CalcMinBitRate( uint32_t* minBitrateKbit) const {
CriticalSectionScoped lock(_criticalSection);
- if (_candidateSet.sizeOfSet() == 0) {
+ if (_candidateSet.size() == 0) {
// Empty bounding set.
return false;
}
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/tmmbr_help.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698