summaryrefslogtreecommitdiff
path: root/chromium/media/cast/framer/framer_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/cast/framer/framer_unittest.cc')
-rw-r--r--chromium/media/cast/framer/framer_unittest.cc146
1 files changed, 64 insertions, 82 deletions
diff --git a/chromium/media/cast/framer/framer_unittest.cc b/chromium/media/cast/framer/framer_unittest.cc
index 6f83706494f..871f048af46 100644
--- a/chromium/media/cast/framer/framer_unittest.cc
+++ b/chromium/media/cast/framer/framer_unittest.cc
@@ -4,25 +4,22 @@
#include "base/test/simple_test_tick_clock.h"
#include "media/cast/framer/framer.h"
-#include "media/cast/rtp_common/mock_rtp_payload_feedback.h"
+#include "media/cast/rtp_receiver/mock_rtp_payload_feedback.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace media {
namespace cast {
-static const int64 kFrameTimeMillisecond = 33;
-
class FramerTest : public ::testing::Test {
protected:
FramerTest()
: mock_rtp_payload_feedback_(),
- framer_(&mock_rtp_payload_feedback_, 0, true, 0) {
- framer_.set_clock(&testing_clock_);
+ framer_(&testing_clock_, &mock_rtp_payload_feedback_, 0, true, 0) {
}
- ~FramerTest() {}
+ virtual ~FramerTest() {}
- void SetUp() {
+ virtual void SetUp() OVERRIDE {
// Build a default one packet frame - populate webrtc header.
rtp_header_.is_key_frame = false;
rtp_header_.frame_id = 0;
@@ -46,47 +43,44 @@ class FramerTest : public ::testing::Test {
TEST_F(FramerTest, EmptyState) {
EncodedVideoFrame frame;
- uint32_t rtp_timestamp;
+ uint32 rtp_timestamp;
bool next_frame = false;
- base::TimeTicks timeout;
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
}
TEST_F(FramerTest, AlwaysStartWithKey) {
EncodedVideoFrame frame;
- uint32_t rtp_timestamp;
+ uint32 rtp_timestamp;
bool next_frame = false;
- base::TimeTicks timeout;
// Insert non key first frame.
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
rtp_header_.frame_id = 1;
rtp_header_.is_key_frame = true;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
EXPECT_TRUE(next_frame);
- EXPECT_EQ(1, frame.frame_id);
+ EXPECT_EQ(1u, frame.frame_id);
EXPECT_TRUE(frame.key_frame);
framer_.ReleaseFrame(frame.frame_id);
}
TEST_F(FramerTest, CompleteFrame) {
EncodedVideoFrame frame;
- uint32_t rtp_timestamp;
+ uint32 rtp_timestamp;
bool next_frame = false;
- base::TimeTicks timeout;
// start with a complete key frame.
rtp_header_.is_key_frame = true;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
EXPECT_TRUE(next_frame);
- EXPECT_EQ(0, frame.frame_id);
+ EXPECT_EQ(0u, frame.frame_id);
EXPECT_TRUE(frame.key_frame);
framer_.ReleaseFrame(frame.frame_id);
@@ -95,30 +89,29 @@ TEST_F(FramerTest, CompleteFrame) {
rtp_header_.is_key_frame = false;
rtp_header_.max_packet_id = 2;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
// Complete delta - can't skip, as incomplete sequence.
++rtp_header_.frame_id;
rtp_header_.max_packet_id = 0;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
}
TEST_F(FramerTest, ContinuousSequence) {
EncodedVideoFrame frame;
- uint32_t rtp_timestamp;
+ uint32 rtp_timestamp;
bool next_frame = false;
- base::TimeTicks timeout;
// start with a complete key frame.
rtp_header_.is_key_frame = true;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
EXPECT_TRUE(next_frame);
- EXPECT_EQ(0, frame.frame_id);
+ EXPECT_EQ(0u, frame.frame_id);
EXPECT_TRUE(frame.key_frame);
framer_.ReleaseFrame(frame.frame_id);
@@ -126,99 +119,89 @@ TEST_F(FramerTest, ContinuousSequence) {
rtp_header_.frame_id = 2;
rtp_header_.is_key_frame = false;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
}
TEST_F(FramerTest, Wrap) {
// Insert key frame, frame_id = 255 (will jump to that)
EncodedVideoFrame frame;
- uint32_t rtp_timestamp;
+ uint32 rtp_timestamp;
bool next_frame = false;
- base::TimeTicks timeout;
// Start with a complete key frame.
rtp_header_.is_key_frame = true;
- rtp_header_.frame_id = 255;
+ rtp_header_.frame_id = 255u;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
EXPECT_TRUE(next_frame);
- EXPECT_EQ(255, frame.frame_id);
+ EXPECT_EQ(255u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
// Insert wrapped delta frame - should be continuous.
rtp_header_.is_key_frame = false;
- rtp_header_.frame_id = 0;
+ rtp_header_.frame_id = 256;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
EXPECT_TRUE(next_frame);
- EXPECT_EQ(0, frame.frame_id);
+ EXPECT_EQ(256u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
}
TEST_F(FramerTest, Reset) {
EncodedVideoFrame frame;
- uint32_t rtp_timestamp;
+ uint32 rtp_timestamp;
bool next_frame = false;
- base::TimeTicks timeout;
// Start with a complete key frame.
rtp_header_.is_key_frame = true;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
framer_.Reset();
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
}
TEST_F(FramerTest, RequireKeyAfterReset) {
EncodedVideoFrame frame;
- uint32_t rtp_timestamp;
+ uint32 rtp_timestamp;
bool next_frame = false;
- base::TimeTicks timeout;
framer_.Reset();
// Start with a complete key frame.
rtp_header_.is_key_frame = false;
- rtp_header_.frame_id = 0;
+ rtp_header_.frame_id = 0u;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
rtp_header_.frame_id = 1;
rtp_header_.is_key_frame = true;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
EXPECT_TRUE(next_frame);
}
TEST_F(FramerTest, BasicNonLastReferenceId) {
EncodedVideoFrame frame;
- uint32_t rtp_timestamp;
+ uint32 rtp_timestamp;
bool next_frame = false;
rtp_header_.is_key_frame = true;
rtp_header_.frame_id = 0;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- base::TimeTicks timeout;
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
framer_.ReleaseFrame(frame.frame_id);
rtp_header_.is_key_frame = false;
rtp_header_.is_reference = true;
rtp_header_.reference_frame_id = 0;
- rtp_header_.frame_id = 5;
+ rtp_header_.frame_id = 5u;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- timeout += base::TimeDelta::FromMilliseconds(kFrameTimeMillisecond);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
- &next_frame));
- testing_clock_.Advance(
- base::TimeDelta::FromMilliseconds(kFrameTimeMillisecond));
-
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
EXPECT_FALSE(next_frame);
}
@@ -226,9 +209,9 @@ TEST_F(FramerTest, BasicNonLastReferenceId) {
TEST_F(FramerTest, InOrderReferenceFrameSelection) {
// Create pattern: 0, 1, 4, 5.
EncodedVideoFrame frame;
- uint32_t rtp_timestamp;
+ uint32 rtp_timestamp;
bool next_frame = false;
- base::TimeTicks timeout;
+
rtp_header_.is_key_frame = true;
rtp_header_.frame_id = 0;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
@@ -245,105 +228,104 @@ TEST_F(FramerTest, InOrderReferenceFrameSelection) {
rtp_header_.is_reference = true;
rtp_header_.reference_frame_id = 0;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
- EXPECT_EQ(0, frame.frame_id);
+ EXPECT_EQ(0u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
EXPECT_TRUE(next_frame);
- EXPECT_EQ(1, frame.frame_id);
+ EXPECT_EQ(1u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
EXPECT_FALSE(next_frame);
- EXPECT_EQ(4, frame.frame_id);
+ EXPECT_EQ(4u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
// Insert remaining packet of frame #2 - should no be continuous.
rtp_header_.frame_id = 2;
rtp_header_.packet_id = 1;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
rtp_header_.is_reference = false;
rtp_header_.frame_id = 5;
rtp_header_.packet_id = 0;
rtp_header_.max_packet_id = 0;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &rtp_timestamp,
&next_frame));
EXPECT_TRUE(next_frame);
- EXPECT_EQ(5, frame.frame_id);
+ EXPECT_EQ(5u, frame.frame_id);
}
TEST_F(FramerTest, AudioWrap) {
// All audio frames are marked as key frames.
EncodedAudioFrame frame;
- uint32_t rtp_timestamp;
- base::TimeTicks timeout;
+ uint32 rtp_timestamp;
bool next_frame = false;
rtp_header_.is_key_frame = true;
rtp_header_.frame_id = 254;
+
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_TRUE(framer_.GetEncodedAudioFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedAudioFrame(&frame, &rtp_timestamp,
&next_frame));
EXPECT_TRUE(next_frame);
- EXPECT_EQ(254, frame.frame_id);
+ EXPECT_EQ(254u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
rtp_header_.frame_id = 255;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
// Insert wrapped frame - should be continuous.
- rtp_header_.frame_id = 0;
+ rtp_header_.frame_id = 256;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_TRUE(framer_.GetEncodedAudioFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedAudioFrame(&frame, &rtp_timestamp,
&next_frame));
EXPECT_TRUE(next_frame);
- EXPECT_EQ(255, frame.frame_id);
+ EXPECT_EQ(255u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
- EXPECT_TRUE(framer_.GetEncodedAudioFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedAudioFrame(&frame, &rtp_timestamp,
&next_frame));
EXPECT_TRUE(next_frame);
- EXPECT_EQ(0, frame.frame_id);
+ EXPECT_EQ(256u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
}
TEST_F(FramerTest, AudioWrapWithMissingFrame) {
// All audio frames are marked as key frames.
EncodedAudioFrame frame;
- uint32_t rtp_timestamp;
+ uint32 rtp_timestamp;
bool next_frame = false;
- base::TimeTicks timeout;
// Insert and get first packet.
rtp_header_.is_key_frame = true;
rtp_header_.frame_id = 253;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- EXPECT_TRUE(framer_.GetEncodedAudioFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedAudioFrame(&frame, &rtp_timestamp,
&next_frame));
EXPECT_TRUE(next_frame);
- EXPECT_EQ(253, frame.frame_id);
+ EXPECT_EQ(253u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
// Insert third and fourth packets.
rtp_header_.frame_id = 255;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
- rtp_header_.frame_id = 0;
+ rtp_header_.frame_id = 256;
framer_.InsertPacket(payload_.data(), payload_.size(), rtp_header_);
// Get third and fourth packets.
- EXPECT_TRUE(framer_.GetEncodedAudioFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedAudioFrame(&frame, &rtp_timestamp,
&next_frame));
EXPECT_FALSE(next_frame);
- EXPECT_EQ(255, frame.frame_id);
+ EXPECT_EQ(255u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
- EXPECT_TRUE(framer_.GetEncodedAudioFrame(timeout, &frame, &rtp_timestamp,
+ EXPECT_TRUE(framer_.GetEncodedAudioFrame(&frame, &rtp_timestamp,
&next_frame));
EXPECT_TRUE(next_frame);
- EXPECT_EQ(0, frame.frame_id);
+ EXPECT_EQ(256u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
}