Index: webrtc/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc b/webrtc/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc |
index e84d5f959b70b442557f0c8444c377c987e6c4ba..6729be419c9770121bfae78c0de51a3c7fdac24c 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc |
@@ -531,42 +531,21 @@ |
} |
TEST_F(RtpDepacketizerH264Test, TestStapAKey) { |
- // clang-format off |
- const NaluInfo kExpectedNalus[] = { {H264::kSps, 0, -1}, |
- {H264::kPps, 1, 2}, |
- {H264::kIdr, -1, 0} }; |
- uint8_t packet[] = {kStapA, // F=0, NRI=0, Type=24. |
- // Length, nal header, payload. |
- 0, 0x18, kExpectedNalus[0].type, |
- 0x7A, 0x00, 0x1F, 0xBC, 0xD9, 0x40, 0x50, 0x05, 0xBA, |
- 0x10, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x00, 0x00, 0x03, |
- 0x2A, 0xE0, 0xF1, 0x83, 0x25, |
- 0, 0xD, kExpectedNalus[1].type, |
- 0x69, 0xFC, 0x0, 0x0, 0x3, 0x0, 0x7, 0xFF, 0xFF, 0xFF, |
- 0xF6, 0x40, |
- 0, 0xB, kExpectedNalus[2].type, |
- 0x85, 0xB8, 0x0, 0x4, 0x0, 0x0, 0x13, 0x93, 0x12, 0x0}; |
- // clang-format on |
- |
- RtpDepacketizer::ParsedPayload payload; |
+ uint8_t packet[16] = {kStapA, // F=0, NRI=0, Type=24. |
+ // Length, nal header, payload. |
+ 0, 0x02, kSps, 0xFF, |
+ 0, 0x03, kPps, 0xFF, 0x00, |
+ 0, 0x04, kIdr, 0xFF, 0x00, 0x11}; |
+ RtpDepacketizer::ParsedPayload payload; |
+ |
ASSERT_TRUE(depacketizer_->Parse(&payload, packet, sizeof(packet))); |
ExpectPacket(&payload, packet, sizeof(packet)); |
EXPECT_EQ(kVideoFrameKey, payload.frame_type); |
EXPECT_EQ(kRtpVideoH264, payload.type.Video.codec); |
EXPECT_TRUE(payload.type.Video.isFirstPacket); |
- const RTPVideoHeaderH264& h264 = payload.type.Video.codecHeader.H264; |
- EXPECT_EQ(kH264StapA, h264.packetization_type); |
+ EXPECT_EQ(kH264StapA, payload.type.Video.codecHeader.H264.packetization_type); |
// NALU type for aggregated packets is the type of the first packet only. |
- EXPECT_EQ(kSps, h264.nalu_type); |
- ASSERT_EQ(3u, h264.nalus_length); |
- for (size_t i = 0; i < h264.nalus_length; ++i) { |
- EXPECT_EQ(kExpectedNalus[i].type, h264.nalus[i].type) |
- << "Failed parsing nalu " << i; |
- EXPECT_EQ(kExpectedNalus[i].sps_id, h264.nalus[i].sps_id) |
- << "Failed parsing nalu " << i; |
- EXPECT_EQ(kExpectedNalus[i].pps_id, h264.nalus[i].pps_id) |
- << "Failed parsing nalu " << i; |
- } |
+ EXPECT_EQ(kSps, payload.type.Video.codecHeader.H264.nalu_type); |
} |
TEST_F(RtpDepacketizerH264Test, TestStapANaluSpsWithResolution) { |
@@ -718,29 +697,26 @@ |
} |
TEST_F(RtpDepacketizerH264Test, TestFuA) { |
- // clang-format off |
- uint8_t packet1[] = { |
+ uint8_t packet1[3] = { |
kFuA, // F=0, NRI=0, Type=28. |
kSBit | kIdr, // FU header. |
- 0x85, 0xB8, 0x0, 0x4, 0x0, 0x0, 0x13, 0x93, 0x12, 0x0 // Payload. |
+ 0x01 // Payload. |
}; |
- // clang-format on |
- const uint8_t kExpected1[] = {kIdr, 0x85, 0xB8, 0x0, 0x4, 0x0, |
- 0x0, 0x13, 0x93, 0x12, 0x0}; |
- |
- uint8_t packet2[] = { |
+ const uint8_t kExpected1[2] = {kIdr, 0x01}; |
+ |
+ uint8_t packet2[3] = { |
kFuA, // F=0, NRI=0, Type=28. |
kIdr, // FU header. |
0x02 // Payload. |
}; |
- const uint8_t kExpected2[] = {0x02}; |
- |
- uint8_t packet3[] = { |
+ const uint8_t kExpected2[1] = {0x02}; |
+ |
+ uint8_t packet3[3] = { |
kFuA, // F=0, NRI=0, Type=28. |
kEBit | kIdr, // FU header. |
0x03 // Payload. |
}; |
- const uint8_t kExpected3[] = {0x03}; |
+ const uint8_t kExpected3[1] = {0x03}; |
RtpDepacketizer::ParsedPayload payload; |
@@ -751,13 +727,8 @@ |
EXPECT_EQ(kVideoFrameKey, payload.frame_type); |
EXPECT_EQ(kRtpVideoH264, payload.type.Video.codec); |
EXPECT_TRUE(payload.type.Video.isFirstPacket); |
- const RTPVideoHeaderH264& h264 = payload.type.Video.codecHeader.H264; |
- EXPECT_EQ(kH264FuA, h264.packetization_type); |
- EXPECT_EQ(kIdr, h264.nalu_type); |
- ASSERT_EQ(1u, h264.nalus_length); |
- EXPECT_EQ(static_cast<H264::NaluType>(kIdr), h264.nalus[0].type); |
- EXPECT_EQ(-1, h264.nalus[0].sps_id); |
- EXPECT_EQ(0, h264.nalus[0].pps_id); |
+ EXPECT_EQ(kH264FuA, payload.type.Video.codecHeader.H264.packetization_type); |
+ EXPECT_EQ(kIdr, payload.type.Video.codecHeader.H264.nalu_type); |
// Following packets will be 2 bytes shorter since they will only be appended |
// onto the first packet. |
@@ -767,15 +738,8 @@ |
EXPECT_EQ(kVideoFrameKey, payload.frame_type); |
EXPECT_EQ(kRtpVideoH264, payload.type.Video.codec); |
EXPECT_FALSE(payload.type.Video.isFirstPacket); |
- { |
- const RTPVideoHeaderH264& h264 = payload.type.Video.codecHeader.H264; |
- EXPECT_EQ(kH264FuA, h264.packetization_type); |
- EXPECT_EQ(kIdr, h264.nalu_type); |
- ASSERT_EQ(1u, h264.nalus_length); |
- EXPECT_EQ(static_cast<H264::NaluType>(kIdr), h264.nalus[0].type); |
- EXPECT_EQ(-1, h264.nalus[0].sps_id); |
- EXPECT_EQ(-1, h264.nalus[0].pps_id); |
- } |
+ EXPECT_EQ(kH264FuA, payload.type.Video.codecHeader.H264.packetization_type); |
+ EXPECT_EQ(kIdr, payload.type.Video.codecHeader.H264.nalu_type); |
payload = RtpDepacketizer::ParsedPayload(); |
ASSERT_TRUE(depacketizer_->Parse(&payload, packet3, sizeof(packet3))); |
@@ -783,15 +747,8 @@ |
EXPECT_EQ(kVideoFrameKey, payload.frame_type); |
EXPECT_EQ(kRtpVideoH264, payload.type.Video.codec); |
EXPECT_FALSE(payload.type.Video.isFirstPacket); |
- { |
- const RTPVideoHeaderH264& h264 = payload.type.Video.codecHeader.H264; |
- EXPECT_EQ(kH264FuA, h264.packetization_type); |
- EXPECT_EQ(kIdr, h264.nalu_type); |
- ASSERT_EQ(1u, h264.nalus_length); |
- EXPECT_EQ(static_cast<H264::NaluType>(kIdr), h264.nalus[0].type); |
- EXPECT_EQ(-1, h264.nalus[0].sps_id); |
- EXPECT_EQ(-1, h264.nalus[0].pps_id); |
- } |
+ EXPECT_EQ(kH264FuA, payload.type.Video.codecHeader.H264.packetization_type); |
+ EXPECT_EQ(kIdr, payload.type.Video.codecHeader.H264.nalu_type); |
} |
TEST_F(RtpDepacketizerH264Test, TestEmptyPayload) { |