Index: webrtc/modules/rtp_rtcp/source/rtp_format_vp8_unittest.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_format_vp8_unittest.cc b/webrtc/modules/rtp_rtcp/source/rtp_format_vp8_unittest.cc |
index ce3909535071bf17ff7bedaf5e9d02943000e698..0e1a474e35a47b8af7988b77214651b6090546ee 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtp_format_vp8_unittest.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtp_format_vp8_unittest.cc |
@@ -12,6 +12,7 @@ |
#include "webrtc/modules/rtp_rtcp/source/rtp_format_vp8.h" |
#include "webrtc/modules/rtp_rtcp/source/rtp_format_vp8_test_helper.h" |
+#include "webrtc/modules/rtp_rtcp/source/rtp_packet_to_send.h" |
#include "webrtc/test/gmock.h" |
#include "webrtc/test/gtest.h" |
#include "webrtc/typedefs.h" |
@@ -22,6 +23,11 @@ |
namespace webrtc { |
namespace { |
+ |
+using ::testing::ElementsAreArray; |
+using ::testing::make_tuple; |
+ |
+constexpr RtpPacketToSend::ExtensionManager* kNoExtensions = nullptr; |
// Payload descriptor |
// 0 1 2 3 4 5 6 7 |
// +-+-+-+-+-+-+-+-+ |
@@ -100,8 +106,8 @@ TEST_F(RtpPacketizerVp8Test, TestStrictMode) { |
ASSERT_TRUE(Init(kSizeVector, kNumPartitions)); |
hdr_info_.pictureId = 200; // > 0x7F should produce 2-byte PictureID. |
- const size_t kMaxSize = 13; |
- RtpPacketizerVp8 packetizer(hdr_info_, kMaxSize, kStrict); |
+ const size_t kMaxPayloadSize = 13; |
+ RtpPacketizerVp8 packetizer(hdr_info_, kMaxPayloadSize, kStrict); |
packetizer.SetPayloadData(helper_->payload_data(), |
helper_->payload_size(), |
helper_->fragmentation()); |
@@ -131,8 +137,8 @@ TEST_F(RtpPacketizerVp8Test, DISABLED_TestStrictEqualTightPartitions) { |
ASSERT_TRUE(Init(kSizeVector, kNumPartitions)); |
hdr_info_.pictureId = 200; // > 0x7F should produce 2-byte PictureID. |
- const int kMaxSize = 14; |
- RtpPacketizerVp8 packetizer(hdr_info_, kMaxSize, kStrict); |
+ const int kMaxPayloadSize = 14; |
+ RtpPacketizerVp8 packetizer(hdr_info_, kMaxPayloadSize, kStrict); |
packetizer.SetPayloadData(helper_->payload_data(), helper_->payload_size(), |
helper_->fragmentation()); |
@@ -154,8 +160,8 @@ TEST_F(RtpPacketizerVp8Test, TestAggregateMode) { |
ASSERT_TRUE(Init(kSizeVector, kNumPartitions)); |
hdr_info_.pictureId = 20; // <= 0x7F should produce 1-byte PictureID. |
- const size_t kMaxSize = 25; |
- RtpPacketizerVp8 packetizer(hdr_info_, kMaxSize, kAggregate); |
+ const size_t kMaxPayloadSize = 25; |
+ RtpPacketizerVp8 packetizer(hdr_info_, kMaxPayloadSize, kAggregate); |
packetizer.SetPayloadData(helper_->payload_data(), |
helper_->payload_size(), |
helper_->fragmentation()); |
@@ -181,8 +187,8 @@ TEST_F(RtpPacketizerVp8Test, TestAggregateModeManyPartitions1) { |
ASSERT_TRUE(Init(kSizeVector, kNumPartitions)); |
hdr_info_.pictureId = 20; // <= 0x7F should produce 1-byte PictureID. |
- const size_t kMaxSize = 1500; |
- RtpPacketizerVp8 packetizer(hdr_info_, kMaxSize, kAggregate); |
+ const size_t kMaxPayloadSize = 1000; |
+ RtpPacketizerVp8 packetizer(hdr_info_, kMaxPayloadSize, kAggregate); |
packetizer.SetPayloadData(helper_->payload_data(), |
helper_->payload_size(), |
helper_->fragmentation()); |
@@ -208,8 +214,8 @@ TEST_F(RtpPacketizerVp8Test, TestAggregateModeManyPartitions2) { |
ASSERT_TRUE(Init(kSizeVector, kNumPartitions)); |
hdr_info_.pictureId = 20; // <= 0x7F should produce 1-byte PictureID. |
- const size_t kMaxSize = 1500; |
- RtpPacketizerVp8 packetizer(hdr_info_, kMaxSize, kAggregate); |
+ const size_t kMaxPayloadSize = 1000; |
+ RtpPacketizerVp8 packetizer(hdr_info_, kMaxPayloadSize, kAggregate); |
packetizer.SetPayloadData(helper_->payload_data(), |
helper_->payload_size(), |
helper_->fragmentation()); |
@@ -235,8 +241,8 @@ TEST_F(RtpPacketizerVp8Test, TestAggregateModeTwoLargePartitions) { |
ASSERT_TRUE(Init(kSizeVector, kNumPartitions)); |
hdr_info_.pictureId = 20; // <= 0x7F should produce 1-byte PictureID. |
- const size_t kMaxSize = 1460; |
- RtpPacketizerVp8 packetizer(hdr_info_, kMaxSize, kAggregate); |
+ const size_t kMaxPayloadSize = 1460; |
+ RtpPacketizerVp8 packetizer(hdr_info_, kMaxPayloadSize, kAggregate); |
packetizer.SetPayloadData(helper_->payload_data(), |
helper_->payload_size(), |
helper_->fragmentation()); |
@@ -262,9 +268,9 @@ TEST_F(RtpPacketizerVp8Test, TestEqualSizeModeFallback) { |
const size_t kNumPartitions = GTEST_ARRAY_SIZE_(kSizeVector); |
ASSERT_TRUE(Init(kSizeVector, kNumPartitions)); |
- hdr_info_.pictureId = 200; // > 0x7F should produce 2-byte PictureID |
- const size_t kMaxSize = 12; // Small enough to produce 4 packets. |
- RtpPacketizerVp8 packetizer(hdr_info_, kMaxSize); |
+ hdr_info_.pictureId = 200; // > 0x7F should produce 2-byte PictureID |
+ const size_t kMaxPayloadSize = 12; // Small enough to produce 4 packets. |
+ RtpPacketizerVp8 packetizer(hdr_info_, kMaxPayloadSize); |
packetizer.SetPayloadData( |
helper_->payload_data(), helper_->payload_size(), NULL); |
@@ -292,8 +298,8 @@ TEST_F(RtpPacketizerVp8Test, TestNonReferenceBit) { |
ASSERT_TRUE(Init(kSizeVector, kNumPartitions)); |
hdr_info_.nonReference = true; |
- const size_t kMaxSize = 25; // Small enough to produce two packets. |
- RtpPacketizerVp8 packetizer(hdr_info_, kMaxSize); |
+ const size_t kMaxPayloadSize = 25; // Small enough to produce two packets. |
+ RtpPacketizerVp8 packetizer(hdr_info_, kMaxPayloadSize); |
packetizer.SetPayloadData( |
helper_->payload_data(), helper_->payload_size(), NULL); |
@@ -323,9 +329,9 @@ TEST_F(RtpPacketizerVp8Test, TestTl0PicIdxAndTID) { |
hdr_info_.tl0PicIdx = 117; |
hdr_info_.temporalIdx = 2; |
hdr_info_.layerSync = true; |
- // kMaxSize is only limited by allocated buffer size. |
- const size_t kMaxSize = helper_->buffer_size(); |
- RtpPacketizerVp8 packetizer(hdr_info_, kMaxSize, kAggregate); |
+ // kMaxPayloadSize is only limited by allocated buffer size. |
+ const size_t kMaxPayloadSize = helper_->buffer_size(); |
+ RtpPacketizerVp8 packetizer(hdr_info_, kMaxPayloadSize, kAggregate); |
packetizer.SetPayloadData(helper_->payload_data(), |
helper_->payload_size(), |
helper_->fragmentation()); |
@@ -352,9 +358,9 @@ TEST_F(RtpPacketizerVp8Test, TestKeyIdx) { |
ASSERT_TRUE(Init(kSizeVector, kNumPartitions)); |
hdr_info_.keyIdx = 17; |
- // kMaxSize is only limited by allocated buffer size. |
- const size_t kMaxSize = helper_->buffer_size(); |
- RtpPacketizerVp8 packetizer(hdr_info_, kMaxSize, kAggregate); |
+ // kMaxPayloadSize is only limited by allocated buffer size. |
+ const size_t kMaxPayloadSize = helper_->buffer_size(); |
+ RtpPacketizerVp8 packetizer(hdr_info_, kMaxPayloadSize, kAggregate); |
packetizer.SetPayloadData(helper_->payload_data(), |
helper_->payload_size(), |
helper_->fragmentation()); |
@@ -382,9 +388,9 @@ TEST_F(RtpPacketizerVp8Test, TestTIDAndKeyIdx) { |
hdr_info_.temporalIdx = 1; |
hdr_info_.keyIdx = 5; |
- // kMaxSize is only limited by allocated buffer size. |
- const size_t kMaxSize = helper_->buffer_size(); |
- RtpPacketizerVp8 packetizer(hdr_info_, kMaxSize, kAggregate); |
+ // kMaxPayloadSize is only limited by allocated buffer size. |
+ const size_t kMaxPayloadSize = helper_->buffer_size(); |
+ RtpPacketizerVp8 packetizer(hdr_info_, kMaxPayloadSize, kAggregate); |
packetizer.SetPayloadData(helper_->payload_data(), |
helper_->payload_size(), |
helper_->fragmentation()); |
@@ -432,6 +438,7 @@ TEST_F(RtpDepacketizerVp8Test, BasicHeader) { |
ASSERT_TRUE(depacketizer_->Parse(&payload, packet, sizeof(packet))); |
ExpectPacket( |
&payload, packet + kHeaderLength, sizeof(packet) - kHeaderLength); |
+ |
EXPECT_EQ(kVideoFrameDelta, payload.frame_type); |
EXPECT_EQ(kRtpVideoVp8, payload.type.Video.codec); |
VerifyBasicHeader(&payload.type, 0, 1, 4); |
@@ -564,7 +571,7 @@ TEST_F(RtpDepacketizerVp8Test, TooShortHeader) { |
TEST_F(RtpDepacketizerVp8Test, TestWithPacketizer) { |
const uint8_t kHeaderLength = 5; |
uint8_t data[10] = {0}; |
- uint8_t packet[20] = {0}; |
+ RtpPacketToSend packet(kNoExtensions); |
RTPVideoHeaderVP8 input_header; |
input_header.nonReference = true; |
input_header.pictureId = 300; |
@@ -575,14 +582,16 @@ TEST_F(RtpDepacketizerVp8Test, TestWithPacketizer) { |
RtpPacketizerVp8 packetizer(input_header, 20); |
packetizer.SetPayloadData(data, 10, NULL); |
bool last; |
- size_t send_bytes; |
- ASSERT_TRUE(packetizer.NextPacket(packet, &send_bytes, &last)); |
- ASSERT_TRUE(last); |
- RtpDepacketizer::ParsedPayload payload; |
+ ASSERT_TRUE(packetizer.NextPacket(&packet, &last)); |
+ EXPECT_TRUE(last); |
+ EXPECT_TRUE(packet.Marker()); |
- ASSERT_TRUE(depacketizer_->Parse(&payload, packet, sizeof(packet))); |
- ExpectPacket( |
- &payload, packet + kHeaderLength, sizeof(packet) - kHeaderLength); |
+ auto rtp_payload = packet.payload(); |
+ RtpDepacketizer::ParsedPayload payload; |
+ ASSERT_TRUE( |
+ depacketizer_->Parse(&payload, rtp_payload.data(), rtp_payload.size())); |
+ auto vp8_payload = rtp_payload.subview(kHeaderLength); |
+ ExpectPacket(&payload, vp8_payload.data(), vp8_payload.size()); |
EXPECT_EQ(kVideoFrameKey, payload.frame_type); |
EXPECT_EQ(kRtpVideoVp8, payload.type.Video.codec); |
VerifyBasicHeader(&payload.type, 1, 1, 0); |