From bd26ba7c8b8bada97190e37f9f423c3a3edfda93 Mon Sep 17 00:00:00 2001 From: philipel Date: Sun, 29 Jan 2017 04:04:47 -0800 Subject: [PATCH] Only update VCMTiming on every received frame instead of every received packet. BUG=webrtc:5514, chromium:682636 Review-Url: https://codereview.webrtc.org/2663513003 Cr-Commit-Position: refs/heads/master@{#16345} --- webrtc/video/rtp_stream_receiver.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/webrtc/video/rtp_stream_receiver.cc b/webrtc/video/rtp_stream_receiver.cc index a63ae280f2..63c7d463c8 100644 --- a/webrtc/video/rtp_stream_receiver.cc +++ b/webrtc/video/rtp_stream_receiver.cc @@ -255,7 +255,6 @@ int32_t RtpStreamReceiver::OnReceivedPayloadData( ntp_estimator_.Estimate(rtp_header->header.timestamp); if (jitter_buffer_experiment_) { VCMPacket packet(payload_data, payload_size, rtp_header_with_ntp); - timing_->IncomingTimestamp(packet.timestamp, clock_->TimeInMilliseconds()); packet.timesNacked = nack_module_->OnReceivedPacket(packet); if (packet.codec == kVideoCodecH264) { @@ -412,6 +411,8 @@ int32_t RtpStreamReceiver::ResendPackets(const uint16_t* sequence_numbers, void RtpStreamReceiver::OnReceivedFrame( std::unique_ptr frame) { + if (!frame->delayed_by_retransmission()) + timing_->IncomingTimestamp(frame->timestamp, clock_->TimeInMilliseconds()); reference_finder_->ManageFrame(std::move(frame)); }