in RtpVideoStreamReceiver tests set payload type for all tests packets

In preparation for a change that rely on payload type beeing present.

As side effect, fix test related to RED payload type.

Bug: None
Change-Id: I42f8460fbec578184da058c1f6b9620d497d576b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171508
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30864}
This commit is contained in:
Danil Chapovalov
2020-03-24 10:37:36 +01:00
committed by Commit Bot
parent f05af9e0fc
commit 865a22d6bb

View File

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