diff options
author | Danil Chapovalov <danilchap@webrtc.org> | 2022-07-25 15:58:28 +0200 |
---|---|---|
committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-07-26 09:27:23 +0000 |
commit | 6e7c2685e3f2a17774481b042e04b38f68cd8fba (patch) | |
tree | d6459a193865e3188e9a34b8a34a02bd0aa1e39f /video/rtp_video_stream_receiver2.cc | |
parent | a3f2e7200877fbceaf2c3c6d475774198fd1f00c (diff) | |
download | webrtc-6e7c2685e3f2a17774481b042e04b38f68cd8fba.tar.gz |
Allow recursive check for RTC_DCHECK_RUN_ON macro
instead of using Lock/Unlock attributes, use Assert attribute to annotate code is running on certain task queue or thread.
Such check better matches what is checked, in particular allows to
recheck (and thus better document) currently used task queue
Bug: None
Change-Id: I5bc1c397efbc8342cf7915093b578bb015c85651
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269381
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37619}
Diffstat (limited to 'video/rtp_video_stream_receiver2.cc')
-rw-r--r-- | video/rtp_video_stream_receiver2.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/video/rtp_video_stream_receiver2.cc b/video/rtp_video_stream_receiver2.cc index 84aeae8e63..b516b677f7 100644 --- a/video/rtp_video_stream_receiver2.cc +++ b/video/rtp_video_stream_receiver2.cc @@ -351,11 +351,11 @@ absl::optional<Syncable::Info> RtpVideoStreamReceiver2::GetSyncInfo() const { return info; } -// RTC_RUN_ON(packet_sequence_checker_) RtpVideoStreamReceiver2::ParseGenericDependenciesResult RtpVideoStreamReceiver2::ParseGenericDependenciesExtension( const RtpPacketReceived& rtp_packet, RTPVideoHeader* video_header) { + RTC_DCHECK_RUN_ON(&packet_sequence_checker_); if (rtp_packet.HasExtension<RtpDependencyDescriptorExtension>()) { webrtc::DependencyDescriptor dependency_descriptor; if (!rtp_packet.GetExtension<RtpDependencyDescriptorExtension>( @@ -707,9 +707,9 @@ bool RtpVideoStreamReceiver2::IsDecryptable() const { return frames_decryptable_; } -// RTC_RUN_ON(packet_sequence_checker_) void RtpVideoStreamReceiver2::OnInsertedPacket( video_coding::PacketBuffer::InsertResult result) { + RTC_DCHECK_RUN_ON(&packet_sequence_checker_); RTC_DCHECK_RUN_ON(&worker_task_checker_); video_coding::PacketBuffer::Packet* first_packet = nullptr; int max_nack_count; @@ -785,9 +785,9 @@ void RtpVideoStreamReceiver2::OnInsertedPacket( } } -// RTC_RUN_ON(packet_sequence_checker_) void RtpVideoStreamReceiver2::OnAssembledFrame( std::unique_ptr<RtpFrameObject> frame) { + RTC_DCHECK_RUN_ON(&packet_sequence_checker_); RTC_DCHECK(frame); const absl::optional<RTPVideoHeader::GenericDescriptorInfo>& descriptor = @@ -852,9 +852,9 @@ void RtpVideoStreamReceiver2::OnAssembledFrame( } } -// RTC_RUN_ON(packet_sequence_checker_) void RtpVideoStreamReceiver2::OnCompleteFrames( RtpFrameReferenceFinder::ReturnVector frames) { + RTC_DCHECK_RUN_ON(&packet_sequence_checker_); for (auto& frame : frames) { last_seq_num_for_pic_id_[frame->Id()] = frame->last_seq_num(); @@ -952,8 +952,8 @@ void RtpVideoStreamReceiver2::ManageFrame( OnCompleteFrames(reference_finder_->ManageFrame(std::move(frame))); } -// RTC_RUN_ON(packet_sequence_checker_) void RtpVideoStreamReceiver2::ReceivePacket(const RtpPacketReceived& packet) { + RTC_DCHECK_RUN_ON(&packet_sequence_checker_); RTC_DCHECK_RUN_ON(&worker_task_checker_); if (packet.payload_size() == 0) { // Padding or keep-alive packet. @@ -982,9 +982,9 @@ void RtpVideoStreamReceiver2::ReceivePacket(const RtpPacketReceived& packet) { parsed_payload->video_header); } -// RTC_RUN_ON(packet_sequence_checker_) void RtpVideoStreamReceiver2::ParseAndHandleEncapsulatingHeader( const RtpPacketReceived& packet) { + RTC_DCHECK_RUN_ON(&packet_sequence_checker_); if (packet.PayloadType() == config_.rtp.red_payload_type && packet.payload_size() > 0) { if (packet.payload()[0] == config_.rtp.ulpfec_payload_type) { @@ -1003,8 +1003,8 @@ void RtpVideoStreamReceiver2::ParseAndHandleEncapsulatingHeader( // In the case of a video stream without picture ids and no rtx the // RtpFrameReferenceFinder will need to know about padding to // correctly calculate frame references. -// RTC_RUN_ON(packet_sequence_checker_) void RtpVideoStreamReceiver2::NotifyReceiverOfEmptyPacket(uint16_t seq_num) { + RTC_DCHECK_RUN_ON(&packet_sequence_checker_); RTC_DCHECK_RUN_ON(&worker_task_checker_); OnCompleteFrames(reference_finder_->PaddingReceived(seq_num)); @@ -1140,8 +1140,8 @@ void RtpVideoStreamReceiver2::UpdateHistograms() { } } -// RTC_RUN_ON(packet_sequence_checker_) void RtpVideoStreamReceiver2::InsertSpsPpsIntoTracker(uint8_t payload_type) { + RTC_DCHECK_RUN_ON(&packet_sequence_checker_); RTC_DCHECK_RUN_ON(&worker_task_checker_); auto codec_params_it = pt_codec_params_.find(payload_type); |