#include <gtest/gtest.h>
+#include <stdint.h>
+
#include "base/test/simple_test_tick_clock.h"
#include "base/time/time.h"
#include "media/cast/rtp_receiver/receiver_stats.h"
namespace media {
namespace cast {
-static const int64 kStartMillisecond = GG_INT64_C(12345678900000);
+static const int64 kStartMillisecond = INT64_C(12345678900000);
static const uint32 kStdTimeIncrementMs = 33;
class ReceiverStatsTest : public ::testing::Test {
protected:
ReceiverStatsTest()
: stats_(&testing_clock_),
- rtp_header_(),
fraction_lost_(0),
cumulative_lost_(0),
extended_high_sequence_number_(0),
base::TimeDelta::FromMilliseconds(kStartMillisecond));
start_time_ = testing_clock_.NowTicks();
delta_increments_ = base::TimeDelta::FromMilliseconds(kStdTimeIncrementMs);
- rtp_header_.webrtc.header.sequenceNumber = 0;
- rtp_header_.webrtc.header.timestamp = 0;
}
virtual ~ReceiverStatsTest() {}
if (i % 4)
stats_.UpdateStatistics(rtp_header_);
if (i % 3) {
- rtp_header_.webrtc.header.timestamp += 33 * 90;
+ rtp_header_.rtp_timestamp += 33 * 90;
}
- ++rtp_header_.webrtc.header.sequenceNumber;
+ ++rtp_header_.sequence_number;
testing_clock_.Advance(delta_increments_);
}
stats_.GetStatistics(&fraction_lost_,
EXPECT_EQ(63u, fraction_lost_);
EXPECT_EQ(74u, cumulative_lost_);
// Build extended sequence number.
- uint32 extended_seq_num = rtp_header_.webrtc.header.sequenceNumber - 1;
+ const uint32 extended_seq_num = rtp_header_.sequence_number - 1;
EXPECT_EQ(extended_seq_num, extended_high_sequence_number_);
}
TEST_F(ReceiverStatsTest, NoLossWrap) {
- rtp_header_.webrtc.header.sequenceNumber = 65500;
+ rtp_header_.sequence_number = 65500;
for (int i = 0; i < 300; ++i) {
stats_.UpdateStatistics(rtp_header_);
if (i % 3) {
- rtp_header_.webrtc.header.timestamp += 33 * 90;
+ rtp_header_.rtp_timestamp += 33 * 90;
}
- ++rtp_header_.webrtc.header.sequenceNumber;
+ ++rtp_header_.sequence_number;
testing_clock_.Advance(delta_increments_);
}
stats_.GetStatistics(&fraction_lost_,
EXPECT_EQ(0u, fraction_lost_);
EXPECT_EQ(0u, cumulative_lost_);
// Build extended sequence number (one wrap cycle).
- uint32 extended_seq_num =
- (1 << 16) + rtp_header_.webrtc.header.sequenceNumber - 1;
+ const uint32 extended_seq_num = (1 << 16) + rtp_header_.sequence_number - 1;
EXPECT_EQ(extended_seq_num, extended_high_sequence_number_);
}
TEST_F(ReceiverStatsTest, LossCountWrap) {
- const uint32 start_sequence_number = 65500;
- rtp_header_.webrtc.header.sequenceNumber = start_sequence_number;
+ const uint32 kStartSequenceNumber = 65500;
+ rtp_header_.sequence_number = kStartSequenceNumber;
for (int i = 0; i < 300; ++i) {
if (i % 4)
stats_.UpdateStatistics(rtp_header_);
if (i % 3)
// Update timestamp.
- ++rtp_header_.webrtc.header.timestamp;
- ++rtp_header_.webrtc.header.sequenceNumber;
+ ++rtp_header_.rtp_timestamp;
+ ++rtp_header_.sequence_number;
testing_clock_.Advance(delta_increments_);
}
stats_.GetStatistics(&fraction_lost_,
EXPECT_EQ(63u, fraction_lost_);
EXPECT_EQ(74u, cumulative_lost_);
// Build extended sequence number (one wrap cycle).
- uint32 extended_seq_num =
- (1 << 16) + rtp_header_.webrtc.header.sequenceNumber - 1;
+ const uint32 extended_seq_num = (1 << 16) + rtp_header_.sequence_number - 1;
EXPECT_EQ(extended_seq_num, extended_high_sequence_number_);
}
TEST_F(ReceiverStatsTest, BasicJitter) {
for (int i = 0; i < 300; ++i) {
stats_.UpdateStatistics(rtp_header_);
- ++rtp_header_.webrtc.header.sequenceNumber;
- rtp_header_.webrtc.header.timestamp += 33 * 90;
+ ++rtp_header_.sequence_number;
+ rtp_header_.rtp_timestamp += 33 * 90;
testing_clock_.Advance(delta_increments_);
}
stats_.GetStatistics(&fraction_lost_,
EXPECT_FALSE(fraction_lost_);
EXPECT_FALSE(cumulative_lost_);
// Build extended sequence number (one wrap cycle).
- uint32 extended_seq_num = rtp_header_.webrtc.header.sequenceNumber - 1;
+ const uint32 extended_seq_num = rtp_header_.sequence_number - 1;
EXPECT_EQ(extended_seq_num, extended_high_sequence_number_);
EXPECT_EQ(ExpectedJitter(kStdTimeIncrementMs, 300), jitter_);
}
const int kAdditionalIncrement = 5;
for (int i = 0; i < 300; ++i) {
stats_.UpdateStatistics(rtp_header_);
- ++rtp_header_.webrtc.header.sequenceNumber;
- rtp_header_.webrtc.header.timestamp += 33 * 90;
+ ++rtp_header_.sequence_number;
+ rtp_header_.rtp_timestamp += 33 * 90;
base::TimeDelta additional_delta =
base::TimeDelta::FromMilliseconds(kAdditionalIncrement);
testing_clock_.Advance(delta_increments_ + additional_delta);
EXPECT_FALSE(fraction_lost_);
EXPECT_FALSE(cumulative_lost_);
// Build extended sequence number (one wrap cycle).
- uint32 extended_seq_num = rtp_header_.webrtc.header.sequenceNumber - 1;
+ const uint32 extended_seq_num = rtp_header_.sequence_number - 1;
EXPECT_EQ(extended_seq_num, extended_high_sequence_number_);
EXPECT_EQ(ExpectedJitter(kStdTimeIncrementMs + kAdditionalIncrement, 300),
jitter_);