diff --git a/video/rtp_video_stream_receiver_unittest.cc b/video/rtp_video_stream_receiver_unittest.cc index 7e7dd7d904..ad3bc607f4 100644 --- a/video/rtp_video_stream_receiver_unittest.cc +++ b/video/rtp_video_stream_receiver_unittest.cc @@ -138,12 +138,14 @@ class MockFrameTransformer : public FrameTransformerInterface { constexpr uint32_t kSsrc = 111; constexpr uint16_t kSequenceNumber = 222; -std::unique_ptr CreateRtpPacketReceived( - uint32_t ssrc = kSsrc, - uint16_t sequence_number = kSequenceNumber) { +constexpr int kPayloadType = 100; +constexpr int kRedPayloadType = 125; + +std::unique_ptr CreateRtpPacketReceived() { auto packet = std::make_unique(); - packet->SetSsrc(ssrc); - packet->SetSequenceNumber(sequence_number); + packet->SetSsrc(kSsrc); + packet->SetSequenceNumber(kSequenceNumber); + packet->SetPayloadType(kPayloadType); return packet; } @@ -168,6 +170,11 @@ class RtpVideoStreamReceiverTest : public ::testing::Test { rtp_receive_statistics_.get(), nullptr, process_thread_.get(), &mock_nack_sender_, &mock_key_frame_request_sender_, &mock_on_complete_frame_callback_, nullptr, nullptr); + VideoCodec codec; + codec.plType = kPayloadType; + codec.codecType = kVideoCodecGeneric; + rtp_video_stream_receiver_->AddReceiveCodec(codec, {}, + /*raw_payload=*/false); } RTPVideoHeader GetDefaultH264VideoHeader() { @@ -218,6 +225,7 @@ class RtpVideoStreamReceiverTest : public ::testing::Test { VideoReceiveStream::Config config(nullptr); config.rtp.remote_ssrc = 1111; config.rtp.local_ssrc = 2222; + config.rtp.red_payload_type = kRedPayloadType; return config; } @@ -235,7 +243,7 @@ class RtpVideoStreamReceiverTest : public ::testing::Test { TEST_F(RtpVideoStreamReceiverTest, CacheColorSpaceFromLastPacketOfKeyframe) { // Test that color space is cached from the last packet of a key frame and // that it's not reset by padding packets without color space. - constexpr int kPayloadType = 99; + constexpr int kVp9PayloadType = 99; const ColorSpace kColorSpace( ColorSpace::PrimaryID::kFILM, ColorSpace::TransferID::kBT2020_12, ColorSpace::MatrixID::kBT2020_NCL, ColorSpace::RangeID::kFull); @@ -272,7 +280,7 @@ TEST_F(RtpVideoStreamReceiverTest, CacheColorSpaceFromLastPacketOfKeyframe) { RtpPacketToSend packet_to_send(&extension_map); packet_to_send.SetSequenceNumber(sequence_number_++); packet_to_send.SetSsrc(kSsrc); - packet_to_send.SetPayloadType(kPayloadType); + packet_to_send.SetPayloadType(kVp9PayloadType); bool include_color_space = (rtp_packetizer_->NumPackets() == 1u && video_frame_type_ == VideoFrameType::kVideoFrameKey); @@ -297,7 +305,7 @@ TEST_F(RtpVideoStreamReceiverTest, CacheColorSpaceFromLastPacketOfKeyframe) { // Prepare the receiver for VP9. VideoCodec codec; - codec.plType = kPayloadType; + codec.plType = kVp9PayloadType; codec.codecType = kVideoCodecVP9; std::map codec_params; rtp_video_stream_receiver_->AddReceiveCodec(codec, codec_params, @@ -352,6 +360,7 @@ TEST_F(RtpVideoStreamReceiverTest, GenericKeyFrame) { RtpPacketReceived rtp_packet; RTPVideoHeader video_header; rtc::CopyOnWriteBuffer data({1, 2, 3, 4}); + rtp_packet.SetPayloadType(kPayloadType); rtp_packet.SetSequenceNumber(1); video_header.is_first_packet_in_frame = true; video_header.is_last_packet_in_frame = true; @@ -371,6 +380,7 @@ TEST_F(RtpVideoStreamReceiverTest, PacketInfoIsPropagatedIntoVideoFrames) { RtpHeaderExtensionMap extension_map; extension_map.Register(kId0); RtpPacketReceived rtp_packet(&extension_map); + rtp_packet.SetPayloadType(kPayloadType); RTPVideoHeader video_header; rtc::CopyOnWriteBuffer data({1, 2, 3, 4}); rtp_packet.SetSequenceNumber(1); @@ -404,6 +414,7 @@ TEST_F(RtpVideoStreamReceiverTest, RtpHeaderExtensionMap extension_map; extension_map.Register(kId0); RtpPacketReceived rtp_packet(&extension_map); + rtp_packet.SetPayloadType(kPayloadType); RTPVideoHeader video_header; rtc::CopyOnWriteBuffer data({1, 2, 3, 4}); @@ -428,6 +439,7 @@ TEST_F(RtpVideoStreamReceiverTest, // Rtp packet without absolute capture time. rtp_packet = RtpPacketReceived(&extension_map); + rtp_packet.SetPayloadType(kPayloadType); rtp_packet.SetSequenceNumber(++sequence_number); rtp_packet.SetTimestamp(++rtp_timestamp); rtp_packet.SetSsrc(kSsrc); @@ -444,10 +456,6 @@ TEST_F(RtpVideoStreamReceiverTest, } TEST_F(RtpVideoStreamReceiverTest, NoInfiniteRecursionOnEncapsulatedRedPacket) { - const uint8_t kRedPayloadType = 125; - VideoCodec codec; - codec.plType = kRedPayloadType; - rtp_video_stream_receiver_->AddReceiveCodec(codec, {}, /*raw_payload=*/false); const std::vector data({ 0x80, // RTP version. kRedPayloadType, // Payload type. @@ -487,6 +495,7 @@ TEST_F(RtpVideoStreamReceiverTest, TEST_F(RtpVideoStreamReceiverTest, GenericKeyFrameBitstreamError) { RtpPacketReceived rtp_packet; + rtp_packet.SetPayloadType(kPayloadType); RTPVideoHeader video_header; rtc::CopyOnWriteBuffer data({1, 2, 3, 4}); rtp_packet.SetSequenceNumber(1); @@ -526,6 +535,7 @@ TEST_P(RtpVideoStreamReceiverTestH264, MAYBE_InBandSpsPps) { RTPVideoHeader sps_video_header = GetDefaultH264VideoHeader(); AddSps(&sps_video_header, 0, &sps_data); rtp_packet.SetSequenceNumber(0); + rtp_packet.SetPayloadType(kPayloadType); sps_video_header.is_first_packet_in_frame = true; sps_video_header.frame_type = VideoFrameType::kEmptyFrame; mock_on_complete_frame_callback_.AppendExpectedBitstream( @@ -612,7 +622,7 @@ TEST_F(RtpVideoStreamReceiverTest, PaddingInMediaStream) { RtpPacketReceived rtp_packet; RTPVideoHeader video_header = GetDefaultH264VideoHeader(); rtc::CopyOnWriteBuffer data({1, 2, 3}); - rtp_packet.SetPayloadType(99); + rtp_packet.SetPayloadType(kPayloadType); rtp_packet.SetSequenceNumber(2); video_header.is_first_packet_in_frame = true; video_header.is_last_packet_in_frame = true; @@ -647,6 +657,7 @@ TEST_F(RtpVideoStreamReceiverTest, PaddingInMediaStream) { TEST_F(RtpVideoStreamReceiverTest, RequestKeyframeIfFirstFrameIsDelta) { RtpPacketReceived rtp_packet; + rtp_packet.SetPayloadType(kPayloadType); RTPVideoHeader video_header; rtc::CopyOnWriteBuffer data({1, 2, 3, 4}); rtp_packet.SetSequenceNumber(1); @@ -663,6 +674,7 @@ TEST_F(RtpVideoStreamReceiverTest, RequestKeyframeWhenPacketBufferGetsFull) { constexpr int kPacketBufferMaxSize = 2048; RtpPacketReceived rtp_packet; + rtp_packet.SetPayloadType(kPayloadType); RTPVideoHeader video_header; rtc::CopyOnWriteBuffer data({1, 2, 3, 4}); video_header.is_first_packet_in_frame = true; @@ -808,17 +820,14 @@ TEST_P(RtpVideoStreamReceiverGenericDescriptorTest, const int version = GetParam(); const std::vector data = {0, 1, 2, 3, 4}; - const int kPayloadType = 123; const int kSpatialIndex = 1; - VideoCodec codec; - codec.plType = kPayloadType; - rtp_video_stream_receiver_->AddReceiveCodec(codec, {}, /*raw_payload=*/false); rtp_video_stream_receiver_->StartReceive(); RtpHeaderExtensionMap extension_map; RegisterRtpGenericFrameDescriptorExtension(&extension_map, version); RtpPacketReceived rtp_packet(&extension_map); + rtp_packet.SetPayloadType(kPayloadType); RtpGenericFrameDescriptor generic_descriptor; generic_descriptor.SetFirstPacketInSubFrame(true); @@ -857,12 +866,8 @@ TEST_P(RtpVideoStreamReceiverGenericDescriptorTest, const int version = GetParam(); const std::vector data = {0, 1, 2, 3, 4}; - const int kPayloadType = 123; const int kSpatialIndex = 1; - VideoCodec codec; - codec.plType = kPayloadType; - rtp_video_stream_receiver_->AddReceiveCodec(codec, {}, /*raw_payload=*/false); rtp_video_stream_receiver_->StartReceive(); RtpHeaderExtensionMap extension_map; @@ -920,11 +925,7 @@ TEST_P(RtpVideoStreamReceiverGenericDescriptorTest, TEST_F(RtpVideoStreamReceiverGenericDescriptorTest, DropPacketsWithMultipleVersionsOfExtension) { const std::vector data = {0, 1, 2, 3, 4}; - const int kPayloadType = 123; - VideoCodec codec; - codec.plType = kPayloadType; - rtp_video_stream_receiver_->AddReceiveCodec(codec, {}, /*raw_payload=*/false); rtp_video_stream_receiver_->StartReceive(); RtpHeaderExtensionMap extension_map; @@ -961,10 +962,10 @@ TEST_P(RtpVideoStreamReceiverGenericDescriptorTest, const int version = GetParam(); const std::vector data = {0, 1, 2, 3, 4}; - const int kPayloadType = 123; + const int kRawPayloadType = 123; VideoCodec codec; - codec.plType = kPayloadType; + codec.plType = kRawPayloadType; rtp_video_stream_receiver_->AddReceiveCodec(codec, {}, /*raw_payload=*/true); rtp_video_stream_receiver_->StartReceive(); @@ -984,7 +985,7 @@ TEST_P(RtpVideoStreamReceiverGenericDescriptorTest, data.size()); rtp_packet.SetMarker(true); - rtp_packet.SetPayloadType(kPayloadType); + rtp_packet.SetPayloadType(kRawPayloadType); rtp_packet.SetSequenceNumber(1); EXPECT_CALL(mock_on_complete_frame_callback_, DoOnCompleteFrame); @@ -1226,8 +1227,13 @@ TEST_F(RtpVideoStreamReceiverTest, TransformFrame) { rtp_receive_statistics_.get(), nullptr, process_thread_.get(), &mock_nack_sender_, nullptr, &mock_on_complete_frame_callback_, nullptr, mock_frame_transformer); + VideoCodec video_codec; + video_codec.plType = kPayloadType; + video_codec.codecType = kVideoCodecGeneric; + receiver->AddReceiveCodec(video_codec, {}, /*raw_payload=*/false); RtpPacketReceived rtp_packet; + rtp_packet.SetPayloadType(kPayloadType); RTPVideoHeader video_header; rtc::CopyOnWriteBuffer data({1, 2, 3, 4}); rtp_packet.SetSequenceNumber(1);