Clean up implementation in stream_params
Bug: None Change-Id: I49c8a4b09c7d01e7b2e6a1cdcc2c90b83cfeddb8 Reviewed-on: https://webrtc-review.googlesource.com/c/121602 Reviewed-by: Amit Hilbuch <amithi@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#26722}
This commit is contained in:
parent
ca890ee582
commit
c6643141f9
@ -20,32 +20,46 @@
|
||||
namespace cricket {
|
||||
namespace {
|
||||
|
||||
std::string SsrcsToString(const std::vector<uint32_t>& ssrcs) {
|
||||
char buf[1024];
|
||||
rtc::SimpleStringBuilder sb(buf);
|
||||
sb << "ssrcs:[";
|
||||
for (std::vector<uint32_t>::const_iterator it = ssrcs.begin();
|
||||
it != ssrcs.end(); ++it) {
|
||||
if (it != ssrcs.begin()) {
|
||||
sb << ",";
|
||||
}
|
||||
sb << *it;
|
||||
}
|
||||
sb << "]";
|
||||
return sb.str();
|
||||
}
|
||||
|
||||
std::string RidsToString(const std::vector<RidDescription>& rids) {
|
||||
char buf[1024];
|
||||
rtc::SimpleStringBuilder sb(buf);
|
||||
sb << "rids:[";
|
||||
void AppendSsrcs(rtc::ArrayView<const uint32_t> ssrcs,
|
||||
rtc::SimpleStringBuilder* sb) {
|
||||
*sb << "ssrcs:[";
|
||||
const char* delimiter = "";
|
||||
for (const RidDescription& rid : rids) {
|
||||
sb << delimiter << rid.rid;
|
||||
for (uint32_t ssrc : ssrcs) {
|
||||
*sb << delimiter << ssrc;
|
||||
delimiter = ",";
|
||||
}
|
||||
sb << "]";
|
||||
return sb.str();
|
||||
*sb << "]";
|
||||
}
|
||||
|
||||
void AppendSsrcGroups(rtc::ArrayView<const SsrcGroup> ssrc_groups,
|
||||
rtc::SimpleStringBuilder* sb) {
|
||||
*sb << "ssrc_groups:";
|
||||
const char* delimiter = "";
|
||||
for (const SsrcGroup& ssrc_group : ssrc_groups) {
|
||||
*sb << delimiter << ssrc_group.ToString();
|
||||
delimiter = ",";
|
||||
}
|
||||
}
|
||||
|
||||
void AppendStreamIds(rtc::ArrayView<const std::string> stream_ids,
|
||||
rtc::SimpleStringBuilder* sb) {
|
||||
*sb << "stream_ids:";
|
||||
const char* delimiter = "";
|
||||
for (const std::string& stream_id : stream_ids) {
|
||||
*sb << delimiter << stream_id;
|
||||
delimiter = ",";
|
||||
}
|
||||
}
|
||||
|
||||
void AppendRids(rtc::ArrayView<const RidDescription> rids,
|
||||
rtc::SimpleStringBuilder* sb) {
|
||||
*sb << "rids:[";
|
||||
const char* delimiter = "";
|
||||
for (const RidDescription& rid : rids) {
|
||||
*sb << delimiter << rid.rid;
|
||||
delimiter = ",";
|
||||
}
|
||||
*sb << "]";
|
||||
}
|
||||
|
||||
} // namespace
|
||||
@ -83,7 +97,7 @@ std::string SsrcGroup::ToString() const {
|
||||
rtc::SimpleStringBuilder sb(buf);
|
||||
sb << "{";
|
||||
sb << "semantics:" << semantics << ";";
|
||||
sb << SsrcsToString(ssrcs);
|
||||
AppendSsrcs(ssrcs, &sb);
|
||||
sb << "}";
|
||||
return sb.str();
|
||||
}
|
||||
@ -113,30 +127,18 @@ std::string StreamParams::ToString() const {
|
||||
if (!id.empty()) {
|
||||
sb << "id:" << id << ";";
|
||||
}
|
||||
sb << SsrcsToString(ssrcs) << ";";
|
||||
sb << "ssrc_groups:";
|
||||
for (std::vector<SsrcGroup>::const_iterator it = ssrc_groups.begin();
|
||||
it != ssrc_groups.end(); ++it) {
|
||||
if (it != ssrc_groups.begin()) {
|
||||
sb << ",";
|
||||
}
|
||||
sb << it->ToString();
|
||||
}
|
||||
AppendSsrcs(ssrcs, &sb);
|
||||
sb << ";";
|
||||
AppendSsrcGroups(ssrc_groups, &sb);
|
||||
sb << ";";
|
||||
if (!cname.empty()) {
|
||||
sb << "cname:" << cname << ";";
|
||||
}
|
||||
sb << "stream_ids:";
|
||||
for (std::vector<std::string>::const_iterator it = stream_ids_.begin();
|
||||
it != stream_ids_.end(); ++it) {
|
||||
if (it != stream_ids_.begin()) {
|
||||
sb << ",";
|
||||
}
|
||||
sb << *it;
|
||||
}
|
||||
AppendStreamIds(stream_ids_, &sb);
|
||||
sb << ";";
|
||||
if (!rids_.empty()) {
|
||||
sb << RidsToString(rids_) << ";";
|
||||
AppendRids(rids_, &sb);
|
||||
sb << ";";
|
||||
}
|
||||
sb << "}";
|
||||
return sb.str();
|
||||
@ -178,17 +180,16 @@ void StreamParams::GetPrimarySsrcs(std::vector<uint32_t>* ssrcs) const {
|
||||
if (sim_group == NULL) {
|
||||
ssrcs->push_back(first_ssrc());
|
||||
} else {
|
||||
for (size_t i = 0; i < sim_group->ssrcs.size(); ++i) {
|
||||
ssrcs->push_back(sim_group->ssrcs[i]);
|
||||
}
|
||||
ssrcs->insert(ssrcs->end(), sim_group->ssrcs.begin(),
|
||||
sim_group->ssrcs.end());
|
||||
}
|
||||
}
|
||||
|
||||
void StreamParams::GetFidSsrcs(const std::vector<uint32_t>& primary_ssrcs,
|
||||
std::vector<uint32_t>* fid_ssrcs) const {
|
||||
for (size_t i = 0; i < primary_ssrcs.size(); ++i) {
|
||||
for (uint32_t primary_ssrc : primary_ssrcs) {
|
||||
uint32_t fid_ssrc;
|
||||
if (GetFidSsrc(primary_ssrcs[i], &fid_ssrc)) {
|
||||
if (GetFidSsrc(primary_ssrc, &fid_ssrc)) {
|
||||
fid_ssrcs->push_back(fid_ssrc);
|
||||
}
|
||||
}
|
||||
@ -202,22 +203,17 @@ bool StreamParams::AddSecondarySsrc(const std::string& semantics,
|
||||
}
|
||||
|
||||
ssrcs.push_back(secondary_ssrc);
|
||||
std::vector<uint32_t> ssrc_vector;
|
||||
ssrc_vector.push_back(primary_ssrc);
|
||||
ssrc_vector.push_back(secondary_ssrc);
|
||||
SsrcGroup ssrc_group = SsrcGroup(semantics, ssrc_vector);
|
||||
ssrc_groups.push_back(ssrc_group);
|
||||
ssrc_groups.push_back(SsrcGroup(semantics, {primary_ssrc, secondary_ssrc}));
|
||||
return true;
|
||||
}
|
||||
|
||||
bool StreamParams::GetSecondarySsrc(const std::string& semantics,
|
||||
uint32_t primary_ssrc,
|
||||
uint32_t* secondary_ssrc) const {
|
||||
for (std::vector<SsrcGroup>::const_iterator it = ssrc_groups.begin();
|
||||
it != ssrc_groups.end(); ++it) {
|
||||
if (it->has_semantics(semantics) && it->ssrcs.size() >= 2 &&
|
||||
it->ssrcs[0] == primary_ssrc) {
|
||||
*secondary_ssrc = it->ssrcs[1];
|
||||
for (const SsrcGroup& ssrc_group : ssrc_groups) {
|
||||
if (ssrc_group.has_semantics(semantics) && ssrc_group.ssrcs.size() >= 2 &&
|
||||
ssrc_group.ssrcs[0] == primary_ssrc) {
|
||||
*secondary_ssrc = ssrc_group.ssrcs[1];
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -122,10 +122,9 @@ struct StreamParams {
|
||||
return (get_ssrc_group(semantics) != NULL);
|
||||
}
|
||||
const SsrcGroup* get_ssrc_group(const std::string& semantics) const {
|
||||
for (std::vector<SsrcGroup>::const_iterator it = ssrc_groups.begin();
|
||||
it != ssrc_groups.end(); ++it) {
|
||||
if (it->has_semantics(semantics)) {
|
||||
return &(*it);
|
||||
for (const SsrcGroup& ssrc_group : ssrc_groups) {
|
||||
if (ssrc_group.has_semantics(semantics)) {
|
||||
return &ssrc_group;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user