diff --git a/video/rtp_video_stream_receiver2.cc b/video/rtp_video_stream_receiver2.cc index e9cdde0ce7..75e71cdafa 100644 --- a/video/rtp_video_stream_receiver2.cc +++ b/video/rtp_video_stream_receiver2.cc @@ -719,6 +719,7 @@ bool RtpVideoStreamReceiver2::IsDecryptable() const { // RTC_RUN_ON(packet_sequence_checker_) void RtpVideoStreamReceiver2::OnInsertedPacket( video_coding::PacketBuffer::InsertResult result) { + RTC_DCHECK_RUN_ON(&worker_task_checker_); video_coding::PacketBuffer::Packet* first_packet = nullptr; int max_nack_count; int64_t min_recv_time; @@ -942,6 +943,7 @@ void RtpVideoStreamReceiver2::ManageFrame( // RTC_RUN_ON(packet_sequence_checker_) void RtpVideoStreamReceiver2::ReceivePacket(const RtpPacketReceived& packet) { + RTC_DCHECK_RUN_ON(&worker_task_checker_); if (packet.payload_size() == 0) { // Padding or keep-alive packet. // TODO(nisse): Could drop empty packets earlier, but need to figure out how @@ -992,6 +994,8 @@ void RtpVideoStreamReceiver2::ParseAndHandleEncapsulatingHeader( // correctly calculate frame references. // RTC_RUN_ON(packet_sequence_checker_) void RtpVideoStreamReceiver2::NotifyReceiverOfEmptyPacket(uint16_t seq_num) { + RTC_DCHECK_RUN_ON(&worker_task_checker_); + OnCompleteFrames(reference_finder_->PaddingReceived(seq_num)); OnInsertedPacket(packet_buffer_.InsertPadding(seq_num)); @@ -1126,6 +1130,8 @@ void RtpVideoStreamReceiver2::UpdateHistograms() { // RTC_RUN_ON(packet_sequence_checker_) void RtpVideoStreamReceiver2::InsertSpsPpsIntoTracker(uint8_t payload_type) { + RTC_DCHECK_RUN_ON(&worker_task_checker_); + auto codec_params_it = pt_codec_params_.find(payload_type); if (codec_params_it == pt_codec_params_.end()) return; diff --git a/video/rtp_video_stream_receiver2.h b/video/rtp_video_stream_receiver2.h index 78b8177372..0c7e826189 100644 --- a/video/rtp_video_stream_receiver2.h +++ b/video/rtp_video_stream_receiver2.h @@ -153,7 +153,10 @@ class RtpVideoStreamReceiver2 : public LossNotificationSender, // Decryption not SRTP. bool IsDecryptable() const; - // Don't use, still experimental. + // Request packet retransmits via NACK. Called via + // VideoReceiveStream2::SendNack, which gets called when + // RtpVideoStreamReceiver2::RtcpFeedbackBuffer's SendNack and + // SendBufferedRtcpFeedback methods (see `rtcp_feedback_buffer_` below). void RequestPacketRetransmit(const std::vector& sequence_numbers); // Implements OnDecryptedFrameCallback.