Index: webrtc/system_wrappers/source/rtp_to_ntp_unittest.cc |
diff --git a/webrtc/system_wrappers/source/rtp_to_ntp_unittest.cc b/webrtc/system_wrappers/source/rtp_to_ntp_unittest.cc |
deleted file mode 100644 |
index bdaaa7d32d552adccbe835af9b1666fdf81a5e48..0000000000000000000000000000000000000000 |
--- a/webrtc/system_wrappers/source/rtp_to_ntp_unittest.cc |
+++ /dev/null |
@@ -1,273 +0,0 @@ |
-/* |
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
- * |
- * Use of this source code is governed by a BSD-style license |
- * that can be found in the LICENSE file in the root of the source |
- * tree. An additional intellectual property rights grant can be found |
- * in the file PATENTS. All contributing project authors may |
- * be found in the AUTHORS file in the root of the source tree. |
- */ |
- |
-#include "webrtc/system_wrappers/include/rtp_to_ntp.h" |
-#include "webrtc/test/gtest.h" |
- |
-namespace webrtc { |
-namespace { |
-const uint32_t kOneMsInNtpFrac = 4294967; |
-const uint32_t kTimestampTicksPerMs = 90; |
-} // namespace |
- |
-TEST(WrapAroundTests, NoWrap) { |
- EXPECT_EQ(0, CheckForWrapArounds(0xFFFFFFFF, 0xFFFFFFFE)); |
- EXPECT_EQ(0, CheckForWrapArounds(1, 0)); |
- EXPECT_EQ(0, CheckForWrapArounds(0x00010000, 0x0000FFFF)); |
-} |
- |
-TEST(WrapAroundTests, ForwardWrap) { |
- EXPECT_EQ(1, CheckForWrapArounds(0, 0xFFFFFFFF)); |
- EXPECT_EQ(1, CheckForWrapArounds(0, 0xFFFF0000)); |
- EXPECT_EQ(1, CheckForWrapArounds(0x0000FFFF, 0xFFFFFFFF)); |
- EXPECT_EQ(1, CheckForWrapArounds(0x0000FFFF, 0xFFFF0000)); |
-} |
- |
-TEST(WrapAroundTests, BackwardWrap) { |
- EXPECT_EQ(-1, CheckForWrapArounds(0xFFFFFFFF, 0)); |
- EXPECT_EQ(-1, CheckForWrapArounds(0xFFFF0000, 0)); |
- EXPECT_EQ(-1, CheckForWrapArounds(0xFFFFFFFF, 0x0000FFFF)); |
- EXPECT_EQ(-1, CheckForWrapArounds(0xFFFF0000, 0x0000FFFF)); |
-} |
- |
-TEST(WrapAroundTests, OldRtcpWrapped_OldRtpTimestamp) { |
- RtcpMeasurements rtcp; |
- bool new_sr; |
- uint32_t ntp_sec = 0; |
- uint32_t ntp_frac = 1; |
- uint32_t timestamp = 0; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- ntp_frac += kOneMsInNtpFrac; |
- timestamp -= kTimestampTicksPerMs; |
- // Expected to fail since the older RTCP has a smaller RTP timestamp than the |
- // newer (old:0, new:4294967206). |
- EXPECT_FALSE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
-} |
- |
-TEST(WrapAroundTests, NewRtcpWrapped) { |
- RtcpMeasurements rtcp; |
- bool new_sr; |
- uint32_t ntp_sec = 0; |
- uint32_t ntp_frac = 1; |
- uint32_t timestamp = 0xFFFFFFFF; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- ntp_frac += kOneMsInNtpFrac; |
- timestamp += kTimestampTicksPerMs; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- int64_t timestamp_ms = -1; |
- EXPECT_TRUE(RtpToNtpMs(rtcp.list.back().rtp_timestamp, rtcp, ×tamp_ms)); |
- // Since this RTP packet has the same timestamp as the RTCP packet constructed |
- // at time 0 it should be mapped to 0 as well. |
- EXPECT_EQ(0, timestamp_ms); |
-} |
- |
-TEST(WrapAroundTests, RtpWrapped) { |
- RtcpMeasurements rtcp; |
- bool new_sr; |
- uint32_t ntp_sec = 0; |
- uint32_t ntp_frac = 1; |
- uint32_t timestamp = 0xFFFFFFFF - 2 * kTimestampTicksPerMs; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- ntp_frac += kOneMsInNtpFrac; |
- timestamp += kTimestampTicksPerMs; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- |
- int64_t timestamp_ms = -1; |
- EXPECT_TRUE(RtpToNtpMs(rtcp.list.back().rtp_timestamp, rtcp, ×tamp_ms)); |
- // Since this RTP packet has the same timestamp as the RTCP packet constructed |
- // at time 0 it should be mapped to 0 as well. |
- EXPECT_EQ(0, timestamp_ms); |
- // Two kTimestampTicksPerMs advanced. |
- timestamp += kTimestampTicksPerMs; |
- EXPECT_TRUE(RtpToNtpMs(timestamp, rtcp, ×tamp_ms)); |
- EXPECT_EQ(2, timestamp_ms); |
- // Wrapped rtp. |
- timestamp += kTimestampTicksPerMs; |
- EXPECT_TRUE(RtpToNtpMs(timestamp, rtcp, ×tamp_ms)); |
- EXPECT_EQ(3, timestamp_ms); |
-} |
- |
-TEST(WrapAroundTests, OldRtp_RtcpsWrapped) { |
- RtcpMeasurements rtcp; |
- bool new_sr; |
- uint32_t ntp_sec = 0; |
- uint32_t ntp_frac = 1; |
- uint32_t timestamp = 0; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- ntp_frac += kOneMsInNtpFrac; |
- timestamp += kTimestampTicksPerMs; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- timestamp -= 2*kTimestampTicksPerMs; |
- int64_t timestamp_ms = -1; |
- EXPECT_FALSE(RtpToNtpMs(timestamp, rtcp, ×tamp_ms)); |
-} |
- |
-TEST(WrapAroundTests, OldRtp_NewRtcpWrapped) { |
- RtcpMeasurements rtcp; |
- bool new_sr; |
- uint32_t ntp_sec = 0; |
- uint32_t ntp_frac = 1; |
- uint32_t timestamp = 0xFFFFFFFF; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- ntp_frac += kOneMsInNtpFrac; |
- timestamp += kTimestampTicksPerMs; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- timestamp -= kTimestampTicksPerMs; |
- int64_t timestamp_ms = -1; |
- EXPECT_TRUE(RtpToNtpMs(timestamp, rtcp, ×tamp_ms)); |
- // Constructed at the same time as the first RTCP and should therefore be |
- // mapped to zero. |
- EXPECT_EQ(0, timestamp_ms); |
-} |
- |
-TEST(UpdateRtcpListTests, InjectRtcpSr) { |
- const uint32_t kNtpSec = 10; |
- const uint32_t kNtpFrac = 12345; |
- const uint32_t kTs = 0x12345678; |
- bool new_sr; |
- RtcpMeasurements rtcp; |
- EXPECT_TRUE(UpdateRtcpList(kNtpSec, kNtpFrac, kTs, &rtcp, &new_sr)); |
- EXPECT_TRUE(new_sr); |
- EXPECT_EQ(1u, rtcp.list.size()); |
- EXPECT_EQ(kNtpSec, rtcp.list.front().ntp_time.seconds()); |
- EXPECT_EQ(kNtpFrac, rtcp.list.front().ntp_time.fractions()); |
- EXPECT_EQ(kTs, rtcp.list.front().rtp_timestamp); |
- // Add second report. |
- EXPECT_TRUE(UpdateRtcpList(kNtpSec, kNtpFrac + kOneMsInNtpFrac, kTs + 1, |
- &rtcp, &new_sr)); |
- EXPECT_EQ(2u, rtcp.list.size()); |
- EXPECT_EQ(kTs + 1, rtcp.list.front().rtp_timestamp); |
- EXPECT_EQ(kTs + 0, rtcp.list.back().rtp_timestamp); |
- // List should contain last two reports. |
- EXPECT_TRUE(UpdateRtcpList(kNtpSec, kNtpFrac + 2 * kOneMsInNtpFrac, kTs + 2, |
- &rtcp, &new_sr)); |
- EXPECT_EQ(2u, rtcp.list.size()); |
- EXPECT_EQ(kTs + 2, rtcp.list.front().rtp_timestamp); |
- EXPECT_EQ(kTs + 1, rtcp.list.back().rtp_timestamp); |
-} |
- |
-TEST(UpdateRtcpListTests, FailsForZeroNtp) { |
- RtcpMeasurements rtcp; |
- uint32_t ntp_sec = 0; |
- uint32_t ntp_frac = 0; |
- uint32_t timestamp = 0x12345678; |
- bool new_sr; |
- EXPECT_FALSE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- EXPECT_FALSE(new_sr); |
- EXPECT_EQ(0u, rtcp.list.size()); |
-} |
- |
-TEST(UpdateRtcpListTests, FailsForEqualNtp) { |
- RtcpMeasurements rtcp; |
- uint32_t ntp_sec = 0; |
- uint32_t ntp_frac = 699925050; |
- uint32_t timestamp = 0x12345678; |
- bool new_sr; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- EXPECT_TRUE(new_sr); |
- EXPECT_EQ(1u, rtcp.list.size()); |
- // Ntp time already added, list not updated. |
- ++timestamp; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- EXPECT_FALSE(new_sr); |
- EXPECT_EQ(1u, rtcp.list.size()); |
-} |
- |
-TEST(UpdateRtcpListTests, FailsForOldNtp) { |
- RtcpMeasurements rtcp; |
- uint32_t ntp_sec = 1; |
- uint32_t ntp_frac = 699925050; |
- uint32_t timestamp = 0x12345678; |
- bool new_sr; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- EXPECT_TRUE(new_sr); |
- EXPECT_EQ(1u, rtcp.list.size()); |
- // Old ntp time, list not updated. |
- ntp_frac -= kOneMsInNtpFrac; |
- timestamp += kTimestampTicksPerMs; |
- EXPECT_FALSE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- EXPECT_EQ(1u, rtcp.list.size()); |
-} |
- |
-TEST(UpdateRtcpListTests, FailsForEqualTimestamp) { |
- RtcpMeasurements rtcp; |
- uint32_t ntp_sec = 0; |
- uint32_t ntp_frac = 2; |
- uint32_t timestamp = 0x12345678; |
- bool new_sr; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- EXPECT_TRUE(new_sr); |
- EXPECT_EQ(1u, rtcp.list.size()); |
- // Timestamp already added, list not updated. |
- ++ntp_frac; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- EXPECT_FALSE(new_sr); |
- EXPECT_EQ(1u, rtcp.list.size()); |
-} |
- |
-TEST(UpdateRtcpListTests, FailsForOldRtpTimestamp) { |
- RtcpMeasurements rtcp; |
- uint32_t ntp_sec = 0; |
- uint32_t ntp_frac = 2; |
- uint32_t timestamp = 0x12345678; |
- bool new_sr; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- EXPECT_TRUE(new_sr); |
- EXPECT_EQ(1u, rtcp.list.size()); |
- // Old timestamp, list not updated. |
- ntp_frac += kOneMsInNtpFrac; |
- timestamp -= kTimestampTicksPerMs; |
- EXPECT_FALSE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- EXPECT_FALSE(new_sr); |
- EXPECT_EQ(1u, rtcp.list.size()); |
-} |
- |
-TEST(UpdateRtcpListTests, VerifyParameters) { |
- RtcpMeasurements rtcp; |
- uint32_t ntp_sec = 1; |
- uint32_t ntp_frac = 2; |
- uint32_t timestamp = 0x12345678; |
- bool new_sr; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- EXPECT_TRUE(new_sr); |
- EXPECT_FALSE(rtcp.params.calculated); |
- // Add second report, parameters should be calculated. |
- ntp_frac += kOneMsInNtpFrac; |
- timestamp += kTimestampTicksPerMs; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- EXPECT_TRUE(rtcp.params.calculated); |
- EXPECT_DOUBLE_EQ(90.0, rtcp.params.frequency_khz); |
- EXPECT_NE(0.0, rtcp.params.offset_ms); |
-} |
- |
-TEST(RtpToNtpTests, FailsForEmptyList) { |
- RtcpMeasurements rtcp; |
- rtcp.params.calculated = true; |
- // List is empty, conversion of RTP to NTP time should fail. |
- EXPECT_EQ(0u, rtcp.list.size()); |
- int64_t timestamp_ms = -1; |
- EXPECT_FALSE(RtpToNtpMs(0, rtcp, ×tamp_ms)); |
-} |
- |
-TEST(RtpToNtpTests, FailsForNoParameters) { |
- RtcpMeasurements rtcp; |
- uint32_t ntp_sec = 1; |
- uint32_t ntp_frac = 2; |
- uint32_t timestamp = 0x12345678; |
- bool new_sr; |
- EXPECT_TRUE(UpdateRtcpList(ntp_sec, ntp_frac, timestamp, &rtcp, &new_sr)); |
- EXPECT_EQ(1u, rtcp.list.size()); |
- // Parameters are not calculated, conversion of RTP to NTP time should fail. |
- EXPECT_FALSE(rtcp.params.calculated); |
- int64_t timestamp_ms = -1; |
- EXPECT_FALSE(RtpToNtpMs(timestamp, rtcp, ×tamp_ms)); |
-} |
- |
-}; // namespace webrtc |