Use Abseil container algorithms in modules/rtp_rtcp/

Bug: None
Change-Id: Ica2e9795ec6195e044403f5ee25e476f6c47cf93
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129600
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27361}
This commit is contained in:
Steve Anton
2019-03-28 10:56:11 -07:00
committed by Commit Bot
parent c90e81e2d9
commit 91c2606ca1
8 changed files with 32 additions and 35 deletions

View File

@ -104,6 +104,7 @@ rtc_source_set("rtp_rtcp_format") {
"../../rtc_base/system:unused",
"../../system_wrappers",
"../video_coding:codec_globals_headers",
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
"//third_party/abseil-cpp/absl/types:variant",
@ -232,6 +233,7 @@ rtc_static_library("rtp_rtcp") {
"../../system_wrappers:metrics",
"../remote_bitrate_estimator",
"../video_coding:codec_globals_headers",
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/container:inlined_vector",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/strings",
@ -266,6 +268,7 @@ rtc_source_set("rtcp_transceiver") {
"../../rtc_base/task_utils:repeating_task",
"../../rtc_base/task_utils:to_queued_task",
"../../system_wrappers",
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/types:optional",
]
@ -461,6 +464,7 @@ if (rtc_include_tests) {
"../../test:test_common",
"../../test:test_support",
"../video_coding:codec_globals_headers",
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/types:optional",
]

View File

@ -13,9 +13,9 @@
#include <ctype.h>
#include <string.h>
#include <algorithm>
#include <type_traits>
#include "absl/algorithm/container.h"
#include "api/array_view.h"
namespace webrtc {
@ -33,12 +33,12 @@ bool IsTokenChar(char ch) {
bool IsLegalMidName(absl::string_view name) {
return (name.size() <= kMidRsidMaxSize && name.size() > 0 &&
std::all_of(name.data(), name.data() + name.size(), IsTokenChar));
absl::c_all_of(name, IsTokenChar));
}
bool IsLegalRsidName(absl::string_view name) {
return (name.size() <= kMidRsidMaxSize && name.size() > 0 &&
std::all_of(name.data(), name.data() + name.size(), isalnum));
absl::c_all_of(name, isalnum));
}
StreamDataCounters::StreamDataCounters() : first_packet_time_ms(-1) {}

View File

@ -14,6 +14,7 @@
#include <algorithm>
#include <utility>
#include "absl/algorithm/container.h"
#include "modules/include/module_common_types_public.h"
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
#include "modules/rtp_rtcp/source/byte_io.h"
@ -380,9 +381,8 @@ void ForwardErrorCorrection::UpdateCoveringFecPackets(
const RecoveredPacket& packet) {
for (auto& fec_packet : received_fec_packets_) {
// Is this FEC packet protecting the media packet |packet|?
auto protected_it = std::lower_bound(fec_packet->protected_packets.begin(),
fec_packet->protected_packets.end(),
&packet, SortablePacket::LessThan());
auto protected_it = absl::c_lower_bound(
fec_packet->protected_packets, &packet, SortablePacket::LessThan());
if (protected_it != fec_packet->protected_packets.end() &&
(*protected_it)->seq_num == packet.seq_num) {
// Found an FEC packet which is protecting |packet|.

View File

@ -8,12 +8,12 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include <algorithm>
#include <iterator>
#include <list>
#include <memory>
#include <set>
#include "absl/algorithm/container.h"
#include "absl/memory/memory.h"
#include "api/call/transport.h"
#include "api/transport/field_trial_based_config.h"
@ -189,14 +189,11 @@ class RtpRtcpRtxNackTest : public ::testing::Test {
bool ExpectedPacketsReceived() {
std::list<uint16_t> received_sorted;
std::copy(media_stream_.sequence_numbers_.begin(),
media_stream_.sequence_numbers_.end(),
absl::c_copy(media_stream_.sequence_numbers_,
std::back_inserter(received_sorted));
received_sorted.sort();
return received_sorted.size() ==
transport_.expected_sequence_numbers_.size() &&
std::equal(received_sorted.begin(), received_sorted.end(),
transport_.expected_sequence_numbers_.begin());
return absl::c_equal(received_sorted,
transport_.expected_sequence_numbers_);
}
void RunRtxTest(RtxMode rtx_method, int loss) {

View File

@ -12,6 +12,7 @@
#include <utility>
#include "absl/algorithm/container.h"
#include "absl/memory/memory.h"
#include "api/call/transport.h"
#include "api/video/video_bitrate_allocation.h"
@ -103,7 +104,7 @@ void RtcpTransceiverImpl::AddMediaReceiverRtcpObserver(
uint32_t remote_ssrc,
MediaReceiverRtcpObserver* observer) {
auto& stored = remote_senders_[remote_ssrc].observers;
RTC_DCHECK(std::find(stored.begin(), stored.end(), observer) == stored.end());
RTC_DCHECK(!absl::c_linear_search(stored, observer));
stored.push_back(observer);
}
@ -114,7 +115,7 @@ void RtcpTransceiverImpl::RemoveMediaReceiverRtcpObserver(
if (remote_sender_it == remote_senders_.end())
return;
auto& stored = remote_sender_it->second.observers;
auto it = std::find(stored.begin(), stored.end(), observer);
auto it = absl::c_find(stored, observer);
if (it == stored.end())
return;
stored.erase(it);

View File

@ -8,10 +8,10 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include <algorithm>
#include <list>
#include <memory>
#include "absl/algorithm/container.h"
#include "modules/rtp_rtcp/source/byte_io.h"
#include "modules/rtp_rtcp/source/fec_test_helper.h"
#include "modules/rtp_rtcp/source/flexfec_header_reader_writer.h"
@ -148,14 +148,10 @@ void RtpFecTest<ForwardErrorCorrectionType>::ReceivedPackets(
template <typename ForwardErrorCorrectionType>
bool RtpFecTest<ForwardErrorCorrectionType>::IsRecoveryComplete() {
// We must have equally many recovered packets as original packets.
if (recovered_packets_.size() != media_packets_.size()) {
return false;
}
// All recovered packets must be identical to the corresponding
// original packets.
auto cmp =
// We must have equally many recovered packets as original packets and all
// recovered packets must be identical to the corresponding original packets.
return absl::c_equal(
media_packets_, recovered_packets_,
[](const std::unique_ptr<ForwardErrorCorrection::Packet>& media_packet,
const std::unique_ptr<ForwardErrorCorrection::RecoveredPacket>&
recovered_packet) {
@ -167,9 +163,7 @@ bool RtpFecTest<ForwardErrorCorrectionType>::IsRecoveryComplete() {
return false;
}
return true;
};
return std::equal(media_packets_.cbegin(), media_packets_.cend(),
recovered_packets_.cbegin(), cmp);
});
}
// Define gTest typed test to loop over both ULPFEC and FlexFEC.

View File

@ -13,6 +13,7 @@
#include <memory>
#include <numeric>
#include "absl/algorithm/container.h"
#include "test/gmock.h"
#include "test/gtest.h"
@ -36,13 +37,13 @@ int EffectivePacketsSizeDifference(
// Account for larger last packet header.
sizes.back() += limits.last_packet_reduction_len;
auto minmax = std::minmax_element(sizes.begin(), sizes.end());
auto minmax = absl::c_minmax_element(sizes);
// MAX-MIN
return *minmax.second - *minmax.first;
}
int Sum(const std::vector<int>& sizes) {
return std::accumulate(sizes.begin(), sizes.end(), 0);
return absl::c_accumulate(sizes, 0);
}
TEST(RtpPacketizerSplitAboutEqually, AllPacketsAreEqualSumToPayloadLen) {

View File

@ -11,9 +11,9 @@
#include "modules/rtp_rtcp/source/tmmbr_help.h"
#include <stddef.h>
#include <algorithm>
#include <limits>
#include "absl/algorithm/container.h"
#include "rtc_base/checks.h"
namespace webrtc {
@ -33,7 +33,7 @@ std::vector<rtcp::TmmbItem> TMMBRHelp::FindBoundingSet(
size_t num_candidates = candidates.size();
// 1. Sort by increasing packet overhead.
std::sort(candidates.begin(), candidates.end(),
absl::c_sort(candidates,
[](const rtcp::TmmbItem& lhs, const rtcp::TmmbItem& rhs) {
return lhs.packet_overhead() < rhs.packet_overhead();
});