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

Unified Diff: webrtc/modules/rtp_rtcp/source/rtp_format_vp8_test_helper.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_test_helper.cc
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_format_vp8_test_helper.cc b/webrtc/modules/rtp_rtcp/source/rtp_format_vp8_test_helper.cc
index 510565929286f838c413b8695db291e0950c1e61..8b20aebb90aff7e11ae60b690eaf2c172053689b 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_format_vp8_test_helper.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_format_vp8_test_helper.cc
@@ -17,22 +17,22 @@ namespace webrtc {
namespace test {
+constexpr RtpPacketToSend::ExtensionManager* kNoExtensions = nullptr;
+
RtpFormatVp8TestHelper::RtpFormatVp8TestHelper(const RTPVideoHeaderVP8* hdr)
- : payload_data_(NULL),
- buffer_(NULL),
+ : packet_(kNoExtensions),
+ payload_data_(NULL),
data_ptr_(NULL),
fragmentation_(NULL),
hdr_info_(hdr),
payload_start_(0),
payload_size_(0),
- buffer_size_(0),
sloppy_partitioning_(false),
inited_(false) {}
RtpFormatVp8TestHelper::~RtpFormatVp8TestHelper() {
delete fragmentation_;
delete [] payload_data_;
- delete [] buffer_;
}
bool RtpFormatVp8TestHelper::Init(const size_t* partition_sizes,
@@ -45,9 +45,7 @@ bool RtpFormatVp8TestHelper::Init(const size_t* partition_sizes,
for (size_t p = 0; p < num_partitions; ++p) {
payload_size_ += partition_sizes[p];
}
- buffer_size_ = payload_size_ + 6; // Add space for payload descriptor.
payload_data_ = new uint8_t[payload_size_];
- buffer_ = new uint8_t[buffer_size_];
size_t j = 0;
// Loop through the partitions again.
for (size_t p = 0; p < num_partitions; ++p) {
@@ -70,15 +68,13 @@ void RtpFormatVp8TestHelper::GetAllPacketsAndCheck(
const bool* expected_frag_start,
size_t expected_num_packets) {
ASSERT_TRUE(inited_);
- size_t send_bytes = 0;
bool last = false;
for (size_t i = 0; i < expected_num_packets; ++i) {
std::ostringstream ss;
ss << "Checking packet " << i;
SCOPED_TRACE(ss.str());
- EXPECT_TRUE(packetizer->NextPacket(buffer_, &send_bytes, &last));
- CheckPacket(send_bytes, expected_sizes[i], last,
- expected_frag_start[i]);
+ EXPECT_TRUE(packetizer->NextPacket(&packet_, &last));
+ CheckPacket(expected_sizes[i], last, expected_frag_start[i]);
}
EXPECT_TRUE(last);
}
@@ -127,67 +123,68 @@ void RtpFormatVp8TestHelper::GetAllPacketsAndCheck(
void RtpFormatVp8TestHelper::CheckHeader(bool frag_start) {
payload_start_ = 1;
- EXPECT_BIT_EQ(buffer_[0], 6, 0); // Check reserved bit.
+ rtc::ArrayView<const uint8_t> buffer = packet_.payload();
+ EXPECT_BIT_EQ(buffer[0], 6, 0); // Check reserved bit.
if (hdr_info_->pictureId != kNoPictureId ||
hdr_info_->temporalIdx != kNoTemporalIdx ||
hdr_info_->tl0PicIdx != kNoTl0PicIdx ||
hdr_info_->keyIdx != kNoKeyIdx) {
- EXPECT_BIT_X_EQ(buffer_[0], 1);
+ EXPECT_BIT_X_EQ(buffer[0], 1);
++payload_start_;
CheckPictureID();
CheckTl0PicIdx();
CheckTIDAndKeyIdx();
} else {
- EXPECT_BIT_X_EQ(buffer_[0], 0);
+ EXPECT_BIT_X_EQ(buffer[0], 0);
}
- EXPECT_BIT_N_EQ(buffer_[0], hdr_info_->nonReference ? 1 : 0);
- EXPECT_BIT_S_EQ(buffer_[0], frag_start ? 1 : 0);
+ EXPECT_BIT_N_EQ(buffer[0], hdr_info_->nonReference ? 1 : 0);
+ EXPECT_BIT_S_EQ(buffer[0], frag_start ? 1 : 0);
// Check partition index.
if (!sloppy_partitioning_) {
// The test payload data is constructed such that the payload value is the
// same as the partition index.
- EXPECT_EQ(buffer_[0] & 0x0F, buffer_[payload_start_]);
+ EXPECT_EQ(buffer[0] & 0x0F, buffer[payload_start_]);
} else {
// Partition should be set to 0.
- EXPECT_EQ(buffer_[0] & 0x0F, 0);
+ EXPECT_EQ(buffer[0] & 0x0F, 0);
}
}
// Verify that the I bit and the PictureID field are both set in accordance
// with the information in hdr_info_->pictureId.
void RtpFormatVp8TestHelper::CheckPictureID() {
+ auto buffer = packet_.payload();
if (hdr_info_->pictureId != kNoPictureId) {
- EXPECT_BIT_I_EQ(buffer_[1], 1);
+ EXPECT_BIT_I_EQ(buffer[1], 1);
if (hdr_info_->pictureId > 0x7F) {
- EXPECT_BIT_EQ(buffer_[payload_start_], 7, 1);
- EXPECT_EQ(buffer_[payload_start_] & 0x7F,
+ EXPECT_BIT_EQ(buffer[payload_start_], 7, 1);
+ EXPECT_EQ(buffer[payload_start_] & 0x7F,
(hdr_info_->pictureId >> 8) & 0x7F);
- EXPECT_EQ(buffer_[payload_start_ + 1],
- hdr_info_->pictureId & 0xFF);
+ EXPECT_EQ(buffer[payload_start_ + 1], hdr_info_->pictureId & 0xFF);
payload_start_ += 2;
} else {
- EXPECT_BIT_EQ(buffer_[payload_start_], 7, 0);
- EXPECT_EQ(buffer_[payload_start_] & 0x7F,
- (hdr_info_->pictureId) & 0x7F);
+ EXPECT_BIT_EQ(buffer[payload_start_], 7, 0);
+ EXPECT_EQ(buffer[payload_start_] & 0x7F, (hdr_info_->pictureId) & 0x7F);
payload_start_ += 1;
}
} else {
- EXPECT_BIT_I_EQ(buffer_[1], 0);
+ EXPECT_BIT_I_EQ(buffer[1], 0);
}
}
// Verify that the L bit and the TL0PICIDX field are both set in accordance
// with the information in hdr_info_->tl0PicIdx.
void RtpFormatVp8TestHelper::CheckTl0PicIdx() {
+ auto buffer = packet_.payload();
if (hdr_info_->tl0PicIdx != kNoTl0PicIdx) {
- EXPECT_BIT_L_EQ(buffer_[1], 1);
- EXPECT_EQ(buffer_[payload_start_], hdr_info_->tl0PicIdx);
+ EXPECT_BIT_L_EQ(buffer[1], 1);
+ EXPECT_EQ(buffer[payload_start_], hdr_info_->tl0PicIdx);
++payload_start_;
} else {
- EXPECT_BIT_L_EQ(buffer_[1], 0);
+ EXPECT_BIT_L_EQ(buffer[1], 0);
}
}
@@ -195,36 +192,39 @@ void RtpFormatVp8TestHelper::CheckTl0PicIdx() {
// field are all set in accordance with the information in
// hdr_info_->temporalIdx and hdr_info_->keyIdx, respectively.
void RtpFormatVp8TestHelper::CheckTIDAndKeyIdx() {
+ auto buffer = packet_.payload();
if (hdr_info_->temporalIdx == kNoTemporalIdx &&
hdr_info_->keyIdx == kNoKeyIdx) {
- EXPECT_BIT_T_EQ(buffer_[1], 0);
- EXPECT_BIT_K_EQ(buffer_[1], 0);
+ EXPECT_BIT_T_EQ(buffer[1], 0);
+ EXPECT_BIT_K_EQ(buffer[1], 0);
return;
}
if (hdr_info_->temporalIdx != kNoTemporalIdx) {
- EXPECT_BIT_T_EQ(buffer_[1], 1);
- EXPECT_TID_EQ(buffer_[payload_start_], hdr_info_->temporalIdx);
- EXPECT_BIT_Y_EQ(buffer_[payload_start_], hdr_info_->layerSync ? 1 : 0);
+ EXPECT_BIT_T_EQ(buffer[1], 1);
+ EXPECT_TID_EQ(buffer[payload_start_], hdr_info_->temporalIdx);
+ EXPECT_BIT_Y_EQ(buffer[payload_start_], hdr_info_->layerSync ? 1 : 0);
} else {
- EXPECT_BIT_T_EQ(buffer_[1], 0);
- EXPECT_TID_EQ(buffer_[payload_start_], 0);
- EXPECT_BIT_Y_EQ(buffer_[payload_start_], 0);
+ EXPECT_BIT_T_EQ(buffer[1], 0);
+ EXPECT_TID_EQ(buffer[payload_start_], 0);
+ EXPECT_BIT_Y_EQ(buffer[payload_start_], 0);
}
if (hdr_info_->keyIdx != kNoKeyIdx) {
- EXPECT_BIT_K_EQ(buffer_[1], 1);
- EXPECT_KEYIDX_EQ(buffer_[payload_start_], hdr_info_->keyIdx);
+ EXPECT_BIT_K_EQ(buffer[1], 1);
+ EXPECT_KEYIDX_EQ(buffer[payload_start_], hdr_info_->keyIdx);
} else {
- EXPECT_BIT_K_EQ(buffer_[1], 0);
- EXPECT_KEYIDX_EQ(buffer_[payload_start_], 0);
+ EXPECT_BIT_K_EQ(buffer[1], 0);
+ EXPECT_KEYIDX_EQ(buffer[payload_start_], 0);
}
++payload_start_;
}
// Verify that the payload (i.e., after the headers) of the packet stored in
// buffer_ is identical to the expected (as found in data_ptr_).
-void RtpFormatVp8TestHelper::CheckPayload(size_t payload_end) {
+void RtpFormatVp8TestHelper::CheckPayload() {
+ auto buffer = packet_.payload();
+ size_t payload_end = buffer.size();
for (size_t i = payload_start_; i < payload_end; ++i, ++data_ptr_)
- EXPECT_EQ(buffer_[i], *data_ptr_);
+ EXPECT_EQ(buffer[i], *data_ptr_);
}
// Verify that the input variable "last" agrees with the position of data_ptr_.
@@ -236,13 +236,12 @@ void RtpFormatVp8TestHelper::CheckLast(bool last) const {
// Verify the contents of a packet. Check the length versus expected_bytes,
// the header, payload, and "last" flag.
-void RtpFormatVp8TestHelper::CheckPacket(size_t send_bytes,
- size_t expect_bytes,
+void RtpFormatVp8TestHelper::CheckPacket(size_t expect_bytes,
bool last,
bool frag_start) {
- EXPECT_EQ(expect_bytes, send_bytes);
+ EXPECT_EQ(expect_bytes, packet_.payload_size());
CheckHeader(frag_start);
- CheckPayload(send_bytes);
+ CheckPayload();
CheckLast(last);
}
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_format_vp8_test_helper.h ('k') | webrtc/modules/rtp_rtcp/source/rtp_format_vp8_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698