Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(97)

Unified Diff: media/cast/framer/framer_unittest.cc

Issue 289483003: Cast: Only ACK decodable frames (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments addressed Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/cast/framer/framer_unittest.cc
diff --git a/media/cast/framer/framer_unittest.cc b/media/cast/framer/framer_unittest.cc
index 06a340ebb0b893b6b18aa671736b7d4e16a8c750..d382ce91edf0a482a484d7739d730953fefa1647 100644
--- a/media/cast/framer/framer_unittest.cc
+++ b/media/cast/framer/framer_unittest.cc
@@ -35,27 +35,29 @@ class FramerTest : public ::testing::Test {
TEST_F(FramerTest, EmptyState) {
transport::EncodedVideoFrame frame;
bool next_frame = false;
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ bool multiple = false;
miu 2014/05/16 19:45:25 In all these tests, consider testing that "multipl
hubbe 2014/05/16 20:50:58 Done.
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
}
TEST_F(FramerTest, AlwaysStartWithKey) {
transport::EncodedVideoFrame frame;
bool next_frame = false;
bool complete = false;
+ bool multiple = false;
bool duplicate = false;
// Insert non key first frame.
complete = framer_.InsertPacket(
payload_.data(), payload_.size(), rtp_header_, &duplicate);
EXPECT_TRUE(complete);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
rtp_header_.frame_id = 1;
rtp_header_.reference_frame_id = 1;
rtp_header_.is_key_frame = true;
complete = framer_.InsertPacket(
payload_.data(), payload_.size(), rtp_header_, &duplicate);
EXPECT_TRUE(complete);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
EXPECT_TRUE(next_frame);
EXPECT_EQ(1u, frame.frame_id);
EXPECT_TRUE(frame.key_frame);
@@ -66,6 +68,7 @@ TEST_F(FramerTest, CompleteFrame) {
transport::EncodedVideoFrame frame;
bool next_frame = false;
bool complete = false;
+ bool multiple = false;
bool duplicate = false;
// Start with a complete key frame.
@@ -73,7 +76,7 @@ TEST_F(FramerTest, CompleteFrame) {
complete = framer_.InsertPacket(
payload_.data(), payload_.size(), rtp_header_, &duplicate);
EXPECT_TRUE(complete);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
EXPECT_TRUE(next_frame);
EXPECT_EQ(0u, frame.frame_id);
EXPECT_TRUE(frame.key_frame);
@@ -87,7 +90,7 @@ TEST_F(FramerTest, CompleteFrame) {
complete = framer_.InsertPacket(
payload_.data(), payload_.size(), rtp_header_, &duplicate);
EXPECT_FALSE(complete);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
// Complete delta - can't skip, as incomplete sequence.
++rtp_header_.frame_id;
@@ -96,13 +99,14 @@ TEST_F(FramerTest, CompleteFrame) {
complete = framer_.InsertPacket(
payload_.data(), payload_.size(), rtp_header_, &duplicate);
EXPECT_TRUE(complete);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
}
TEST_F(FramerTest, DuplicatePackets) {
transport::EncodedVideoFrame frame;
bool next_frame = false;
bool complete = false;
+ bool multiple = false;
bool duplicate = false;
// Start with an incomplete key frame.
@@ -113,7 +117,7 @@ TEST_F(FramerTest, DuplicatePackets) {
payload_.data(), payload_.size(), rtp_header_, &duplicate);
EXPECT_FALSE(complete);
EXPECT_FALSE(duplicate);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
// Add same packet again in incomplete key frame.
duplicate = false;
@@ -121,7 +125,7 @@ TEST_F(FramerTest, DuplicatePackets) {
payload_.data(), payload_.size(), rtp_header_, &duplicate);
EXPECT_FALSE(complete);
EXPECT_TRUE(duplicate);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
// Complete key frame.
rtp_header_.packet_id = 1;
@@ -130,7 +134,7 @@ TEST_F(FramerTest, DuplicatePackets) {
payload_.data(), payload_.size(), rtp_header_, &duplicate);
EXPECT_TRUE(complete);
EXPECT_FALSE(duplicate);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
EXPECT_EQ(0u, frame.frame_id);
// Add same packet again in complete key frame.
@@ -139,7 +143,7 @@ TEST_F(FramerTest, DuplicatePackets) {
payload_.data(), payload_.size(), rtp_header_, &duplicate);
EXPECT_FALSE(complete);
EXPECT_TRUE(duplicate);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
EXPECT_EQ(0u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
@@ -153,7 +157,7 @@ TEST_F(FramerTest, DuplicatePackets) {
payload_.data(), payload_.size(), rtp_header_, &duplicate);
EXPECT_FALSE(complete);
EXPECT_FALSE(duplicate);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
// Add same packet again in incomplete delta frame.
duplicate = false;
@@ -161,7 +165,7 @@ TEST_F(FramerTest, DuplicatePackets) {
payload_.data(), payload_.size(), rtp_header_, &duplicate);
EXPECT_FALSE(complete);
EXPECT_TRUE(duplicate);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
// Complete delta frame.
rtp_header_.packet_id = 1;
@@ -170,7 +174,7 @@ TEST_F(FramerTest, DuplicatePackets) {
payload_.data(), payload_.size(), rtp_header_, &duplicate);
EXPECT_TRUE(complete);
EXPECT_FALSE(duplicate);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
EXPECT_EQ(1u, frame.frame_id);
// Add same packet again in complete delta frame.
@@ -179,7 +183,7 @@ TEST_F(FramerTest, DuplicatePackets) {
payload_.data(), payload_.size(), rtp_header_, &duplicate);
EXPECT_FALSE(complete);
EXPECT_TRUE(duplicate);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
EXPECT_EQ(1u, frame.frame_id);
}
@@ -187,6 +191,7 @@ TEST_F(FramerTest, ContinuousSequence) {
transport::EncodedVideoFrame frame;
bool next_frame = false;
bool complete = false;
+ bool multiple = false;
bool duplicate = false;
// Start with a complete key frame.
@@ -194,7 +199,7 @@ TEST_F(FramerTest, ContinuousSequence) {
complete = framer_.InsertPacket(
payload_.data(), payload_.size(), rtp_header_, &duplicate);
EXPECT_TRUE(complete);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
EXPECT_TRUE(next_frame);
EXPECT_EQ(0u, frame.frame_id);
EXPECT_TRUE(frame.key_frame);
@@ -207,13 +212,14 @@ TEST_F(FramerTest, ContinuousSequence) {
complete = framer_.InsertPacket(
payload_.data(), payload_.size(), rtp_header_, &duplicate);
EXPECT_TRUE(complete);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
}
TEST_F(FramerTest, Wrap) {
// Insert key frame, frame_id = 255 (will jump to that)
transport::EncodedVideoFrame frame;
bool next_frame = false;
+ bool multiple = true;
bool duplicate = false;
// Start with a complete key frame.
@@ -222,7 +228,7 @@ TEST_F(FramerTest, Wrap) {
rtp_header_.reference_frame_id = 255;
framer_.InsertPacket(
payload_.data(), payload_.size(), rtp_header_, &duplicate);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
EXPECT_TRUE(next_frame);
EXPECT_EQ(255u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
@@ -232,7 +238,7 @@ TEST_F(FramerTest, Wrap) {
rtp_header_.frame_id = 256;
framer_.InsertPacket(
payload_.data(), payload_.size(), rtp_header_, &duplicate);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
EXPECT_TRUE(next_frame);
EXPECT_EQ(256u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
@@ -242,6 +248,7 @@ TEST_F(FramerTest, Reset) {
transport::EncodedVideoFrame frame;
bool next_frame = false;
bool complete = false;
+ bool multiple = true;
bool duplicate = false;
// Start with a complete key frame.
@@ -250,12 +257,13 @@ TEST_F(FramerTest, Reset) {
payload_.data(), payload_.size(), rtp_header_, &duplicate);
EXPECT_TRUE(complete);
framer_.Reset();
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
}
TEST_F(FramerTest, RequireKeyAfterReset) {
transport::EncodedVideoFrame frame;
bool next_frame = false;
+ bool multiple = false;
bool duplicate = false;
framer_.Reset();
@@ -265,19 +273,20 @@ TEST_F(FramerTest, RequireKeyAfterReset) {
rtp_header_.frame_id = 0;
framer_.InsertPacket(
payload_.data(), payload_.size(), rtp_header_, &duplicate);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
rtp_header_.frame_id = 1;
rtp_header_.reference_frame_id = 1;
rtp_header_.is_key_frame = true;
framer_.InsertPacket(
payload_.data(), payload_.size(), rtp_header_, &duplicate);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
EXPECT_TRUE(next_frame);
}
TEST_F(FramerTest, BasicNonLastReferenceId) {
transport::EncodedVideoFrame frame;
bool next_frame = false;
+ bool multiple = false;
bool duplicate = false;
rtp_header_.is_key_frame = true;
@@ -285,7 +294,7 @@ TEST_F(FramerTest, BasicNonLastReferenceId) {
framer_.InsertPacket(
payload_.data(), payload_.size(), rtp_header_, &duplicate);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
framer_.ReleaseFrame(frame.frame_id);
rtp_header_.is_key_frame = false;
@@ -294,7 +303,7 @@ TEST_F(FramerTest, BasicNonLastReferenceId) {
framer_.InsertPacket(
payload_.data(), payload_.size(), rtp_header_, &duplicate);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
EXPECT_FALSE(next_frame);
}
@@ -302,6 +311,7 @@ TEST_F(FramerTest, InOrderReferenceFrameSelection) {
// Create pattern: 0, 1, 4, 5.
transport::EncodedVideoFrame frame;
bool next_frame = false;
+ bool multiple = false;
bool duplicate = false;
rtp_header_.is_key_frame = true;
@@ -323,14 +333,14 @@ TEST_F(FramerTest, InOrderReferenceFrameSelection) {
rtp_header_.reference_frame_id = 0;
framer_.InsertPacket(
payload_.data(), payload_.size(), rtp_header_, &duplicate);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
EXPECT_EQ(0u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
EXPECT_TRUE(next_frame);
EXPECT_EQ(1u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
EXPECT_FALSE(next_frame);
EXPECT_EQ(4u, frame.frame_id);
framer_.ReleaseFrame(frame.frame_id);
@@ -339,14 +349,14 @@ TEST_F(FramerTest, InOrderReferenceFrameSelection) {
rtp_header_.packet_id = 1;
framer_.InsertPacket(
payload_.data(), payload_.size(), rtp_header_, &duplicate);
- EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_FALSE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
rtp_header_.frame_id = 5;
rtp_header_.reference_frame_id = rtp_header_.frame_id - 1;
rtp_header_.packet_id = 0;
rtp_header_.max_packet_id = 0;
framer_.InsertPacket(
payload_.data(), payload_.size(), rtp_header_, &duplicate);
- EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame));
+ EXPECT_TRUE(framer_.GetEncodedVideoFrame(&frame, &next_frame, &multiple));
EXPECT_TRUE(next_frame);
EXPECT_EQ(5u, frame.frame_id);
}

Powered by Google App Engine
This is Rietveld 408576698