diff --git a/modules/video_coding/rtp_frame_id_only_ref_finder.cc b/modules/video_coding/rtp_frame_id_only_ref_finder.cc index d52b2764df..8846e68aa1 100644 --- a/modules/video_coding/rtp_frame_id_only_ref_finder.cc +++ b/modules/video_coding/rtp_frame_id_only_ref_finder.cc @@ -15,10 +15,9 @@ #include "rtc_base/logging.h" namespace webrtc { -namespace video_coding { RtpFrameReferenceFinder::ReturnVector RtpFrameIdOnlyRefFinder::ManageFrame( - std::unique_ptr frame, + std::unique_ptr frame, int frame_id) { frame->SetSpatialIndex(0); frame->SetId(unwrapper_.Unwrap(frame_id & (kFrameIdLength - 1))); @@ -31,5 +30,4 @@ RtpFrameReferenceFinder::ReturnVector RtpFrameIdOnlyRefFinder::ManageFrame( return res; } -} // namespace video_coding } // namespace webrtc diff --git a/modules/video_coding/rtp_frame_id_only_ref_finder.h b/modules/video_coding/rtp_frame_id_only_ref_finder.h index 7728ba92bc..4dc8250b5e 100644 --- a/modules/video_coding/rtp_frame_id_only_ref_finder.h +++ b/modules/video_coding/rtp_frame_id_only_ref_finder.h @@ -19,14 +19,13 @@ #include "rtc_base/numerics/sequence_number_util.h" namespace webrtc { -namespace video_coding { class RtpFrameIdOnlyRefFinder { public: RtpFrameIdOnlyRefFinder() = default; RtpFrameReferenceFinder::ReturnVector ManageFrame( - std::unique_ptr frame, + std::unique_ptr frame, int frame_id); private: @@ -34,7 +33,6 @@ class RtpFrameIdOnlyRefFinder { SeqNumUnwrapper unwrapper_; }; -} // namespace video_coding } // namespace webrtc #endif // MODULES_VIDEO_CODING_RTP_FRAME_ID_ONLY_REF_FINDER_H_ diff --git a/modules/video_coding/rtp_frame_reference_finder.cc b/modules/video_coding/rtp_frame_reference_finder.cc index 1a99fc2ba7..4d24546c4a 100644 --- a/modules/video_coding/rtp_frame_reference_finder.cc +++ b/modules/video_coding/rtp_frame_reference_finder.cc @@ -21,14 +21,13 @@ #include "modules/video_coding/rtp_vp9_ref_finder.h" namespace webrtc { -namespace video_coding { namespace internal { class RtpFrameReferenceFinderImpl { public: RtpFrameReferenceFinderImpl() = default; RtpFrameReferenceFinder::ReturnVector ManageFrame( - std::unique_ptr frame); + std::unique_ptr frame); RtpFrameReferenceFinder::ReturnVector PaddingReceived(uint16_t seq_num); void ClearTo(uint16_t seq_num); @@ -46,7 +45,7 @@ class RtpFrameReferenceFinderImpl { }; RtpFrameReferenceFinder::ReturnVector RtpFrameReferenceFinderImpl::ManageFrame( - std::unique_ptr frame) { + std::unique_ptr frame) { const RTPVideoHeader& video_header = frame->GetRtpVideoHeader(); if (video_header.generic.has_value()) { @@ -157,7 +156,7 @@ RtpFrameReferenceFinder::RtpFrameReferenceFinder( RtpFrameReferenceFinder::~RtpFrameReferenceFinder() = default; void RtpFrameReferenceFinder::ManageFrame( - std::unique_ptr frame) { + std::unique_ptr frame) { // If we have cleared past this frame, drop it. if (cleared_to_seq_num_ != -1 && AheadOf(cleared_to_seq_num_, frame->first_seq_num())) { @@ -186,5 +185,4 @@ void RtpFrameReferenceFinder::HandOffFrames(ReturnVector frames) { } } -} // namespace video_coding } // namespace webrtc diff --git a/modules/video_coding/rtp_frame_reference_finder.h b/modules/video_coding/rtp_frame_reference_finder.h index c7ee07e215..d3b0cc5394 100644 --- a/modules/video_coding/rtp_frame_reference_finder.h +++ b/modules/video_coding/rtp_frame_reference_finder.h @@ -16,7 +16,6 @@ #include "modules/video_coding/frame_object.h" namespace webrtc { -namespace video_coding { namespace internal { class RtpFrameReferenceFinderImpl; } // namespace internal @@ -26,12 +25,19 @@ class RtpFrameReferenceFinderImpl; class OnCompleteFrameCallback { public: virtual ~OnCompleteFrameCallback() {} - virtual void OnCompleteFrame(std::unique_ptr frame) = 0; + virtual void OnCompleteFrame( + std::unique_ptr frame) = 0; }; +// TODO(bugs.webrtc.org/12579): Remove when downstream has been update. +namespace video_coding { +using OnCompleteFrameCallback = webrtc::OnCompleteFrameCallback; +} // namespace video_coding + class RtpFrameReferenceFinder { public: - using ReturnVector = absl::InlinedVector, 3>; + using ReturnVector = + absl::InlinedVector, 3>; explicit RtpFrameReferenceFinder(OnCompleteFrameCallback* frame_callback); explicit RtpFrameReferenceFinder(OnCompleteFrameCallback* frame_callback, @@ -44,7 +50,7 @@ class RtpFrameReferenceFinder { // - We have too many stashed frames (determined by |kMaxStashedFrames|) // so we drop this frame, or // - It gets cleared by ClearTo, which also means we drop it. - void ManageFrame(std::unique_ptr frame); + void ManageFrame(std::unique_ptr frame); // Notifies that padding has been received, which the reference finder // might need to calculate the references of a frame. @@ -65,7 +71,6 @@ class RtpFrameReferenceFinder { std::unique_ptr impl_; }; -} // namespace video_coding } // namespace webrtc #endif // MODULES_VIDEO_CODING_RTP_FRAME_REFERENCE_FINDER_H_ diff --git a/modules/video_coding/rtp_frame_reference_finder_unittest.cc b/modules/video_coding/rtp_frame_reference_finder_unittest.cc index f2ee9b576b..de8c1ae7c6 100644 --- a/modules/video_coding/rtp_frame_reference_finder_unittest.cc +++ b/modules/video_coding/rtp_frame_reference_finder_unittest.cc @@ -27,7 +27,7 @@ namespace webrtc { namespace video_coding { namespace { -std::unique_ptr CreateFrame( +std::unique_ptr CreateFrame( uint16_t seq_num_start, uint16_t seq_num_end, bool keyframe, @@ -39,7 +39,7 @@ std::unique_ptr CreateFrame( video_header.video_type_header = video_type_header; // clang-format off - return std::make_unique( + return std::make_unique( seq_num_start, seq_num_end, /*markerBit=*/true, @@ -71,7 +71,8 @@ class TestRtpFrameReferenceFinder : public ::testing::Test, uint16_t Rand() { return rand_.Rand(); } - void OnCompleteFrame(std::unique_ptr frame) override { + void OnCompleteFrame( + std::unique_ptr frame) override { int64_t pid = frame->Id(); uint16_t sidx = *frame->SpatialIndex(); auto frame_it = frames_from_callback_.find(std::make_pair(pid, sidx)); @@ -88,7 +89,7 @@ class TestRtpFrameReferenceFinder : public ::testing::Test, void InsertGeneric(uint16_t seq_num_start, uint16_t seq_num_end, bool keyframe) { - std::unique_ptr frame = + std::unique_ptr frame = CreateFrame(seq_num_start, seq_num_end, keyframe, kVideoCodecGeneric, RTPVideoTypeHeader()); @@ -96,7 +97,7 @@ class TestRtpFrameReferenceFinder : public ::testing::Test, } void InsertH264(uint16_t seq_num_start, uint16_t seq_num_end, bool keyframe) { - std::unique_ptr frame = + std::unique_ptr frame = CreateFrame(seq_num_start, seq_num_end, keyframe, kVideoCodecH264, RTPVideoTypeHeader()); reference_finder_->ManageFrame(std::move(frame)); @@ -155,9 +156,10 @@ class TestRtpFrameReferenceFinder : public ::testing::Test, return f1.first < f2.first; } }; - std:: - map, std::unique_ptr, FrameComp> - frames_from_callback_; + std::map, + std::unique_ptr, + FrameComp> + frames_from_callback_; }; TEST_F(TestRtpFrameReferenceFinder, PaddingPackets) { @@ -305,7 +307,7 @@ TEST_F(TestRtpFrameReferenceFinder, H264SequenceNumberWrapMulti) { TEST_F(TestRtpFrameReferenceFinder, Av1FrameNoDependencyDescriptor) { uint16_t sn = 0xFFFF; - std::unique_ptr frame = + std::unique_ptr frame = CreateFrame(/*seq_num_start=*/sn, /*seq_num_end=*/sn, /*keyframe=*/true, kVideoCodecAV1, RTPVideoTypeHeader()); diff --git a/modules/video_coding/rtp_generic_ref_finder.cc b/modules/video_coding/rtp_generic_ref_finder.cc index 7a6d750148..3a2a94e9a9 100644 --- a/modules/video_coding/rtp_generic_ref_finder.cc +++ b/modules/video_coding/rtp_generic_ref_finder.cc @@ -15,10 +15,9 @@ #include "rtc_base/logging.h" namespace webrtc { -namespace video_coding { RtpFrameReferenceFinder::ReturnVector RtpGenericFrameRefFinder::ManageFrame( - std::unique_ptr frame, + std::unique_ptr frame, const RTPVideoHeader::GenericDescriptorInfo& descriptor) { // Frame IDs are unwrapped in the RtpVideoStreamReceiver, no need to unwrap // them here. @@ -26,7 +25,8 @@ RtpFrameReferenceFinder::ReturnVector RtpGenericFrameRefFinder::ManageFrame( frame->SetSpatialIndex(descriptor.spatial_index); RtpFrameReferenceFinder::ReturnVector res; - if (EncodedFrame::kMaxFrameReferences < descriptor.dependencies.size()) { + if (video_coding::EncodedFrame::kMaxFrameReferences < + descriptor.dependencies.size()) { RTC_LOG(LS_WARNING) << "Too many dependencies in generic descriptor."; return res; } @@ -40,5 +40,4 @@ RtpFrameReferenceFinder::ReturnVector RtpGenericFrameRefFinder::ManageFrame( return res; } -} // namespace video_coding } // namespace webrtc diff --git a/modules/video_coding/rtp_generic_ref_finder.h b/modules/video_coding/rtp_generic_ref_finder.h index 278de2635e..5f8462add6 100644 --- a/modules/video_coding/rtp_generic_ref_finder.h +++ b/modules/video_coding/rtp_generic_ref_finder.h @@ -17,18 +17,16 @@ #include "modules/video_coding/rtp_frame_reference_finder.h" namespace webrtc { -namespace video_coding { class RtpGenericFrameRefFinder { public: RtpGenericFrameRefFinder() = default; RtpFrameReferenceFinder::ReturnVector ManageFrame( - std::unique_ptr frame, + std::unique_ptr frame, const RTPVideoHeader::GenericDescriptorInfo& descriptor); }; -} // namespace video_coding } // namespace webrtc #endif // MODULES_VIDEO_CODING_RTP_GENERIC_REF_FINDER_H_ diff --git a/modules/video_coding/rtp_seq_num_only_ref_finder.cc b/modules/video_coding/rtp_seq_num_only_ref_finder.cc index 9b1d07f82f..32023134ca 100644 --- a/modules/video_coding/rtp_seq_num_only_ref_finder.cc +++ b/modules/video_coding/rtp_seq_num_only_ref_finder.cc @@ -15,10 +15,9 @@ #include "rtc_base/logging.h" namespace webrtc { -namespace video_coding { RtpFrameReferenceFinder::ReturnVector RtpSeqNumOnlyRefFinder::ManageFrame( - std::unique_ptr frame) { + std::unique_ptr frame) { FrameDecision decision = ManageFrameInternal(frame.get()); RtpFrameReferenceFinder::ReturnVector res; @@ -40,7 +39,8 @@ RtpFrameReferenceFinder::ReturnVector RtpSeqNumOnlyRefFinder::ManageFrame( } RtpSeqNumOnlyRefFinder::FrameDecision -RtpSeqNumOnlyRefFinder::ManageFrameInternal(RtpFrameObject* frame) { +RtpSeqNumOnlyRefFinder::ManageFrameInternal( + video_coding::RtpFrameObject* frame) { if (frame->frame_type() == VideoFrameType::kVideoFrameKey) { last_seq_num_gop_.insert(std::make_pair( frame->last_seq_num(), @@ -184,5 +184,4 @@ void RtpSeqNumOnlyRefFinder::ClearTo(uint16_t seq_num) { } } -} // namespace video_coding } // namespace webrtc diff --git a/modules/video_coding/rtp_seq_num_only_ref_finder.h b/modules/video_coding/rtp_seq_num_only_ref_finder.h index 1b0cc7722a..e6cf0f637b 100644 --- a/modules/video_coding/rtp_seq_num_only_ref_finder.h +++ b/modules/video_coding/rtp_seq_num_only_ref_finder.h @@ -23,14 +23,13 @@ #include "rtc_base/numerics/sequence_number_util.h" namespace webrtc { -namespace video_coding { class RtpSeqNumOnlyRefFinder { public: RtpSeqNumOnlyRefFinder() = default; RtpFrameReferenceFinder::ReturnVector ManageFrame( - std::unique_ptr frame); + std::unique_ptr frame); RtpFrameReferenceFinder::ReturnVector PaddingReceived(uint16_t seq_num); void ClearTo(uint16_t seq_num); @@ -40,7 +39,7 @@ class RtpSeqNumOnlyRefFinder { enum FrameDecision { kStash, kHandOff, kDrop }; - FrameDecision ManageFrameInternal(RtpFrameObject* frame); + FrameDecision ManageFrameInternal(video_coding::RtpFrameObject* frame); void RetryStashedFrames(RtpFrameReferenceFinder::ReturnVector& res); void UpdateLastPictureIdWithPadding(uint16_t seq_num); @@ -59,14 +58,13 @@ class RtpSeqNumOnlyRefFinder { // Frames that have been fully received but didn't have all the information // needed to determine their references. - std::deque> stashed_frames_; + std::deque> stashed_frames_; // Unwrapper used to unwrap generic RTP streams. In a generic stream we derive // a picture id from the packet sequence number. SeqNumUnwrapper rtp_seq_num_unwrapper_; }; -} // namespace video_coding } // namespace webrtc #endif // MODULES_VIDEO_CODING_RTP_SEQ_NUM_ONLY_REF_FINDER_H_ diff --git a/modules/video_coding/rtp_vp8_ref_finder.cc b/modules/video_coding/rtp_vp8_ref_finder.cc index af0e13a5e8..0074558f52 100644 --- a/modules/video_coding/rtp_vp8_ref_finder.cc +++ b/modules/video_coding/rtp_vp8_ref_finder.cc @@ -15,10 +15,9 @@ #include "rtc_base/logging.h" namespace webrtc { -namespace video_coding { RtpFrameReferenceFinder::ReturnVector RtpVp8RefFinder::ManageFrame( - std::unique_ptr frame) { + std::unique_ptr frame) { FrameDecision decision = ManageFrameInternal(frame.get()); RtpFrameReferenceFinder::ReturnVector res; @@ -40,7 +39,7 @@ RtpFrameReferenceFinder::ReturnVector RtpVp8RefFinder::ManageFrame( } RtpVp8RefFinder::FrameDecision RtpVp8RefFinder::ManageFrameInternal( - RtpFrameObject* frame) { + video_coding::RtpFrameObject* frame) { const RTPVideoHeader& video_header = frame->GetRtpVideoHeader(); const RTPVideoHeaderVP8& codec_header = absl::get(video_header.video_type_header); @@ -179,7 +178,7 @@ RtpVp8RefFinder::FrameDecision RtpVp8RefFinder::ManageFrameInternal( return kHandOff; } -void RtpVp8RefFinder::UpdateLayerInfoVp8(RtpFrameObject* frame, +void RtpVp8RefFinder::UpdateLayerInfoVp8(video_coding::RtpFrameObject* frame, int64_t unwrapped_tl0, uint8_t temporal_idx) { auto layer_info_it = layer_info_.find(unwrapped_tl0); @@ -227,7 +226,7 @@ void RtpVp8RefFinder::RetryStashedFrames( } while (complete_frame); } -void RtpVp8RefFinder::UnwrapPictureIds(RtpFrameObject* frame) { +void RtpVp8RefFinder::UnwrapPictureIds(video_coding::RtpFrameObject* frame) { for (size_t i = 0; i < frame->num_references; ++i) frame->references[i] = unwrapper_.Unwrap(frame->references[i]); frame->SetId(unwrapper_.Unwrap(frame->Id())); @@ -244,5 +243,4 @@ void RtpVp8RefFinder::ClearTo(uint16_t seq_num) { } } -} // namespace video_coding } // namespace webrtc diff --git a/modules/video_coding/rtp_vp8_ref_finder.h b/modules/video_coding/rtp_vp8_ref_finder.h index 55d2de921e..4ac4d10921 100644 --- a/modules/video_coding/rtp_vp8_ref_finder.h +++ b/modules/video_coding/rtp_vp8_ref_finder.h @@ -22,14 +22,13 @@ #include "rtc_base/numerics/sequence_number_util.h" namespace webrtc { -namespace video_coding { class RtpVp8RefFinder { public: RtpVp8RefFinder() = default; RtpFrameReferenceFinder::ReturnVector ManageFrame( - std::unique_ptr frame); + std::unique_ptr frame); void ClearTo(uint16_t seq_num); private: @@ -41,12 +40,12 @@ class RtpVp8RefFinder { enum FrameDecision { kStash, kHandOff, kDrop }; - FrameDecision ManageFrameInternal(RtpFrameObject* frame); + FrameDecision ManageFrameInternal(video_coding::RtpFrameObject* frame); void RetryStashedFrames(RtpFrameReferenceFinder::ReturnVector& res); - void UpdateLayerInfoVp8(RtpFrameObject* frame, + void UpdateLayerInfoVp8(video_coding::RtpFrameObject* frame, int64_t unwrapped_tl0, uint8_t temporal_idx); - void UnwrapPictureIds(RtpFrameObject* frame); + void UnwrapPictureIds(video_coding::RtpFrameObject* frame); // Save the last picture id in order to detect when there is a gap in frames // that have not yet been fully received. @@ -59,7 +58,7 @@ class RtpVp8RefFinder { // Frames that have been fully received but didn't have all the information // needed to determine their references. - std::deque> stashed_frames_; + std::deque> stashed_frames_; // Holds the information about the last completed frame for a given temporal // layer given an unwrapped Tl0 picture index. @@ -72,7 +71,6 @@ class RtpVp8RefFinder { SeqNumUnwrapper tl0_unwrapper_; }; -} // namespace video_coding } // namespace webrtc #endif // MODULES_VIDEO_CODING_RTP_VP8_REF_FINDER_H_ diff --git a/modules/video_coding/rtp_vp8_ref_finder_unittest.cc b/modules/video_coding/rtp_vp8_ref_finder_unittest.cc index aa858807a3..34836e659e 100644 --- a/modules/video_coding/rtp_vp8_ref_finder_unittest.cc +++ b/modules/video_coding/rtp_vp8_ref_finder_unittest.cc @@ -66,7 +66,7 @@ class Frame { return *this; } - operator std::unique_ptr() { + operator std::unique_ptr() { RTPVideoHeaderVP8 vp8_header{}; vp8_header.pictureId = *picture_id_; vp8_header.temporalIdx = *temporal_id_; @@ -78,7 +78,7 @@ class Frame { : VideoFrameType::kVideoFrameDelta; video_header.video_type_header = vp8_header; // clang-format off - return std::make_unique( + return std::make_unique( /*seq_num_start=*/0, /*seq_num_end=*/0, /*markerBit=*/true, @@ -113,7 +113,7 @@ class RtpVp8RefFinderTest : public ::testing::Test { protected: RtpVp8RefFinderTest() : ref_finder_(std::make_unique()) {} - void Insert(std::unique_ptr frame) { + void Insert(std::unique_ptr frame) { for (auto& f : ref_finder_->ManageFrame(std::move(frame))) { frames_.push_back(std::move(f)); } diff --git a/modules/video_coding/rtp_vp9_ref_finder.cc b/modules/video_coding/rtp_vp9_ref_finder.cc index 89b463ab31..46a0946cc1 100644 --- a/modules/video_coding/rtp_vp9_ref_finder.cc +++ b/modules/video_coding/rtp_vp9_ref_finder.cc @@ -16,10 +16,9 @@ #include "rtc_base/logging.h" namespace webrtc { -namespace video_coding { RtpFrameReferenceFinder::ReturnVector RtpVp9RefFinder::ManageFrame( - std::unique_ptr frame) { + std::unique_ptr frame) { FrameDecision decision = ManageFrameInternal(frame.get()); RtpFrameReferenceFinder::ReturnVector res; @@ -41,7 +40,7 @@ RtpFrameReferenceFinder::ReturnVector RtpVp9RefFinder::ManageFrame( } RtpVp9RefFinder::FrameDecision RtpVp9RefFinder::ManageFrameInternal( - RtpFrameObject* frame) { + video_coding::RtpFrameObject* frame) { const RTPVideoHeader& video_header = frame->GetRtpVideoHeader(); const RTPVideoHeaderVP9& codec_header = absl::get(video_header.video_type_header); @@ -58,7 +57,8 @@ RtpVp9RefFinder::FrameDecision RtpVp9RefFinder::ManageFrameInternal( last_picture_id_ = frame->Id(); if (codec_header.flexible_mode) { - if (codec_header.num_ref_pics > EncodedFrame::kMaxFrameReferences) { + if (codec_header.num_ref_pics > + video_coding::EncodedFrame::kMaxFrameReferences) { return kDrop; } frame->num_references = codec_header.num_ref_pics; @@ -179,7 +179,8 @@ RtpVp9RefFinder::FrameDecision RtpVp9RefFinder::ManageFrameInternal( ForwardDiff(info->gof->pid_start, frame->Id()); size_t gof_idx = diff % info->gof->num_frames_in_gof; - if (info->gof->num_ref_pics[gof_idx] > EncodedFrame::kMaxFrameReferences) { + if (info->gof->num_ref_pics[gof_idx] > + video_coding::EncodedFrame::kMaxFrameReferences) { return kDrop; } // Populate references according to the scalability structure. @@ -323,7 +324,7 @@ void RtpVp9RefFinder::RetryStashedFrames( } while (complete_frame); } -void RtpVp9RefFinder::FlattenFrameIdAndRefs(RtpFrameObject* frame, +void RtpVp9RefFinder::FlattenFrameIdAndRefs(video_coding::RtpFrameObject* frame, bool inter_layer_predicted) { for (size_t i = 0; i < frame->num_references; ++i) { frame->references[i] = @@ -334,7 +335,8 @@ void RtpVp9RefFinder::FlattenFrameIdAndRefs(RtpFrameObject* frame, *frame->SpatialIndex()); if (inter_layer_predicted && - frame->num_references + 1 <= EncodedFrame::kMaxFrameReferences) { + frame->num_references + 1 <= + video_coding::EncodedFrame::kMaxFrameReferences) { frame->references[frame->num_references] = frame->Id() - 1; ++frame->num_references; } @@ -351,5 +353,4 @@ void RtpVp9RefFinder::ClearTo(uint16_t seq_num) { } } -} // namespace video_coding } // namespace webrtc diff --git a/modules/video_coding/rtp_vp9_ref_finder.h b/modules/video_coding/rtp_vp9_ref_finder.h index 1ccfa3b1ed..0179918181 100644 --- a/modules/video_coding/rtp_vp9_ref_finder.h +++ b/modules/video_coding/rtp_vp9_ref_finder.h @@ -22,14 +22,13 @@ #include "rtc_base/numerics/sequence_number_util.h" namespace webrtc { -namespace video_coding { class RtpVp9RefFinder { public: RtpVp9RefFinder() = default; RtpFrameReferenceFinder::ReturnVector ManageFrame( - std::unique_ptr frame); + std::unique_ptr frame); void ClearTo(uint16_t seq_num); private: @@ -49,7 +48,7 @@ class RtpVp9RefFinder { uint16_t last_picture_id; }; - FrameDecision ManageFrameInternal(RtpFrameObject* frame); + FrameDecision ManageFrameInternal(video_coding::RtpFrameObject* frame); void RetryStashedFrames(RtpFrameReferenceFinder::ReturnVector& res); bool MissingRequiredFrameVp9(uint16_t picture_id, const GofInfo& info); @@ -59,7 +58,8 @@ class RtpVp9RefFinder { uint8_t temporal_idx, uint16_t pid_ref); - void FlattenFrameIdAndRefs(RtpFrameObject* frame, bool inter_layer_predicted); + void FlattenFrameIdAndRefs(video_coding::RtpFrameObject* frame, + bool inter_layer_predicted); // Save the last picture id in order to detect when there is a gap in frames // that have not yet been fully received. @@ -67,7 +67,7 @@ class RtpVp9RefFinder { // Frames that have been fully received but didn't have all the information // needed to determine their references. - std::deque> stashed_frames_; + std::deque> stashed_frames_; // Where the current scalability structure is in the // |scalability_structures_| array. @@ -96,7 +96,6 @@ class RtpVp9RefFinder { SeqNumUnwrapper tl0_unwrapper_; }; -} // namespace video_coding } // namespace webrtc #endif // MODULES_VIDEO_CODING_RTP_VP9_REF_FINDER_H_ diff --git a/modules/video_coding/rtp_vp9_ref_finder_unittest.cc b/modules/video_coding/rtp_vp9_ref_finder_unittest.cc index 22da1e34f6..7b2d02a064 100644 --- a/modules/video_coding/rtp_vp9_ref_finder_unittest.cc +++ b/modules/video_coding/rtp_vp9_ref_finder_unittest.cc @@ -83,7 +83,7 @@ class Frame { return *this; } - operator std::unique_ptr() { + operator std::unique_ptr() { RTPVideoHeaderVP9 vp9_header{}; vp9_header.picture_id = *picture_id; vp9_header.temporal_idx = *temporal_id; @@ -112,7 +112,7 @@ class Frame { : VideoFrameType::kVideoFrameDelta; video_header.video_type_header = vp9_header; // clang-format off - return std::make_unique( + return std::make_unique( seq_num_start, seq_num_end, /*markerBit=*/true, @@ -209,7 +209,7 @@ class RtpVp9RefFinderTest : public ::testing::Test { protected: RtpVp9RefFinderTest() : ref_finder_(std::make_unique()) {} - void Insert(std::unique_ptr frame) { + void Insert(std::unique_ptr frame) { for (auto& f : ref_finder_->ManageFrame(std::move(frame))) { frames_.push_back(std::move(f)); } diff --git a/test/fuzzers/rtp_frame_reference_finder_fuzzer.cc b/test/fuzzers/rtp_frame_reference_finder_fuzzer.cc index 8b19a088de..c158cd037b 100644 --- a/test/fuzzers/rtp_frame_reference_finder_fuzzer.cc +++ b/test/fuzzers/rtp_frame_reference_finder_fuzzer.cc @@ -58,7 +58,7 @@ class DataReader { size_t offset_ = 0; }; -class NullCallback : public video_coding::OnCompleteFrameCallback { +class NullCallback : public OnCompleteFrameCallback { void OnCompleteFrame( std::unique_ptr frame) override {} }; @@ -93,7 +93,7 @@ GenerateGenericFrameDependencies(DataReader* reader) { void FuzzOneInput(const uint8_t* data, size_t size) { DataReader reader(data, size); NullCallback cb; - video_coding::RtpFrameReferenceFinder reference_finder(&cb); + RtpFrameReferenceFinder reference_finder(&cb); auto codec = static_cast(reader.GetNum() % 5); diff --git a/video/rtp_video_stream_receiver.cc b/video/rtp_video_stream_receiver.cc index 11be5aa030..a2e6273cae 100644 --- a/video/rtp_video_stream_receiver.cc +++ b/video/rtp_video_stream_receiver.cc @@ -210,7 +210,7 @@ RtpVideoStreamReceiver::RtpVideoStreamReceiver( ProcessThread* process_thread, NackSender* nack_sender, KeyFrameRequestSender* keyframe_request_sender, - video_coding::OnCompleteFrameCallback* complete_frame_callback, + OnCompleteFrameCallback* complete_frame_callback, rtc::scoped_refptr frame_decryptor, rtc::scoped_refptr frame_transformer) : RtpVideoStreamReceiver(clock, @@ -240,7 +240,7 @@ RtpVideoStreamReceiver::RtpVideoStreamReceiver( ProcessThread* process_thread, NackSender* nack_sender, KeyFrameRequestSender* keyframe_request_sender, - video_coding::OnCompleteFrameCallback* complete_frame_callback, + OnCompleteFrameCallback* complete_frame_callback, rtc::scoped_refptr frame_decryptor, rtc::scoped_refptr frame_transformer) : clock_(clock), @@ -321,8 +321,7 @@ RtpVideoStreamReceiver::RtpVideoStreamReceiver( process_thread_->RegisterModule(nack_module_.get(), RTC_FROM_HERE); } - reference_finder_ = - std::make_unique(this); + reference_finder_ = std::make_unique(this); // Only construct the encrypted receiver if frame encryption is enabled. if (config_.crypto_options.sframe.require_frame_encryption) { @@ -863,10 +862,9 @@ void RtpVideoStreamReceiver::OnAssembledFrame( // to overlap with old picture ids. To ensure that doesn't happen we // start from the |last_completed_picture_id_| and add an offset in case // of reordering. - reference_finder_ = - std::make_unique( - this, last_completed_picture_id_ + - std::numeric_limits::max()); + reference_finder_ = std::make_unique( + this, + last_completed_picture_id_ + std::numeric_limits::max()); current_codec_ = frame->codec_type(); } else { // Old frame from before the codec switch, discard it. diff --git a/video/rtp_video_stream_receiver.h b/video/rtp_video_stream_receiver.h index bdb1e2dab6..c480cb280d 100644 --- a/video/rtp_video_stream_receiver.h +++ b/video/rtp_video_stream_receiver.h @@ -67,7 +67,7 @@ class RtpVideoStreamReceiver : public LossNotificationSender, public RecoveredPacketReceiver, public RtpPacketSinkInterface, public KeyFrameRequestSender, - public video_coding::OnCompleteFrameCallback, + public OnCompleteFrameCallback, public OnDecryptedFrameCallback, public OnDecryptionStatusChangeCallback, public RtpVideoFrameReceiver { @@ -89,7 +89,7 @@ class RtpVideoStreamReceiver : public LossNotificationSender, // The KeyFrameRequestSender is optional; if not provided, key frame // requests are sent via the internal RtpRtcp module. KeyFrameRequestSender* keyframe_request_sender, - video_coding::OnCompleteFrameCallback* complete_frame_callback, + OnCompleteFrameCallback* complete_frame_callback, rtc::scoped_refptr frame_decryptor, rtc::scoped_refptr frame_transformer); @@ -110,7 +110,7 @@ class RtpVideoStreamReceiver : public LossNotificationSender, // The KeyFrameRequestSender is optional; if not provided, key frame // requests are sent via the internal RtpRtcp module. KeyFrameRequestSender* keyframe_request_sender, - video_coding::OnCompleteFrameCallback* complete_frame_callback, + OnCompleteFrameCallback* complete_frame_callback, rtc::scoped_refptr frame_decryptor, rtc::scoped_refptr frame_transformer); ~RtpVideoStreamReceiver() override; @@ -329,7 +329,7 @@ class RtpVideoStreamReceiver : public LossNotificationSender, const std::unique_ptr rtp_rtcp_; - video_coding::OnCompleteFrameCallback* complete_frame_callback_; + OnCompleteFrameCallback* complete_frame_callback_; KeyFrameRequestSender* const keyframe_request_sender_; RtcpFeedbackBuffer rtcp_feedback_buffer_; @@ -352,7 +352,7 @@ class RtpVideoStreamReceiver : public LossNotificationSender, RTC_GUARDED_BY(worker_task_checker_); Mutex reference_finder_lock_; - std::unique_ptr reference_finder_ + std::unique_ptr reference_finder_ RTC_GUARDED_BY(reference_finder_lock_); absl::optional current_codec_; uint32_t last_assembled_frame_rtp_timestamp_; diff --git a/video/rtp_video_stream_receiver2.cc b/video/rtp_video_stream_receiver2.cc index 4893d1adb6..8ea1bc7286 100644 --- a/video/rtp_video_stream_receiver2.cc +++ b/video/rtp_video_stream_receiver2.cc @@ -213,7 +213,7 @@ RtpVideoStreamReceiver2::RtpVideoStreamReceiver2( ProcessThread* process_thread, NackSender* nack_sender, KeyFrameRequestSender* keyframe_request_sender, - video_coding::OnCompleteFrameCallback* complete_frame_callback, + OnCompleteFrameCallback* complete_frame_callback, rtc::scoped_refptr frame_decryptor, rtc::scoped_refptr frame_transformer) : clock_(clock), @@ -294,8 +294,7 @@ RtpVideoStreamReceiver2::RtpVideoStreamReceiver2( &rtcp_feedback_buffer_); } - reference_finder_ = - std::make_unique(this); + reference_finder_ = std::make_unique(this); // Only construct the encrypted receiver if frame encryption is enabled. if (config_.crypto_options.sframe.require_frame_encryption) { @@ -832,10 +831,9 @@ void RtpVideoStreamReceiver2::OnAssembledFrame( // to overlap with old picture ids. To ensure that doesn't happen we // start from the |last_completed_picture_id_| and add an offset in case // of reordering. - reference_finder_ = - std::make_unique( - this, last_completed_picture_id_ + - std::numeric_limits::max()); + reference_finder_ = std::make_unique( + this, + last_completed_picture_id_ + std::numeric_limits::max()); current_codec_ = frame->codec_type(); } else { // Old frame from before the codec switch, discard it. diff --git a/video/rtp_video_stream_receiver2.h b/video/rtp_video_stream_receiver2.h index 616aeafeb7..12150031ac 100644 --- a/video/rtp_video_stream_receiver2.h +++ b/video/rtp_video_stream_receiver2.h @@ -63,7 +63,7 @@ class RtpVideoStreamReceiver2 : public LossNotificationSender, public RecoveredPacketReceiver, public RtpPacketSinkInterface, public KeyFrameRequestSender, - public video_coding::OnCompleteFrameCallback, + public OnCompleteFrameCallback, public OnDecryptedFrameCallback, public OnDecryptionStatusChangeCallback, public RtpVideoFrameReceiver { @@ -86,7 +86,7 @@ class RtpVideoStreamReceiver2 : public LossNotificationSender, // The KeyFrameRequestSender is optional; if not provided, key frame // requests are sent via the internal RtpRtcp module. KeyFrameRequestSender* keyframe_request_sender, - video_coding::OnCompleteFrameCallback* complete_frame_callback, + OnCompleteFrameCallback* complete_frame_callback, rtc::scoped_refptr frame_decryptor, rtc::scoped_refptr frame_transformer); ~RtpVideoStreamReceiver2() override; @@ -286,7 +286,7 @@ class RtpVideoStreamReceiver2 : public LossNotificationSender, const std::unique_ptr rtp_rtcp_; - video_coding::OnCompleteFrameCallback* complete_frame_callback_; + OnCompleteFrameCallback* complete_frame_callback_; KeyFrameRequestSender* const keyframe_request_sender_; RtcpFeedbackBuffer rtcp_feedback_buffer_; @@ -308,7 +308,7 @@ class RtpVideoStreamReceiver2 : public LossNotificationSender, absl::optional video_structure_frame_id_ RTC_GUARDED_BY(worker_task_checker_); - std::unique_ptr reference_finder_ + std::unique_ptr reference_finder_ RTC_GUARDED_BY(worker_task_checker_); absl::optional current_codec_ RTC_GUARDED_BY(worker_task_checker_); diff --git a/video/rtp_video_stream_receiver2_unittest.cc b/video/rtp_video_stream_receiver2_unittest.cc index 9684b4ac3a..ae5b508bf7 100644 --- a/video/rtp_video_stream_receiver2_unittest.cc +++ b/video/rtp_video_stream_receiver2_unittest.cc @@ -95,8 +95,7 @@ class MockKeyFrameRequestSender : public KeyFrameRequestSender { MOCK_METHOD(void, RequestKeyFrame, (), (override)); }; -class MockOnCompleteFrameCallback - : public video_coding::OnCompleteFrameCallback { +class MockOnCompleteFrameCallback : public OnCompleteFrameCallback { public: MOCK_METHOD(void, DoOnCompleteFrame, (video_coding::EncodedFrame*), ()); MOCK_METHOD(void, diff --git a/video/rtp_video_stream_receiver_unittest.cc b/video/rtp_video_stream_receiver_unittest.cc index 6bfe17ded8..0d7d4c9f58 100644 --- a/video/rtp_video_stream_receiver_unittest.cc +++ b/video/rtp_video_stream_receiver_unittest.cc @@ -94,8 +94,7 @@ class MockKeyFrameRequestSender : public KeyFrameRequestSender { MOCK_METHOD(void, RequestKeyFrame, (), (override)); }; -class MockOnCompleteFrameCallback - : public video_coding::OnCompleteFrameCallback { +class MockOnCompleteFrameCallback : public OnCompleteFrameCallback { public: MOCK_METHOD(void, DoOnCompleteFrame, (video_coding::EncodedFrame*), ()); MOCK_METHOD(void, diff --git a/video/video_receive_stream.h b/video/video_receive_stream.h index 8c63e323e0..f647fb1a48 100644 --- a/video/video_receive_stream.h +++ b/video/video_receive_stream.h @@ -48,7 +48,7 @@ namespace internal { class VideoReceiveStream : public webrtc::DEPRECATED_VideoReceiveStream, public rtc::VideoSinkInterface, public NackSender, - public video_coding::OnCompleteFrameCallback, + public OnCompleteFrameCallback, public Syncable, public CallStatsObserver { public: @@ -111,7 +111,7 @@ class VideoReceiveStream : public webrtc::DEPRECATED_VideoReceiveStream, void SendNack(const std::vector& sequence_numbers, bool buffering_allowed) override; - // Implements video_coding::OnCompleteFrameCallback. + // Implements OnCompleteFrameCallback. void OnCompleteFrame( std::unique_ptr frame) override; diff --git a/video/video_receive_stream2.h b/video/video_receive_stream2.h index 33855e7f4a..305c6a1ef9 100644 --- a/video/video_receive_stream2.h +++ b/video/video_receive_stream2.h @@ -77,7 +77,7 @@ struct VideoFrameMetaData { class VideoReceiveStream2 : public webrtc::VideoReceiveStream, public rtc::VideoSinkInterface, public NackSender, - public video_coding::OnCompleteFrameCallback, + public OnCompleteFrameCallback, public Syncable, public CallStatsObserver { public: @@ -130,7 +130,7 @@ class VideoReceiveStream2 : public webrtc::VideoReceiveStream, void SendNack(const std::vector& sequence_numbers, bool buffering_allowed) override; - // Implements video_coding::OnCompleteFrameCallback. + // Implements OnCompleteFrameCallback. void OnCompleteFrame( std::unique_ptr frame) override;