Add accessors to the types in the RTPVideoTypeHeader in RTPVideoHeader.
This CL is in preparation to change the RTPVideoTypeHeader into an absl::variant.
Bug: none
Change-Id: I1672d866df0395f3417d8e278cc67f017ab0ff98
Reviewed-on: https://webrtc-review.googlesource.com/87261
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23856}
diff --git a/modules/video_coding/jitter_buffer_unittest.cc b/modules/video_coding/jitter_buffer_unittest.cc
index 45b2c2d..db4ede0 100644
--- a/modules/video_coding/jitter_buffer_unittest.cc
+++ b/modules/video_coding/jitter_buffer_unittest.cc
@@ -50,12 +50,12 @@
packet_.frameType = kVideoFrameKey;
packet_.codec = kVideoCodecVP9;
packet_.video_header.codec = kVideoCodecVP9;
- packet_.video_header.codecHeader.VP9.flexible_mode = false;
- packet_.video_header.codecHeader.VP9.gof_idx = 0;
- packet_.video_header.codecHeader.VP9.temporal_idx = kNoTemporalIdx;
- packet_.video_header.codecHeader.VP9.temporal_up_switch = false;
- packet_.video_header.codecHeader.VP9.ss_data_available = true;
- packet_.video_header.codecHeader.VP9.gof.SetGofInfoVP9(
+ packet_.video_header.vp9().flexible_mode = false;
+ packet_.video_header.vp9().gof_idx = 0;
+ packet_.video_header.vp9().temporal_idx = kNoTemporalIdx;
+ packet_.video_header.vp9().temporal_up_switch = false;
+ packet_.video_header.vp9().ss_data_available = true;
+ packet_.video_header.vp9().gof.SetGofInfoVP9(
kTemporalStructureMode3); // kTemporalStructureMode3: 0-2-1-2..
}
@@ -69,7 +69,7 @@
}
TEST_F(Vp9SsMapTest, Insert_NoSsData) {
- packet_.video_header.codecHeader.VP9.ss_data_available = false;
+ packet_.video_header.vp9().ss_data_available = false;
EXPECT_FALSE(map_.Insert(packet_));
}
@@ -146,52 +146,52 @@
}
TEST_F(Vp9SsMapTest, UpdatePacket_NoSsData) {
- packet_.video_header.codecHeader.VP9.gof_idx = 0;
+ packet_.video_header.vp9().gof_idx = 0;
EXPECT_FALSE(map_.UpdatePacket(&packet_));
}
TEST_F(Vp9SsMapTest, UpdatePacket_NoGofIdx) {
EXPECT_TRUE(map_.Insert(packet_));
- packet_.video_header.codecHeader.VP9.gof_idx = kNoGofIdx;
+ packet_.video_header.vp9().gof_idx = kNoGofIdx;
EXPECT_FALSE(map_.UpdatePacket(&packet_));
}
TEST_F(Vp9SsMapTest, UpdatePacket_InvalidGofIdx) {
EXPECT_TRUE(map_.Insert(packet_));
- packet_.video_header.codecHeader.VP9.gof_idx = 4;
+ packet_.video_header.vp9().gof_idx = 4;
EXPECT_FALSE(map_.UpdatePacket(&packet_));
}
TEST_F(Vp9SsMapTest, UpdatePacket) {
EXPECT_TRUE(map_.Insert(packet_)); // kTemporalStructureMode3: 0-2-1-2..
- packet_.video_header.codecHeader.VP9.gof_idx = 0;
+ packet_.video_header.vp9().gof_idx = 0;
EXPECT_TRUE(map_.UpdatePacket(&packet_));
- EXPECT_EQ(0, packet_.video_header.codecHeader.VP9.temporal_idx);
- EXPECT_FALSE(packet_.video_header.codecHeader.VP9.temporal_up_switch);
- EXPECT_EQ(1U, packet_.video_header.codecHeader.VP9.num_ref_pics);
- EXPECT_EQ(4, packet_.video_header.codecHeader.VP9.pid_diff[0]);
+ EXPECT_EQ(0, packet_.video_header.vp9().temporal_idx);
+ EXPECT_FALSE(packet_.video_header.vp9().temporal_up_switch);
+ EXPECT_EQ(1U, packet_.video_header.vp9().num_ref_pics);
+ EXPECT_EQ(4, packet_.video_header.vp9().pid_diff[0]);
- packet_.video_header.codecHeader.VP9.gof_idx = 1;
+ packet_.video_header.vp9().gof_idx = 1;
EXPECT_TRUE(map_.UpdatePacket(&packet_));
- EXPECT_EQ(2, packet_.video_header.codecHeader.VP9.temporal_idx);
- EXPECT_TRUE(packet_.video_header.codecHeader.VP9.temporal_up_switch);
- EXPECT_EQ(1U, packet_.video_header.codecHeader.VP9.num_ref_pics);
- EXPECT_EQ(1, packet_.video_header.codecHeader.VP9.pid_diff[0]);
+ EXPECT_EQ(2, packet_.video_header.vp9().temporal_idx);
+ EXPECT_TRUE(packet_.video_header.vp9().temporal_up_switch);
+ EXPECT_EQ(1U, packet_.video_header.vp9().num_ref_pics);
+ EXPECT_EQ(1, packet_.video_header.vp9().pid_diff[0]);
- packet_.video_header.codecHeader.VP9.gof_idx = 2;
+ packet_.video_header.vp9().gof_idx = 2;
EXPECT_TRUE(map_.UpdatePacket(&packet_));
- EXPECT_EQ(1, packet_.video_header.codecHeader.VP9.temporal_idx);
- EXPECT_TRUE(packet_.video_header.codecHeader.VP9.temporal_up_switch);
- EXPECT_EQ(1U, packet_.video_header.codecHeader.VP9.num_ref_pics);
- EXPECT_EQ(2, packet_.video_header.codecHeader.VP9.pid_diff[0]);
+ EXPECT_EQ(1, packet_.video_header.vp9().temporal_idx);
+ EXPECT_TRUE(packet_.video_header.vp9().temporal_up_switch);
+ EXPECT_EQ(1U, packet_.video_header.vp9().num_ref_pics);
+ EXPECT_EQ(2, packet_.video_header.vp9().pid_diff[0]);
- packet_.video_header.codecHeader.VP9.gof_idx = 3;
+ packet_.video_header.vp9().gof_idx = 3;
EXPECT_TRUE(map_.UpdatePacket(&packet_));
- EXPECT_EQ(2, packet_.video_header.codecHeader.VP9.temporal_idx);
- EXPECT_TRUE(packet_.video_header.codecHeader.VP9.temporal_up_switch);
- EXPECT_EQ(1U, packet_.video_header.codecHeader.VP9.num_ref_pics);
- EXPECT_EQ(1, packet_.video_header.codecHeader.VP9.pid_diff[0]);
+ EXPECT_EQ(2, packet_.video_header.vp9().temporal_idx);
+ EXPECT_TRUE(packet_.video_header.vp9().temporal_up_switch);
+ EXPECT_EQ(1U, packet_.video_header.vp9().num_ref_pics);
+ EXPECT_EQ(1, packet_.video_header.vp9().pid_diff[0]);
}
class TestBasicJitterBuffer : public ::testing::TestWithParam<std::string>,
@@ -924,20 +924,20 @@
packet_->video_header.codec = kVideoCodecVP9;
packet_->is_first_packet_in_frame = true;
packet_->markerBit = true;
- packet_->video_header.codecHeader.VP9.flexible_mode = false;
- packet_->video_header.codecHeader.VP9.spatial_idx = 0;
- packet_->video_header.codecHeader.VP9.beginning_of_frame = true;
- packet_->video_header.codecHeader.VP9.end_of_frame = true;
- packet_->video_header.codecHeader.VP9.temporal_up_switch = false;
+ packet_->video_header.vp9().flexible_mode = false;
+ packet_->video_header.vp9().spatial_idx = 0;
+ packet_->video_header.vp9().beginning_of_frame = true;
+ packet_->video_header.vp9().end_of_frame = true;
+ packet_->video_header.vp9().temporal_up_switch = false;
packet_->seqNum = 65485;
packet_->timestamp = 1000;
packet_->frameType = kVideoFrameKey;
- packet_->video_header.codecHeader.VP9.picture_id = 5;
- packet_->video_header.codecHeader.VP9.tl0_pic_idx = 200;
- packet_->video_header.codecHeader.VP9.temporal_idx = 0;
- packet_->video_header.codecHeader.VP9.ss_data_available = true;
- packet_->video_header.codecHeader.VP9.gof.SetGofInfoVP9(
+ packet_->video_header.vp9().picture_id = 5;
+ packet_->video_header.vp9().tl0_pic_idx = 200;
+ packet_->video_header.vp9().temporal_idx = 0;
+ packet_->video_header.vp9().ss_data_available = true;
+ packet_->video_header.vp9().gof.SetGofInfoVP9(
kTemporalStructureMode3); // kTemporalStructureMode3: 0-2-1-2..
EXPECT_EQ(kCompleteSession, jitter_buffer_->InsertPacket(*packet_, &re));
@@ -945,10 +945,10 @@
packet_->seqNum = 65489;
packet_->timestamp = 13000;
packet_->frameType = kVideoFrameDelta;
- packet_->video_header.codecHeader.VP9.picture_id = 9;
- packet_->video_header.codecHeader.VP9.tl0_pic_idx = 201;
- packet_->video_header.codecHeader.VP9.temporal_idx = 0;
- packet_->video_header.codecHeader.VP9.ss_data_available = false;
+ packet_->video_header.vp9().picture_id = 9;
+ packet_->video_header.vp9().tl0_pic_idx = 201;
+ packet_->video_header.vp9().temporal_idx = 0;
+ packet_->video_header.vp9().ss_data_available = false;
EXPECT_EQ(kCompleteSession, jitter_buffer_->InsertPacket(*packet_, &re));
VCMEncodedFrame* frame_out = DecodeCompleteFrame();
@@ -977,26 +977,26 @@
packet_->video_header.codec = kVideoCodecVP9;
packet_->is_first_packet_in_frame = true;
packet_->markerBit = true;
- packet_->video_header.codecHeader.VP9.flexible_mode = false;
- packet_->video_header.codecHeader.VP9.spatial_idx = 0;
- packet_->video_header.codecHeader.VP9.beginning_of_frame = true;
- packet_->video_header.codecHeader.VP9.end_of_frame = true;
- packet_->video_header.codecHeader.VP9.tl0_pic_idx = 200;
+ packet_->video_header.vp9().flexible_mode = false;
+ packet_->video_header.vp9().spatial_idx = 0;
+ packet_->video_header.vp9().beginning_of_frame = true;
+ packet_->video_header.vp9().end_of_frame = true;
+ packet_->video_header.vp9().tl0_pic_idx = 200;
packet_->seqNum = 65486;
packet_->timestamp = 6000;
packet_->frameType = kVideoFrameDelta;
- packet_->video_header.codecHeader.VP9.picture_id = 6;
- packet_->video_header.codecHeader.VP9.temporal_idx = 2;
- packet_->video_header.codecHeader.VP9.temporal_up_switch = true;
+ packet_->video_header.vp9().picture_id = 6;
+ packet_->video_header.vp9().temporal_idx = 2;
+ packet_->video_header.vp9().temporal_up_switch = true;
EXPECT_EQ(kCompleteSession, jitter_buffer_->InsertPacket(*packet_, &re));
packet_->seqNum = 65487;
packet_->timestamp = 9000;
packet_->frameType = kVideoFrameDelta;
- packet_->video_header.codecHeader.VP9.picture_id = 7;
- packet_->video_header.codecHeader.VP9.temporal_idx = 1;
- packet_->video_header.codecHeader.VP9.temporal_up_switch = true;
+ packet_->video_header.vp9().picture_id = 7;
+ packet_->video_header.vp9().temporal_idx = 1;
+ packet_->video_header.vp9().temporal_up_switch = true;
EXPECT_EQ(kCompleteSession, jitter_buffer_->InsertPacket(*packet_, &re));
// Insert first frame with SS data.
@@ -1005,11 +1005,11 @@
packet_->frameType = kVideoFrameKey;
packet_->width = 352;
packet_->height = 288;
- packet_->video_header.codecHeader.VP9.picture_id = 5;
- packet_->video_header.codecHeader.VP9.temporal_idx = 0;
- packet_->video_header.codecHeader.VP9.temporal_up_switch = false;
- packet_->video_header.codecHeader.VP9.ss_data_available = true;
- packet_->video_header.codecHeader.VP9.gof.SetGofInfoVP9(
+ packet_->video_header.vp9().picture_id = 5;
+ packet_->video_header.vp9().temporal_idx = 0;
+ packet_->video_header.vp9().temporal_up_switch = false;
+ packet_->video_header.vp9().ss_data_available = true;
+ packet_->video_header.vp9().gof.SetGofInfoVP9(
kTemporalStructureMode3); // kTemporalStructureMode3: 0-2-1-2..
EXPECT_EQ(kCompleteSession, jitter_buffer_->InsertPacket(*packet_, &re));
@@ -1051,30 +1051,30 @@
bool re = false;
packet_->codec = kVideoCodecVP9;
packet_->video_header.codec = kVideoCodecVP9;
- packet_->video_header.codecHeader.VP9.flexible_mode = false;
- packet_->video_header.codecHeader.VP9.beginning_of_frame = true;
- packet_->video_header.codecHeader.VP9.end_of_frame = true;
- packet_->video_header.codecHeader.VP9.tl0_pic_idx = 200;
+ packet_->video_header.vp9().flexible_mode = false;
+ packet_->video_header.vp9().beginning_of_frame = true;
+ packet_->video_header.vp9().end_of_frame = true;
+ packet_->video_header.vp9().tl0_pic_idx = 200;
packet_->is_first_packet_in_frame = true;
packet_->markerBit = false;
packet_->seqNum = 65486;
packet_->timestamp = 6000;
packet_->frameType = kVideoFrameDelta;
- packet_->video_header.codecHeader.VP9.spatial_idx = 0;
- packet_->video_header.codecHeader.VP9.picture_id = 6;
- packet_->video_header.codecHeader.VP9.temporal_idx = 1;
- packet_->video_header.codecHeader.VP9.temporal_up_switch = true;
+ packet_->video_header.vp9().spatial_idx = 0;
+ packet_->video_header.vp9().picture_id = 6;
+ packet_->video_header.vp9().temporal_idx = 1;
+ packet_->video_header.vp9().temporal_up_switch = true;
EXPECT_EQ(kIncomplete, jitter_buffer_->InsertPacket(*packet_, &re));
packet_->is_first_packet_in_frame = false;
packet_->markerBit = true;
packet_->seqNum = 65487;
packet_->frameType = kVideoFrameDelta;
- packet_->video_header.codecHeader.VP9.spatial_idx = 1;
- packet_->video_header.codecHeader.VP9.picture_id = 6;
- packet_->video_header.codecHeader.VP9.temporal_idx = 1;
- packet_->video_header.codecHeader.VP9.temporal_up_switch = true;
+ packet_->video_header.vp9().spatial_idx = 1;
+ packet_->video_header.vp9().picture_id = 6;
+ packet_->video_header.vp9().temporal_idx = 1;
+ packet_->video_header.vp9().temporal_up_switch = true;
EXPECT_EQ(kCompleteSession, jitter_buffer_->InsertPacket(*packet_, &re));
packet_->is_first_packet_in_frame = false;
@@ -1082,10 +1082,10 @@
packet_->seqNum = 65485;
packet_->timestamp = 3000;
packet_->frameType = kVideoFrameKey;
- packet_->video_header.codecHeader.VP9.spatial_idx = 1;
- packet_->video_header.codecHeader.VP9.picture_id = 5;
- packet_->video_header.codecHeader.VP9.temporal_idx = 0;
- packet_->video_header.codecHeader.VP9.temporal_up_switch = false;
+ packet_->video_header.vp9().spatial_idx = 1;
+ packet_->video_header.vp9().picture_id = 5;
+ packet_->video_header.vp9().temporal_idx = 0;
+ packet_->video_header.vp9().temporal_up_switch = false;
EXPECT_EQ(kIncomplete, jitter_buffer_->InsertPacket(*packet_, &re));
// Insert first frame with SS data.
@@ -1095,12 +1095,12 @@
packet_->frameType = kVideoFrameKey;
packet_->width = 352;
packet_->height = 288;
- packet_->video_header.codecHeader.VP9.spatial_idx = 0;
- packet_->video_header.codecHeader.VP9.picture_id = 5;
- packet_->video_header.codecHeader.VP9.temporal_idx = 0;
- packet_->video_header.codecHeader.VP9.temporal_up_switch = false;
- packet_->video_header.codecHeader.VP9.ss_data_available = true;
- packet_->video_header.codecHeader.VP9.gof.SetGofInfoVP9(
+ packet_->video_header.vp9().spatial_idx = 0;
+ packet_->video_header.vp9().picture_id = 5;
+ packet_->video_header.vp9().temporal_idx = 0;
+ packet_->video_header.vp9().temporal_up_switch = false;
+ packet_->video_header.vp9().ss_data_available = true;
+ packet_->video_header.vp9().gof.SetGofInfoVP9(
kTemporalStructureMode2); // kTemporalStructureMode3: 0-1-0-1..
EXPECT_EQ(kCompleteSession, jitter_buffer_->InsertPacket(*packet_, &re));
@@ -1160,11 +1160,11 @@
packet_->markerBit = true;
packet_->codec = kVideoCodecH264;
packet_->video_header.codec = kVideoCodecH264;
- packet_->video_header.codecHeader.H264.nalu_type = H264::NaluType::kIdr;
- packet_->video_header.codecHeader.H264.nalus[0].type = H264::NaluType::kIdr;
- packet_->video_header.codecHeader.H264.nalus[0].sps_id = -1;
- packet_->video_header.codecHeader.H264.nalus[0].pps_id = 0;
- packet_->video_header.codecHeader.H264.nalus_length = 1;
+ packet_->video_header.h264().nalu_type = H264::NaluType::kIdr;
+ packet_->video_header.h264().nalus[0].type = H264::NaluType::kIdr;
+ packet_->video_header.h264().nalus[0].sps_id = -1;
+ packet_->video_header.h264().nalus[0].pps_id = 0;
+ packet_->video_header.h264().nalus_length = 1;
bool retransmitted = false;
EXPECT_EQ(kCompleteSession,
jitter_buffer_->InsertPacket(*packet_, &retransmitted));
@@ -1180,14 +1180,14 @@
packet_->markerBit = false;
packet_->codec = kVideoCodecH264;
packet_->video_header.codec = kVideoCodecH264;
- packet_->video_header.codecHeader.H264.nalu_type = H264::NaluType::kStapA;
- packet_->video_header.codecHeader.H264.nalus[0].type = H264::NaluType::kSps;
- packet_->video_header.codecHeader.H264.nalus[0].sps_id = 0;
- packet_->video_header.codecHeader.H264.nalus[0].pps_id = -1;
- packet_->video_header.codecHeader.H264.nalus[1].type = H264::NaluType::kPps;
- packet_->video_header.codecHeader.H264.nalus[1].sps_id = 0;
- packet_->video_header.codecHeader.H264.nalus[1].pps_id = 0;
- packet_->video_header.codecHeader.H264.nalus_length = 2;
+ packet_->video_header.h264().nalu_type = H264::NaluType::kStapA;
+ packet_->video_header.h264().nalus[0].type = H264::NaluType::kSps;
+ packet_->video_header.h264().nalus[0].sps_id = 0;
+ packet_->video_header.h264().nalus[0].pps_id = -1;
+ packet_->video_header.h264().nalus[1].type = H264::NaluType::kPps;
+ packet_->video_header.h264().nalus[1].sps_id = 0;
+ packet_->video_header.h264().nalus[1].pps_id = 0;
+ packet_->video_header.h264().nalus_length = 2;
// Not complete since the marker bit hasn't been received.
EXPECT_EQ(kIncomplete,
jitter_buffer_->InsertPacket(*packet_, &retransmitted));
@@ -1199,11 +1199,11 @@
packet_->markerBit = true;
packet_->codec = kVideoCodecH264;
packet_->video_header.codec = kVideoCodecH264;
- packet_->video_header.codecHeader.H264.nalu_type = H264::NaluType::kIdr;
- packet_->video_header.codecHeader.H264.nalus[0].type = H264::NaluType::kIdr;
- packet_->video_header.codecHeader.H264.nalus[0].sps_id = -1;
- packet_->video_header.codecHeader.H264.nalus[0].pps_id = 0;
- packet_->video_header.codecHeader.H264.nalus_length = 1;
+ packet_->video_header.h264().nalu_type = H264::NaluType::kIdr;
+ packet_->video_header.h264().nalus[0].type = H264::NaluType::kIdr;
+ packet_->video_header.h264().nalus[0].sps_id = -1;
+ packet_->video_header.h264().nalus[0].pps_id = 0;
+ packet_->video_header.h264().nalus_length = 1;
// Complete and decodable since the pps and sps are received in the first
// packet of this frame.
EXPECT_EQ(kCompleteSession,
@@ -1221,11 +1221,11 @@
packet_->markerBit = true;
packet_->codec = kVideoCodecH264;
packet_->video_header.codec = kVideoCodecH264;
- packet_->video_header.codecHeader.H264.nalu_type = H264::NaluType::kSlice;
- packet_->video_header.codecHeader.H264.nalus[0].type = H264::NaluType::kSlice;
- packet_->video_header.codecHeader.H264.nalus[0].sps_id = -1;
- packet_->video_header.codecHeader.H264.nalus[0].pps_id = 0;
- packet_->video_header.codecHeader.H264.nalus_length = 1;
+ packet_->video_header.h264().nalu_type = H264::NaluType::kSlice;
+ packet_->video_header.h264().nalus[0].type = H264::NaluType::kSlice;
+ packet_->video_header.h264().nalus[0].sps_id = -1;
+ packet_->video_header.h264().nalus[0].pps_id = 0;
+ packet_->video_header.h264().nalus_length = 1;
// Complete and decodable since sps, pps and key frame has been received.
EXPECT_EQ(kCompleteSession,
jitter_buffer_->InsertPacket(*packet_, &retransmitted));