Revert "Revert of Propagate probing cluster id to SendTimeHistory. (patchset #5 id:80001 of https://codereview.webrtc.org/2005313003/ )"
This reverts commit 46948c17fd09e4957bebc8ea61f0a8e77ff84b48. TBR=mflodman@webrtc.org BUG=webrtc:5859 Review-Url: https://codereview.webrtc.org/2032473002 Cr-Commit-Position: refs/heads/master@{#12992}
This commit is contained in:
@ -48,12 +48,12 @@ TEST_F(PacketRouterTest, TimeToSendPacket) {
|
||||
EXPECT_CALL(rtp_1, SendingMedia()).Times(1).WillOnce(Return(true));
|
||||
EXPECT_CALL(rtp_1, SSRC()).Times(1).WillOnce(Return(kSsrc1));
|
||||
EXPECT_CALL(rtp_1, TimeToSendPacket(kSsrc1, sequence_number, timestamp,
|
||||
retransmission))
|
||||
retransmission, 1))
|
||||
.Times(1)
|
||||
.WillOnce(Return(true));
|
||||
EXPECT_CALL(rtp_2, TimeToSendPacket(_, _, _, _)).Times(0);
|
||||
EXPECT_CALL(rtp_2, TimeToSendPacket(_, _, _, _, _)).Times(0);
|
||||
EXPECT_TRUE(packet_router_->TimeToSendPacket(kSsrc1, sequence_number,
|
||||
timestamp, retransmission, -1));
|
||||
timestamp, retransmission, 1));
|
||||
|
||||
// Send on the second module by letting rtp_2 be sending, but not rtp_1.
|
||||
++sequence_number;
|
||||
@ -63,31 +63,31 @@ TEST_F(PacketRouterTest, TimeToSendPacket) {
|
||||
EXPECT_CALL(rtp_1, SendingMedia()).Times(1).WillOnce(Return(false));
|
||||
EXPECT_CALL(rtp_2, SendingMedia()).Times(1).WillOnce(Return(true));
|
||||
EXPECT_CALL(rtp_2, SSRC()).Times(1).WillOnce(Return(kSsrc2));
|
||||
EXPECT_CALL(rtp_1, TimeToSendPacket(_, _, _, _)).Times(0);
|
||||
EXPECT_CALL(rtp_1, TimeToSendPacket(_, _, _, _, _)).Times(0);
|
||||
EXPECT_CALL(rtp_2, TimeToSendPacket(kSsrc2, sequence_number, timestamp,
|
||||
retransmission))
|
||||
retransmission, 2))
|
||||
.Times(1)
|
||||
.WillOnce(Return(true));
|
||||
EXPECT_TRUE(packet_router_->TimeToSendPacket(kSsrc2, sequence_number,
|
||||
timestamp, retransmission, -1));
|
||||
timestamp, retransmission, 2));
|
||||
|
||||
// No module is sending, hence no packet should be sent.
|
||||
EXPECT_CALL(rtp_1, SendingMedia()).Times(1).WillOnce(Return(false));
|
||||
EXPECT_CALL(rtp_1, TimeToSendPacket(_, _, _, _)).Times(0);
|
||||
EXPECT_CALL(rtp_1, TimeToSendPacket(_, _, _, _, _)).Times(0);
|
||||
EXPECT_CALL(rtp_2, SendingMedia()).Times(1).WillOnce(Return(false));
|
||||
EXPECT_CALL(rtp_2, TimeToSendPacket(_, _, _, _)).Times(0);
|
||||
EXPECT_CALL(rtp_2, TimeToSendPacket(_, _, _, _, _)).Times(0);
|
||||
EXPECT_TRUE(packet_router_->TimeToSendPacket(kSsrc1, sequence_number,
|
||||
timestamp, retransmission, -1));
|
||||
timestamp, retransmission, 1));
|
||||
|
||||
// Add a packet with incorrect ssrc and test it's dropped in the router.
|
||||
EXPECT_CALL(rtp_1, SendingMedia()).Times(1).WillOnce(Return(true));
|
||||
EXPECT_CALL(rtp_1, SSRC()).Times(1).WillOnce(Return(kSsrc1));
|
||||
EXPECT_CALL(rtp_2, SendingMedia()).Times(1).WillOnce(Return(true));
|
||||
EXPECT_CALL(rtp_2, SSRC()).Times(1).WillOnce(Return(kSsrc2));
|
||||
EXPECT_CALL(rtp_1, TimeToSendPacket(_, _, _, _)).Times(0);
|
||||
EXPECT_CALL(rtp_2, TimeToSendPacket(_, _, _, _)).Times(0);
|
||||
EXPECT_CALL(rtp_1, TimeToSendPacket(_, _, _, _, _)).Times(0);
|
||||
EXPECT_CALL(rtp_2, TimeToSendPacket(_, _, _, _, _)).Times(0);
|
||||
EXPECT_TRUE(packet_router_->TimeToSendPacket(kSsrc1 + kSsrc2, sequence_number,
|
||||
timestamp, retransmission, -1));
|
||||
timestamp, retransmission, 1));
|
||||
|
||||
packet_router_->RemoveRtpModule(&rtp_1);
|
||||
|
||||
@ -95,9 +95,10 @@ TEST_F(PacketRouterTest, TimeToSendPacket) {
|
||||
// it is dropped as expected by not expecting any calls to rtp_1.
|
||||
EXPECT_CALL(rtp_2, SendingMedia()).Times(1).WillOnce(Return(true));
|
||||
EXPECT_CALL(rtp_2, SSRC()).Times(1).WillOnce(Return(kSsrc2));
|
||||
EXPECT_CALL(rtp_2, TimeToSendPacket(_, _, _, _)).Times(0);
|
||||
EXPECT_CALL(rtp_2, TimeToSendPacket(_, _, _, _, _)).Times(0);
|
||||
EXPECT_TRUE(packet_router_->TimeToSendPacket(kSsrc1, sequence_number,
|
||||
timestamp, retransmission, -1));
|
||||
timestamp, retransmission,
|
||||
PacketInfo::kNotAProbe));
|
||||
|
||||
packet_router_->RemoveRtpModule(&rtp_2);
|
||||
}
|
||||
@ -118,42 +119,45 @@ TEST_F(PacketRouterTest, TimeToSendPadding) {
|
||||
const size_t requested_padding_bytes = 1000;
|
||||
const size_t sent_padding_bytes = 890;
|
||||
EXPECT_CALL(rtp_1, SendingMedia()).Times(1).WillOnce(Return(true));
|
||||
EXPECT_CALL(rtp_1, TimeToSendPadding(requested_padding_bytes))
|
||||
EXPECT_CALL(rtp_1, TimeToSendPadding(requested_padding_bytes, 111))
|
||||
.Times(1)
|
||||
.WillOnce(Return(sent_padding_bytes));
|
||||
EXPECT_CALL(rtp_2, SendingMedia()).Times(1).WillOnce(Return(true));
|
||||
EXPECT_CALL(rtp_2,
|
||||
TimeToSendPadding(requested_padding_bytes - sent_padding_bytes))
|
||||
EXPECT_CALL(rtp_2, TimeToSendPadding(
|
||||
requested_padding_bytes - sent_padding_bytes, 111))
|
||||
.Times(1)
|
||||
.WillOnce(Return(requested_padding_bytes - sent_padding_bytes));
|
||||
EXPECT_EQ(requested_padding_bytes,
|
||||
packet_router_->TimeToSendPadding(requested_padding_bytes));
|
||||
packet_router_->TimeToSendPadding(requested_padding_bytes, 111));
|
||||
|
||||
// Let only the second module be sending and verify the padding request is
|
||||
// routed there.
|
||||
EXPECT_CALL(rtp_1, SendingMedia()).Times(1).WillOnce(Return(false));
|
||||
EXPECT_CALL(rtp_1, TimeToSendPadding(requested_padding_bytes)).Times(0);
|
||||
EXPECT_CALL(rtp_1, TimeToSendPadding(requested_padding_bytes, _)).Times(0);
|
||||
EXPECT_CALL(rtp_2, SendingMedia()).Times(1).WillOnce(Return(true));
|
||||
EXPECT_CALL(rtp_2, TimeToSendPadding(_))
|
||||
EXPECT_CALL(rtp_2, TimeToSendPadding(_, _))
|
||||
.Times(1)
|
||||
.WillOnce(Return(sent_padding_bytes));
|
||||
EXPECT_EQ(sent_padding_bytes,
|
||||
packet_router_->TimeToSendPadding(requested_padding_bytes));
|
||||
packet_router_->TimeToSendPadding(requested_padding_bytes,
|
||||
PacketInfo::kNotAProbe));
|
||||
|
||||
// No sending module at all.
|
||||
EXPECT_CALL(rtp_1, SendingMedia()).Times(1).WillOnce(Return(false));
|
||||
EXPECT_CALL(rtp_1, TimeToSendPadding(requested_padding_bytes)).Times(0);
|
||||
EXPECT_CALL(rtp_1, TimeToSendPadding(requested_padding_bytes, _)).Times(0);
|
||||
EXPECT_CALL(rtp_2, SendingMedia()).Times(1).WillOnce(Return(false));
|
||||
EXPECT_CALL(rtp_2, TimeToSendPadding(_)).Times(0);
|
||||
EXPECT_EQ(0u, packet_router_->TimeToSendPadding(requested_padding_bytes));
|
||||
EXPECT_CALL(rtp_2, TimeToSendPadding(_, _)).Times(0);
|
||||
EXPECT_EQ(0u, packet_router_->TimeToSendPadding(requested_padding_bytes,
|
||||
PacketInfo::kNotAProbe));
|
||||
|
||||
packet_router_->RemoveRtpModule(&rtp_1);
|
||||
|
||||
// rtp_1 has been removed, try sending padding and make sure rtp_1 isn't asked
|
||||
// to send by not expecting any calls. Instead verify rtp_2 is called.
|
||||
EXPECT_CALL(rtp_2, SendingMedia()).Times(1).WillOnce(Return(true));
|
||||
EXPECT_CALL(rtp_2, TimeToSendPadding(requested_padding_bytes)).Times(1);
|
||||
EXPECT_EQ(0u, packet_router_->TimeToSendPadding(requested_padding_bytes));
|
||||
EXPECT_CALL(rtp_2, TimeToSendPadding(requested_padding_bytes, _)).Times(1);
|
||||
EXPECT_EQ(0u, packet_router_->TimeToSendPadding(requested_padding_bytes,
|
||||
PacketInfo::kNotAProbe));
|
||||
|
||||
packet_router_->RemoveRtpModule(&rtp_2);
|
||||
}
|
||||
@ -166,11 +170,12 @@ TEST_F(PacketRouterTest, SenderOnlyFunctionsRespectSendingMedia) {
|
||||
EXPECT_CALL(rtp, SendingMedia()).WillRepeatedly(Return(false));
|
||||
|
||||
// Verify that TimeToSendPacket does not end up in a receiver.
|
||||
EXPECT_CALL(rtp, TimeToSendPacket(_, _, _, _)).Times(0);
|
||||
EXPECT_TRUE(packet_router_->TimeToSendPacket(kSsrc, 1, 1, false, -1));
|
||||
EXPECT_CALL(rtp, TimeToSendPacket(_, _, _, _, _)).Times(0);
|
||||
EXPECT_TRUE(packet_router_->TimeToSendPacket(kSsrc, 1, 1, false,
|
||||
PacketInfo::kNotAProbe));
|
||||
// Verify that TimeToSendPadding does not end up in a receiver.
|
||||
EXPECT_CALL(rtp, TimeToSendPadding(_)).Times(0);
|
||||
EXPECT_EQ(0u, packet_router_->TimeToSendPadding(200));
|
||||
EXPECT_CALL(rtp, TimeToSendPadding(_, _)).Times(0);
|
||||
EXPECT_EQ(0u, packet_router_->TimeToSendPadding(200, PacketInfo::kNotAProbe));
|
||||
|
||||
packet_router_->RemoveRtpModule(&rtp);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user