| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  *  Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. |    2  *  Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 
|    3  * |    3  * | 
|    4  *  Use of this source code is governed by a BSD-style license |    4  *  Use of this source code is governed by a BSD-style license | 
|    5  *  that can be found in the LICENSE file in the root of the source |    5  *  that can be found in the LICENSE file in the root of the source | 
|    6  *  tree. An additional intellectual property rights grant can be found |    6  *  tree. An additional intellectual property rights grant can be found | 
|    7  *  in the file PATENTS.  All contributing project authors may |    7  *  in the file PATENTS.  All contributing project authors may | 
|    8  *  be found in the AUTHORS file in the root of the source tree. |    8  *  be found in the AUTHORS file in the root of the source tree. | 
|    9  */ |    9  */ | 
|   10  |   10  | 
| (...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  302   clock_.AdvanceTimeMilliseconds(1000); |  302   clock_.AdvanceTimeMilliseconds(1000); | 
|  303   EXPECT_EQ(0, receiver_.impl_->SendRTCP(kRtcpReport)); |  303   EXPECT_EQ(0, receiver_.impl_->SendRTCP(kRtcpReport)); | 
|  304  |  304  | 
|  305   // Verify RTT. |  305   // Verify RTT. | 
|  306   int64_t rtt; |  306   int64_t rtt; | 
|  307   int64_t avg_rtt; |  307   int64_t avg_rtt; | 
|  308   int64_t min_rtt; |  308   int64_t min_rtt; | 
|  309   int64_t max_rtt; |  309   int64_t max_rtt; | 
|  310   EXPECT_EQ(0, |  310   EXPECT_EQ(0, | 
|  311       sender_.impl_->RTT(kReceiverSsrc, &rtt, &avg_rtt, &min_rtt, &max_rtt)); |  311       sender_.impl_->RTT(kReceiverSsrc, &rtt, &avg_rtt, &min_rtt, &max_rtt)); | 
|  312   EXPECT_EQ(2 * kOneWayNetworkDelayMs, rtt); |  312   EXPECT_NEAR(2 * kOneWayNetworkDelayMs, rtt, 1); | 
|  313   EXPECT_EQ(2 * kOneWayNetworkDelayMs, avg_rtt); |  313   EXPECT_NEAR(2 * kOneWayNetworkDelayMs, avg_rtt, 1); | 
|  314   EXPECT_EQ(2 * kOneWayNetworkDelayMs, min_rtt); |  314   EXPECT_NEAR(2 * kOneWayNetworkDelayMs, min_rtt, 1); | 
|  315   EXPECT_EQ(2 * kOneWayNetworkDelayMs, max_rtt); |  315   EXPECT_NEAR(2 * kOneWayNetworkDelayMs, max_rtt, 1); | 
|  316  |  316  | 
|  317   // No RTT from other ssrc. |  317   // No RTT from other ssrc. | 
|  318   EXPECT_EQ(-1, |  318   EXPECT_EQ(-1, | 
|  319       sender_.impl_->RTT(kReceiverSsrc+1, &rtt, &avg_rtt, &min_rtt, &max_rtt)); |  319       sender_.impl_->RTT(kReceiverSsrc+1, &rtt, &avg_rtt, &min_rtt, &max_rtt)); | 
|  320  |  320  | 
|  321   // Verify RTT from rtt_stats config. |  321   // Verify RTT from rtt_stats config. | 
|  322   EXPECT_EQ(0, sender_.rtt_stats_.LastProcessedRtt()); |  322   EXPECT_EQ(0, sender_.rtt_stats_.LastProcessedRtt()); | 
|  323   EXPECT_EQ(0, sender_.impl_->rtt_ms()); |  323   EXPECT_EQ(0, sender_.impl_->rtt_ms()); | 
|  324   sender_.impl_->Process(); |  324   sender_.impl_->Process(); | 
|  325   EXPECT_EQ(2 * kOneWayNetworkDelayMs, sender_.rtt_stats_.LastProcessedRtt()); |  325   EXPECT_NEAR(2 * kOneWayNetworkDelayMs, sender_.rtt_stats_.LastProcessedRtt(), | 
|  326   EXPECT_EQ(2 * kOneWayNetworkDelayMs, sender_.impl_->rtt_ms()); |  326               1); | 
 |  327   EXPECT_NEAR(2 * kOneWayNetworkDelayMs, sender_.impl_->rtt_ms(), 1); | 
|  327 } |  328 } | 
|  328  |  329  | 
|  329 TEST_F(RtpRtcpImplTest, SetRtcpXrRrtrStatus) { |  330 TEST_F(RtpRtcpImplTest, SetRtcpXrRrtrStatus) { | 
|  330   EXPECT_FALSE(receiver_.impl_->RtcpXrRrtrStatus()); |  331   EXPECT_FALSE(receiver_.impl_->RtcpXrRrtrStatus()); | 
|  331   receiver_.impl_->SetRtcpXrRrtrStatus(true); |  332   receiver_.impl_->SetRtcpXrRrtrStatus(true); | 
|  332   EXPECT_TRUE(receiver_.impl_->RtcpXrRrtrStatus()); |  333   EXPECT_TRUE(receiver_.impl_->RtcpXrRrtrStatus()); | 
|  333 } |  334 } | 
|  334  |  335  | 
|  335 TEST_F(RtpRtcpImplTest, RttForReceiverOnly) { |  336 TEST_F(RtpRtcpImplTest, RttForReceiverOnly) { | 
|  336   receiver_.impl_->SetRtcpXrRrtrStatus(true); |  337   receiver_.impl_->SetRtcpXrRrtrStatus(true); | 
|  337  |  338  | 
|  338   // Receiver module should send a Receiver time reference report (RTRR). |  339   // Receiver module should send a Receiver time reference report (RTRR). | 
|  339   EXPECT_EQ(0, receiver_.impl_->SendRTCP(kRtcpReport)); |  340   EXPECT_EQ(0, receiver_.impl_->SendRTCP(kRtcpReport)); | 
|  340  |  341  | 
|  341   // Sender module should send a response to the last received RTRR (DLRR). |  342   // Sender module should send a response to the last received RTRR (DLRR). | 
|  342   clock_.AdvanceTimeMilliseconds(1000); |  343   clock_.AdvanceTimeMilliseconds(1000); | 
|  343   EXPECT_EQ(0, sender_.impl_->SendRTCP(kRtcpReport)); |  344   EXPECT_EQ(0, sender_.impl_->SendRTCP(kRtcpReport)); | 
|  344  |  345  | 
|  345   // Verify RTT. |  346   // Verify RTT. | 
|  346   EXPECT_EQ(0, receiver_.rtt_stats_.LastProcessedRtt()); |  347   EXPECT_EQ(0, receiver_.rtt_stats_.LastProcessedRtt()); | 
|  347   EXPECT_EQ(0, receiver_.impl_->rtt_ms()); |  348   EXPECT_EQ(0, receiver_.impl_->rtt_ms()); | 
|  348   receiver_.impl_->Process(); |  349   receiver_.impl_->Process(); | 
|  349   EXPECT_EQ(2 * kOneWayNetworkDelayMs, receiver_.rtt_stats_.LastProcessedRtt()); |  350   EXPECT_NEAR(2 * kOneWayNetworkDelayMs, | 
|  350   EXPECT_EQ(2 * kOneWayNetworkDelayMs, receiver_.impl_->rtt_ms()); |  351               receiver_.rtt_stats_.LastProcessedRtt(), 1); | 
 |  352   EXPECT_NEAR(2 * kOneWayNetworkDelayMs, receiver_.impl_->rtt_ms(), 1); | 
|  351 } |  353 } | 
|  352  |  354  | 
|  353 TEST_F(RtpRtcpImplTest, NoSrBeforeMedia) { |  355 TEST_F(RtpRtcpImplTest, NoSrBeforeMedia) { | 
|  354   // Ignore fake transport delays in this test. |  356   // Ignore fake transport delays in this test. | 
|  355   sender_.transport_.SimulateNetworkDelay(0, &clock_); |  357   sender_.transport_.SimulateNetworkDelay(0, &clock_); | 
|  356   receiver_.transport_.SimulateNetworkDelay(0, &clock_); |  358   receiver_.transport_.SimulateNetworkDelay(0, &clock_); | 
|  357  |  359  | 
|  358   sender_.impl_->Process(); |  360   sender_.impl_->Process(); | 
|  359   EXPECT_EQ(-1, sender_.RtcpSent().first_packet_time_ms); |  361   EXPECT_EQ(-1, sender_.RtcpSent().first_packet_time_ms); | 
|  360  |  362  | 
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  541   EXPECT_EQ(6U, receiver_.RtcpSent().unique_nack_requests); |  543   EXPECT_EQ(6U, receiver_.RtcpSent().unique_nack_requests); | 
|  542   EXPECT_THAT(receiver_.LastNackListSent(), ElementsAre(11, 18, 20, 21)); |  544   EXPECT_THAT(receiver_.LastNackListSent(), ElementsAre(11, 18, 20, 21)); | 
|  543  |  545  | 
|  544   // Send module receives the request. |  546   // Send module receives the request. | 
|  545   EXPECT_EQ(2U, sender_.RtcpReceived().nack_packets); |  547   EXPECT_EQ(2U, sender_.RtcpReceived().nack_packets); | 
|  546   EXPECT_EQ(8U, sender_.RtcpReceived().nack_requests); |  548   EXPECT_EQ(8U, sender_.RtcpReceived().nack_requests); | 
|  547   EXPECT_EQ(6U, sender_.RtcpReceived().unique_nack_requests); |  549   EXPECT_EQ(6U, sender_.RtcpReceived().unique_nack_requests); | 
|  548   EXPECT_EQ(75, sender_.RtcpReceived().UniqueNackRequestsInPercent()); |  550   EXPECT_EQ(75, sender_.RtcpReceived().UniqueNackRequestsInPercent()); | 
|  549 } |  551 } | 
|  550 }  // namespace webrtc |  552 }  // namespace webrtc | 
| OLD | NEW |