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:

committed by
Commit Bot

parent
f05af9e0fc
commit
865a22d6bb
@ -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);
|
||||||
|
Reference in New Issue
Block a user