Fix test_support_unittests with enable_iterator_debugging=true

Fix test_support_unittests with enable_iterator_debugging=true when
compiling on Windows.

gn gen out\Debug --args="is_debug=true enable_iterator_debugging=true
use_custom_libcxx=false ffmpeg_branding=\"Chrome\""
ninja -C out\Debug test_support_unittests
out\Debug\test_support_unittests

Bug: webrtc:10927
Change-Id: Ie24dbdd5c7700615525db6b00efc85dc384a8173
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150797
Reviewed-by: Yves Gerey <yvesg@google.com>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
Cr-Commit-Position: refs/heads/master@{#29019}
This commit is contained in:
Kimmo Kinnunen
2019-08-29 16:14:58 +03:00
committed by Commit Bot
parent 9f00f0e533
commit 4894fdeba2

View File

@ -211,12 +211,12 @@ LocalAndRemoteSdp SignalingInterceptor::PatchVp8Offer(
for (auto ext_it = extensions.begin(); ext_it != extensions.end();) { for (auto ext_it = extensions.begin(); ext_it != extensions.end();) {
if (ext_it->uri == RtpExtension::kRidUri) { if (ext_it->uri == RtpExtension::kRidUri) {
// We don't need rid extension for remote peer. // We don't need rid extension for remote peer.
extensions.erase(ext_it); ext_it = extensions.erase(ext_it);
continue; continue;
} }
if (ext_it->uri == RtpExtension::kRepairedRidUri) { if (ext_it->uri == RtpExtension::kRepairedRidUri) {
// We don't support RTX in simulcast. // We don't support RTX in simulcast.
extensions.erase(ext_it); ext_it = extensions.erase(ext_it);
continue; continue;
} }
if (ext_it->uri == RtpExtension::kMidUri) { if (ext_it->uri == RtpExtension::kMidUri) {
@ -224,6 +224,7 @@ LocalAndRemoteSdp SignalingInterceptor::PatchVp8Offer(
} }
++ext_it; ++ext_it;
} }
prototype_media_desc->ClearRtpHeaderExtensions(); prototype_media_desc->ClearRtpHeaderExtensions();
prototype_media_desc->set_rtp_header_extensions(extensions); prototype_media_desc->set_rtp_header_extensions(extensions);
@ -256,16 +257,13 @@ LocalAndRemoteSdp SignalingInterceptor::PatchVp8Offer(
// Update transport_infos to add TransportInfo for each new media section. // Update transport_infos to add TransportInfo for each new media section.
std::vector<cricket::TransportInfo> transport_infos = desc->transport_infos(); std::vector<cricket::TransportInfo> transport_infos = desc->transport_infos();
for (auto info_it = transport_infos.begin(); transport_infos.erase(std::remove_if(
info_it != transport_infos.end();) { transport_infos.begin(), transport_infos.end(),
if (context_.simulcast_infos_by_mid.find(info_it->content_name) != [this](const cricket::TransportInfo& ti) {
context_.simulcast_infos_by_mid.end()) { // Remove transport infos that correspond to simulcast video sections.
// Remove transport infos that correspond to simulcast video sections. return context_.simulcast_infos_by_mid.find(ti.content_name) !=
transport_infos.erase(info_it); context_.simulcast_infos_by_mid.end();
} else { }));
++info_it;
}
}
for (auto& info : context_.simulcast_infos) { for (auto& info : context_.simulcast_infos) {
for (auto& rid : info.rids) { for (auto& rid : info.rids) {
transport_infos.emplace_back(rid, info.transport_description); transport_infos.emplace_back(rid, info.transport_description);
@ -395,15 +393,14 @@ LocalAndRemoteSdp SignalingInterceptor::PatchVp8Answer(
std::vector<webrtc::RtpExtension> extensions = std::vector<webrtc::RtpExtension> extensions =
media_desc->rtp_header_extensions(); media_desc->rtp_header_extensions();
// First remove existing rid/mid header extensions. // First remove existing rid/mid header extensions.
for (auto ext_it = extensions.begin(); ext_it != extensions.end();) { extensions.erase(std::remove_if(extensions.begin(), extensions.end(),
if (ext_it->uri == RtpExtension::kMidUri || [](const webrtc::RtpExtension& e) {
ext_it->uri == RtpExtension::kRidUri || return e.uri == RtpExtension::kMidUri ||
ext_it->uri == RtpExtension::kRepairedRidUri) { e.uri == RtpExtension::kRidUri ||
extensions.erase(ext_it); e.uri ==
continue; RtpExtension::kRepairedRidUri;
} }));
++ext_it;
}
// Then add right ones. // Then add right ones.
extensions.push_back(info.mid_extension); extensions.push_back(info.mid_extension);
extensions.push_back(info.rid_extension); extensions.push_back(info.rid_extension);
@ -457,7 +454,7 @@ LocalAndRemoteSdp SignalingInterceptor::PatchVp8Answer(
// This transport info correspond to some extra added media section. // This transport info correspond to some extra added media section.
mid_to_transport_description.insert( mid_to_transport_description.insert(
{it->second->mid, info_it->description}); {it->second->mid, info_it->description});
transport_infos.erase(info_it); info_it = transport_infos.erase(info_it);
} else { } else {
++info_it; ++info_it;
} }