diff --git a/modules/rtp_rtcp/source/rtp_sender_video.cc b/modules/rtp_rtcp/source/rtp_sender_video.cc index 26512c440b..fe7b724b04 100644 --- a/modules/rtp_rtcp/source/rtp_sender_video.cc +++ b/modules/rtp_rtcp/source/rtp_sender_video.cc @@ -403,11 +403,8 @@ void RTPSenderVideo::AddRtpHeaderExtensions( } } - if (!packet->SetExtension( - generic_descriptor)) { - packet->SetExtension( - generic_descriptor); - } + packet->SetExtension( + generic_descriptor); } } } @@ -502,23 +499,12 @@ bool RTPSenderVideo::SendVideo( limits.last_packet_reduction_len = last_packet->headers_size() - middle_packet->headers_size(); - bool has_generic_descriptor_00 = - first_packet->HasExtension(); - bool has_generic_descriptor_01 = - first_packet->HasExtension(); - bool has_dependency_descriptor = + bool has_generic_descriptor = + first_packet->HasExtension() || first_packet->HasExtension(); - if (has_generic_descriptor_00 && has_generic_descriptor_01) { - RTC_LOG(LS_WARNING) << "Two versions of GFD extension used."; - return false; - } - // Minimization of the vp8 descriptor may erase temporal_id, so save it. const uint8_t temporal_id = GetTemporalId(video_header); - bool has_generic_descriptor = has_generic_descriptor_00 || - has_generic_descriptor_01 || - has_dependency_descriptor; if (has_generic_descriptor) { MinimizeDescriptor(&video_header); } diff --git a/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc b/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc index 5be9c9ed0d..25f1b80551 100644 --- a/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc +++ b/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc @@ -54,8 +54,7 @@ using ::testing::WithArgs; enum : int { // The first valid value is 1. kAbsoluteSendTimeExtensionId = 1, kFrameMarkingExtensionId, - kGenericDescriptorId00, - kGenericDescriptorId01, + kGenericDescriptorId, kDependencyDescriptorId, kTransmissionTimeOffsetExtensionId, kTransportSequenceNumberExtensionId, @@ -87,9 +86,7 @@ class LoopbackTransportTest : public webrtc::Transport { receivers_extensions_.Register( kVideoTimingExtensionId); receivers_extensions_.Register( - kGenericDescriptorId00); - receivers_extensions_.Register( - kGenericDescriptorId01); + kGenericDescriptorId); receivers_extensions_.Register( kDependencyDescriptorId); receivers_extensions_.Register( @@ -185,8 +182,6 @@ class RtpSenderVideoTest : public ::testing::TestWithParam { rtp_module_->SetStartTimestamp(0); } - void PopulateGenericFrameDescriptor(int version); - void UsesMinimalVp8DescriptorWhenGenericFrameDescriptorExtensionIsUsed( int version); @@ -727,16 +722,11 @@ TEST_P(RtpSenderVideoTest, .HasExtension()); } -void RtpSenderVideoTest::PopulateGenericFrameDescriptor(int version) { - const absl::string_view ext_uri = - (version == 0) ? RtpGenericFrameDescriptorExtension00::kUri - : RtpGenericFrameDescriptorExtension01::kUri; - const int ext_id = - (version == 0) ? kGenericDescriptorId00 : kGenericDescriptorId01; - +TEST_P(RtpSenderVideoTest, PopulateGenericFrameDescriptor) { const int64_t kFrameId = 100000; uint8_t kFrame[100]; - rtp_module_->RegisterRtpHeaderExtension(ext_uri, ext_id); + rtp_module_->RegisterRtpHeaderExtension( + RtpGenericFrameDescriptorExtension00::kUri, kGenericDescriptorId); RTPVideoHeader hdr; RTPVideoHeader::GenericDescriptorInfo& generic = hdr.generic.emplace(); @@ -751,29 +741,15 @@ void RtpSenderVideoTest::PopulateGenericFrameDescriptor(int version) { RtpGenericFrameDescriptor descriptor_wire; EXPECT_EQ(1, transport_.packets_sent()); - if (version == 0) { - ASSERT_TRUE(transport_.last_sent_packet() - .GetExtension( - &descriptor_wire)); - } else { - ASSERT_TRUE(transport_.last_sent_packet() - .GetExtension( - &descriptor_wire)); - } + ASSERT_TRUE(transport_.last_sent_packet() + .GetExtension( + &descriptor_wire)); EXPECT_EQ(static_cast(generic.frame_id), descriptor_wire.FrameId()); EXPECT_EQ(generic.temporal_index, descriptor_wire.TemporalLayer()); EXPECT_THAT(descriptor_wire.FrameDependenciesDiffs(), ElementsAre(1, 500)); EXPECT_EQ(descriptor_wire.SpatialLayersBitmask(), 0b0000'0100); } -TEST_P(RtpSenderVideoTest, PopulateGenericFrameDescriptor00) { - PopulateGenericFrameDescriptor(0); -} - -TEST_P(RtpSenderVideoTest, PopulateGenericFrameDescriptor01) { - PopulateGenericFrameDescriptor(1); -} - void RtpSenderVideoTest:: UsesMinimalVp8DescriptorWhenGenericFrameDescriptorExtensionIsUsed( int version) { @@ -781,13 +757,8 @@ void RtpSenderVideoTest:: const size_t kFrameSize = 100; uint8_t kFrame[kFrameSize]; - if (version == 0) { - rtp_module_->RegisterRtpHeaderExtension( - RtpGenericFrameDescriptorExtension00::kUri, kGenericDescriptorId00); - } else { - rtp_module_->RegisterRtpHeaderExtension( - RtpGenericFrameDescriptorExtension01::kUri, kGenericDescriptorId01); - } + rtp_module_->RegisterRtpHeaderExtension( + RtpGenericFrameDescriptorExtension00::kUri, kGenericDescriptorId); RTPVideoHeader hdr; hdr.codec = kVideoCodecVP8;