From 7d43801a078bd81a5def5cb823b3730cfdaeba9f Mon Sep 17 00:00:00 2001 From: Danil Chapovalov Date: Thu, 9 Jan 2020 14:50:45 +0100 Subject: [PATCH] Delete RtpGenericDepacketizer as no longer used Bug: webrtc:11152 Change-Id: I275765e1aa013d8188d43e2911e8ab022563d1d8 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165394 Reviewed-by: Markus Handell Reviewed-by: Sam Zackrisson Commit-Queue: Danil Chapovalov Cr-Commit-Position: refs/heads/master@{#30234} --- .../source/rtp_format_video_generic.cc | 46 ------------------- .../source/rtp_format_video_generic.h | 16 ------- .../rtp_format_video_generic_unittest.cc | 37 --------------- test/fuzzers/BUILD.gn | 9 ---- test/fuzzers/generic_depacketizer_fuzzer.cc | 22 --------- 5 files changed, 130 deletions(-) delete mode 100644 test/fuzzers/generic_depacketizer_fuzzer.cc diff --git a/modules/rtp_rtcp/source/rtp_format_video_generic.cc b/modules/rtp_rtcp/source/rtp_format_video_generic.cc index 3c9b1622bc..cf2bf19820 100644 --- a/modules/rtp_rtcp/source/rtp_format_video_generic.cc +++ b/modules/rtp_rtcp/source/rtp_format_video_generic.cc @@ -97,50 +97,4 @@ void RtpPacketizerGeneric::BuildHeader(const RTPVideoHeader& rtp_video_header) { header_size_ += kExtendedHeaderLength; } } - -RtpDepacketizerGeneric::RtpDepacketizerGeneric(bool generic_header_enabled) - : generic_header_enabled_(generic_header_enabled) {} - -RtpDepacketizerGeneric::~RtpDepacketizerGeneric() = default; - -bool RtpDepacketizerGeneric::Parse(ParsedPayload* parsed_payload, - const uint8_t* payload_data, - size_t payload_data_length) { - assert(parsed_payload != NULL); - if (payload_data_length == 0) { - RTC_LOG(LS_WARNING) << "Empty payload."; - return false; - } - - if (generic_header_enabled_) { - uint8_t generic_header = *payload_data++; - --payload_data_length; - - parsed_payload->video_header().frame_type = - ((generic_header & RtpFormatVideoGeneric::kKeyFrameBit) != 0) - ? VideoFrameType::kVideoFrameKey - : VideoFrameType::kVideoFrameDelta; - parsed_payload->video_header().is_first_packet_in_frame = - (generic_header & RtpFormatVideoGeneric::kFirstPacketBit) != 0; - parsed_payload->video_header().codec = kVideoCodecGeneric; - parsed_payload->video_header().width = 0; - parsed_payload->video_header().height = 0; - - if (generic_header & RtpFormatVideoGeneric::kExtendedHeaderBit) { - if (payload_data_length < kExtendedHeaderLength) { - RTC_LOG(LS_WARNING) << "Too short payload for generic header."; - return false; - } - parsed_payload->video_header().generic.emplace(); - parsed_payload->video_header().generic->frame_id = - ((payload_data[0] & 0x7F) << 8) | payload_data[1]; - payload_data += kExtendedHeaderLength; - payload_data_length -= kExtendedHeaderLength; - } - } - - parsed_payload->payload = payload_data; - parsed_payload->payload_length = payload_data_length; - return true; -} } // namespace webrtc diff --git a/modules/rtp_rtcp/source/rtp_format_video_generic.h b/modules/rtp_rtcp/source/rtp_format_video_generic.h index e091c890ff..f388ca22d1 100644 --- a/modules/rtp_rtcp/source/rtp_format_video_generic.h +++ b/modules/rtp_rtcp/source/rtp_format_video_generic.h @@ -67,21 +67,5 @@ class RtpPacketizerGeneric : public RtpPacketizer { RTC_DISALLOW_COPY_AND_ASSIGN(RtpPacketizerGeneric); }; - -// Depacketizer for generic codec. -class RtpDepacketizerGeneric : public RtpDepacketizer { - public: - // Parses the generic payload header if |generic_header_enabled| is true, - // returns raw payload otherwise. - explicit RtpDepacketizerGeneric(bool generic_header_enabled); - ~RtpDepacketizerGeneric() override; - - bool Parse(ParsedPayload* parsed_payload, - const uint8_t* payload_data, - size_t payload_data_length) override; - - private: - bool generic_header_enabled_; -}; } // namespace webrtc #endif // MODULES_RTP_RTCP_SOURCE_RTP_FORMAT_VIDEO_GENERIC_H_ diff --git a/modules/rtp_rtcp/source/rtp_format_video_generic_unittest.cc b/modules/rtp_rtcp/source/rtp_format_video_generic_unittest.cc index a1a2d47762..a13b53154d 100644 --- a/modules/rtp_rtcp/source/rtp_format_video_generic_unittest.cc +++ b/modules/rtp_rtcp/source/rtp_format_video_generic_unittest.cc @@ -165,42 +165,5 @@ TEST(RtpPacketizerVideoGeneric, DoesNotWriteHeaderForRawPayload) { EXPECT_THAT(payload, ElementsAreArray(kPayload)); } -TEST(RtpDepacketizerVideoGeneric, NonExtendedHeaderNoFrameId) { - const size_t kPayloadLen = 1; - uint8_t payload[kPayloadLen] = {0x01}; - - RtpDepacketizerGeneric depacketizer(/*generic_header_enabled=*/true); - RtpDepacketizer::ParsedPayload parsed_payload; - depacketizer.Parse(&parsed_payload, payload, kPayloadLen); - - EXPECT_FALSE(parsed_payload.video_header().generic); -} - -TEST(RtpDepacketizerVideoGeneric, ExtendedHeaderParsesFrameId) { - const size_t kPayloadLen = 3; - uint8_t payload[kPayloadLen] = {0x05, 0x13, 0x37}; - - RtpDepacketizerGeneric depacketizer(/*generic_header_enabled=*/true); - RtpDepacketizer::ParsedPayload parsed_payload; - depacketizer.Parse(&parsed_payload, payload, kPayloadLen); - - ASSERT_TRUE(parsed_payload.video_header().generic); - EXPECT_EQ(0x1337, parsed_payload.video_header().generic->frame_id); -} - -TEST(RtpDepacketizerVideoGeneric, DoesNotParseHeaderForRawPayload) { - const uint8_t kPayload[] = {0x05, 0x25, 0x52}; - const size_t kPayloadLen = sizeof(kPayload); - - RtpDepacketizerGeneric depacketizer(/*generic_header_enabled=*/false); - RtpDepacketizer::ParsedPayload parsed_payload; - depacketizer.Parse(&parsed_payload, kPayload, kPayloadLen); - - EXPECT_FALSE(parsed_payload.video_header().generic); - EXPECT_THAT(rtc::MakeArrayView(parsed_payload.payload, - parsed_payload.payload_length), - ElementsAreArray(kPayload)); -} - } // namespace } // namespace webrtc diff --git a/test/fuzzers/BUILD.gn b/test/fuzzers/BUILD.gn index 52bc4a7fa8..f07750f653 100644 --- a/test/fuzzers/BUILD.gn +++ b/test/fuzzers/BUILD.gn @@ -63,15 +63,6 @@ webrtc_fuzzer_test("h264_depacketizer_fuzzer") { ] } -webrtc_fuzzer_test("generic_depacketizer_fuzzer") { - sources = [ - "generic_depacketizer_fuzzer.cc", - ] - deps = [ - "../../modules/rtp_rtcp", - ] -} - webrtc_fuzzer_test("vp8_depacketizer_fuzzer") { sources = [ "vp8_depacketizer_fuzzer.cc", diff --git a/test/fuzzers/generic_depacketizer_fuzzer.cc b/test/fuzzers/generic_depacketizer_fuzzer.cc deleted file mode 100644 index 6b98b411f4..0000000000 --- a/test/fuzzers/generic_depacketizer_fuzzer.cc +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2019 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#include "modules/rtp_rtcp/source/rtp_format.h" -#include "modules/rtp_rtcp/source/rtp_format_video_generic.h" - -namespace webrtc { - -void FuzzOneInput(const uint8_t* data, size_t size) { - RtpDepacketizerGeneric depacketizer(/*generic_header_enabled=*/true); - RtpDepacketizer::ParsedPayload parsed_payload; - depacketizer.Parse(&parsed_payload, data, size); -} - -} // namespace webrtc