diff --git a/video/rtp_video_stream_receiver2.cc b/video/rtp_video_stream_receiver2.cc index 9932cecabb..b4a139edb6 100644 --- a/video/rtp_video_stream_receiver2.cc +++ b/video/rtp_video_stream_receiver2.cc @@ -20,6 +20,7 @@ #include "absl/base/macros.h" #include "absl/memory/memory.h" #include "absl/types/optional.h" +#include "api/video/video_codec_type.h" #include "media/base/media_constants.h" #include "modules/pacing/packet_router.h" #include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h" @@ -324,7 +325,7 @@ RtpVideoStreamReceiver2::~RtpVideoStreamReceiver2() { void RtpVideoStreamReceiver2::AddReceiveCodec( uint8_t payload_type, - const VideoCodec& video_codec, + VideoCodecType video_codec, const std::map& codec_params, bool raw_payload) { RTC_DCHECK_RUN_ON(&packet_sequence_checker_); @@ -333,9 +334,8 @@ void RtpVideoStreamReceiver2::AddReceiveCodec( packet_buffer_.ForceSpsPpsIdrIsH264Keyframe(); } payload_type_map_.emplace( - payload_type, raw_payload - ? std::make_unique() - : CreateVideoRtpDepacketizer(video_codec.codecType)); + payload_type, raw_payload ? std::make_unique() + : CreateVideoRtpDepacketizer(video_codec)); pt_codec_params_.emplace(payload_type, codec_params); } diff --git a/video/rtp_video_stream_receiver2.h b/video/rtp_video_stream_receiver2.h index 45ed655387..3a4f58e8fe 100644 --- a/video/rtp_video_stream_receiver2.h +++ b/video/rtp_video_stream_receiver2.h @@ -21,7 +21,7 @@ #include "api/sequence_checker.h" #include "api/units/timestamp.h" #include "api/video/color_space.h" -#include "api/video_codecs/video_codec.h" +#include "api/video/video_codec_type.h" #include "call/rtp_packet_sink_interface.h" #include "call/syncable.h" #include "call/video_receive_stream.h" @@ -101,7 +101,7 @@ class RtpVideoStreamReceiver2 : public LossNotificationSender, ~RtpVideoStreamReceiver2() override; void AddReceiveCodec(uint8_t payload_type, - const VideoCodec& video_codec, + VideoCodecType video_codec, const std::map& codec_params, bool raw_payload); diff --git a/video/rtp_video_stream_receiver2_unittest.cc b/video/rtp_video_stream_receiver2_unittest.cc index b68ef4a1bc..b92a553cd5 100644 --- a/video/rtp_video_stream_receiver2_unittest.cc +++ b/video/rtp_video_stream_receiver2_unittest.cc @@ -163,9 +163,8 @@ class RtpVideoStreamReceiver2Test : public ::testing::Test, nullptr, &nack_periodic_processor_, &mock_nack_sender_, &mock_key_frame_request_sender_, &mock_on_complete_frame_callback_, nullptr, nullptr); - VideoCodec codec; - codec.codecType = kVideoCodecGeneric; - rtp_video_stream_receiver_->AddReceiveCodec(kPayloadType, codec, {}, + rtp_video_stream_receiver_->AddReceiveCodec(kPayloadType, + kVideoCodecGeneric, {}, /*raw_payload=*/false); } @@ -307,10 +306,8 @@ TEST_F(RtpVideoStreamReceiver2Test, CacheColorSpaceFromLastPacketOfKeyframe) { received_packet_generator.SetColorSpace(kColorSpace); // Prepare the receiver for VP9. - VideoCodec codec; - codec.codecType = kVideoCodecVP9; std::map codec_params; - rtp_video_stream_receiver_->AddReceiveCodec(kVp9PayloadType, codec, + rtp_video_stream_receiver_->AddReceiveCodec(kVp9PayloadType, kVideoCodecVP9, codec_params, /*raw_payload=*/false); @@ -563,13 +560,13 @@ TEST_P(RtpVideoStreamReceiver2TestH264, InBandSpsPps) { TEST_P(RtpVideoStreamReceiver2TestH264, OutOfBandFmtpSpsPps) { constexpr int kPayloadType = 99; - VideoCodec codec; std::map codec_params; // Example parameter sets from https://tools.ietf.org/html/rfc3984#section-8.2 // . codec_params.insert( {cricket::kH264FmtpSpropParameterSets, "Z0IACpZTBYmI,aMljiA=="}); - rtp_video_stream_receiver_->AddReceiveCodec(kPayloadType, codec, codec_params, + rtp_video_stream_receiver_->AddReceiveCodec(kPayloadType, kVideoCodecH264, + codec_params, /*raw_payload=*/false); const uint8_t binary_sps[] = {0x67, 0x42, 0x00, 0x0a, 0x96, 0x53, 0x05, 0x89, 0x88}; @@ -604,13 +601,13 @@ TEST_P(RtpVideoStreamReceiver2TestH264, OutOfBandFmtpSpsPps) { TEST_P(RtpVideoStreamReceiver2TestH264, ForceSpsPpsIdrIsKeyframe) { constexpr int kPayloadType = 99; - VideoCodec codec; std::map codec_params; if (GetParam() == "") { // Forcing can be done either with field trial or codec_params. codec_params.insert({cricket::kH264FmtpSpsPpsIdrInKeyframe, ""}); } - rtp_video_stream_receiver_->AddReceiveCodec(kPayloadType, codec, codec_params, + rtp_video_stream_receiver_->AddReceiveCodec(kPayloadType, kVideoCodecH264, + codec_params, /*raw_payload=*/false); rtc::CopyOnWriteBuffer sps_data; RtpPacketReceived rtp_packet; @@ -881,8 +878,8 @@ TEST_F(RtpVideoStreamReceiver2Test, ParseGenericDescriptorRawPayload) { const std::vector data = {0, 1, 2, 3, 4}; const int kRawPayloadType = 123; - VideoCodec codec; - rtp_video_stream_receiver_->AddReceiveCodec(kRawPayloadType, codec, {}, + rtp_video_stream_receiver_->AddReceiveCodec(kRawPayloadType, + kVideoCodecGeneric, {}, /*raw_payload=*/true); rtp_video_stream_receiver_->StartReceive(); @@ -913,8 +910,8 @@ TEST_F(RtpVideoStreamReceiver2Test, UnwrapsFrameId) { const std::vector data = {0, 1, 2, 3, 4}; const int kPayloadType = 123; - VideoCodec codec; - rtp_video_stream_receiver_->AddReceiveCodec(kPayloadType, codec, {}, + rtp_video_stream_receiver_->AddReceiveCodec(kPayloadType, kVideoCodecGeneric, + {}, /*raw_payload=*/true); rtp_video_stream_receiver_->StartReceive(); RtpHeaderExtensionMap extension_map; @@ -959,8 +956,8 @@ class RtpVideoStreamReceiver2DependencyDescriptorTest : public RtpVideoStreamReceiver2Test { public: RtpVideoStreamReceiver2DependencyDescriptorTest() { - VideoCodec codec; - rtp_video_stream_receiver_->AddReceiveCodec(payload_type_, codec, {}, + rtp_video_stream_receiver_->AddReceiveCodec(payload_type_, + kVideoCodecGeneric, {}, /*raw_payload=*/true); extension_map_.Register(7); rtp_video_stream_receiver_->StartReceive(); @@ -1124,9 +1121,7 @@ TEST_F(RtpVideoStreamReceiver2Test, TransformFrame) { nullptr, nullptr, &config_, rtp_receive_statistics_.get(), nullptr, nullptr, &nack_periodic_processor_, &mock_nack_sender_, nullptr, &mock_on_complete_frame_callback_, nullptr, mock_frame_transformer); - VideoCodec video_codec; - video_codec.codecType = kVideoCodecGeneric; - receiver->AddReceiveCodec(kPayloadType, video_codec, {}, + receiver->AddReceiveCodec(kPayloadType, kVideoCodecGeneric, {}, /*raw_payload=*/false); RtpPacketReceived rtp_packet; diff --git a/video/video_receive_stream2.cc b/video/video_receive_stream2.cc index ba3f4a2f71..aa0bc77dd1 100644 --- a/video/video_receive_stream2.cc +++ b/video/video_receive_stream2.cc @@ -388,8 +388,8 @@ void VideoReceiveStream2::Start() { // TODO(bugs.webrtc.org/11993): Make this call on the network thread. RTC_DCHECK_RUN_ON(&packet_sequence_checker_); rtp_video_stream_receiver_.AddReceiveCodec( - decoder.payload_type, codec, decoder.video_format.parameters, - raw_payload); + decoder.payload_type, codec.codecType, + decoder.video_format.parameters, raw_payload); } RTC_CHECK_EQ(VCM_OK, video_receiver_.RegisterReceiveCodec( decoder.payload_type, &codec, num_cpu_cores_));