Chromium Code Reviews| 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); |
| } |