Fix for rare read of uninitialized value in remote estimate test.
Bug: webrtc:10949 Change-Id: Ibddf5026eac7beff067f53c8c221aa1b41c5d50b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151902 Reviewed-by: Yves Gerey <yvesg@google.com> Commit-Queue: Sebastian Jansson <srte@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29098}
This commit is contained in:
parent
2b9dba3d9c
commit
e15c10a02a
@ -10,6 +10,7 @@
|
||||
|
||||
#include "test/network/traffic_route.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <utility>
|
||||
|
||||
#include "absl/memory/memory.h"
|
||||
@ -86,10 +87,12 @@ void TrafficRoute::SendPacket(size_t packet_size) {
|
||||
}
|
||||
|
||||
void TrafficRoute::SendPacket(size_t packet_size, uint16_t dest_port) {
|
||||
rtc::CopyOnWriteBuffer data(packet_size);
|
||||
std::fill_n(data.data<uint8_t>(), data.size(), 0);
|
||||
receiver_->OnPacketReceived(EmulatedIpPacket(
|
||||
/*from=*/rtc::SocketAddress(),
|
||||
rtc::SocketAddress(endpoint_->GetPeerLocalAddress(), dest_port),
|
||||
rtc::CopyOnWriteBuffer(packet_size), clock_->CurrentTime()));
|
||||
rtc::SocketAddress(endpoint_->GetPeerLocalAddress(), dest_port), data,
|
||||
clock_->CurrentTime()));
|
||||
}
|
||||
|
||||
} // namespace test
|
||||
|
||||
@ -67,7 +67,7 @@ TEST(RemoteEstimateEndToEnd, OfferedCapabilityIsInAnswer) {
|
||||
}
|
||||
offer_exchange_done.Set();
|
||||
});
|
||||
EXPECT_TRUE(s.WaitAndProcess(&offer_exchange_done));
|
||||
RTC_CHECK(s.WaitAndProcess(&offer_exchange_done));
|
||||
}
|
||||
|
||||
TEST(RemoteEstimateEndToEnd, AudioUsesAbsSendTimeExtension) {
|
||||
@ -100,16 +100,22 @@ TEST(RemoteEstimateEndToEnd, AudioUsesAbsSendTimeExtension) {
|
||||
kRtpExtensionAbsoluteSendTime));
|
||||
offer_exchange_done.Set();
|
||||
});
|
||||
EXPECT_TRUE(s.WaitAndProcess(&offer_exchange_done));
|
||||
RTC_CHECK(s.WaitAndProcess(&offer_exchange_done));
|
||||
send_node->router()->SetWatcher(
|
||||
[extension_map, &received_abs_send_time](const EmulatedIpPacket& packet) {
|
||||
auto extensions = GetRtpPacketExtensions(packet.data, extension_map);
|
||||
if (extensions) {
|
||||
EXPECT_TRUE(extensions->hasAbsoluteSendTime);
|
||||
received_abs_send_time.Set();
|
||||
// The dummy packets used by the fake signaling are filled with 0. We
|
||||
// want to ignore those and we can do that on the basis that the first
|
||||
// byte of RTP packets are guaranteed to not be 0.
|
||||
// TODO(srte): Find a more elegant way to check for RTP traffic.
|
||||
if (packet.size() > 1 && packet.cdata()[0] != 0) {
|
||||
auto extensions = GetRtpPacketExtensions(packet.data, extension_map);
|
||||
if (extensions) {
|
||||
EXPECT_TRUE(extensions->hasAbsoluteSendTime);
|
||||
received_abs_send_time.Set();
|
||||
}
|
||||
}
|
||||
});
|
||||
EXPECT_TRUE(s.WaitAndProcess(&received_abs_send_time));
|
||||
RTC_CHECK(s.WaitAndProcess(&received_abs_send_time));
|
||||
}
|
||||
} // namespace test
|
||||
} // namespace webrtc
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user