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

Unified Diff: webrtc/modules/rtp_rtcp/source/rtp_format_vp8_unittest.cc

Issue 2522553002: RtpPacketizer::NextPacket fills RtpPacket instead of payload. (Closed)
Patch Set: Named kTheMagicSix Created 4 years 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: 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);
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_format_vp8_test_helper.cc ('k') | webrtc/modules/rtp_rtcp/source/rtp_format_vp9.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698