Index: webrtc/modules/video_coding/main/source/jitter_buffer.cc |
diff --git a/webrtc/modules/video_coding/main/source/jitter_buffer.cc b/webrtc/modules/video_coding/main/source/jitter_buffer.cc |
index 9156cc1a61dba45624bda8c73da4886fce71b242..07bed230aa7b763b81a43cb6aefc492f79ac4014 100644 |
--- a/webrtc/modules/video_coding/main/source/jitter_buffer.cc |
+++ b/webrtc/modules/video_coding/main/source/jitter_buffer.cc |
@@ -940,9 +940,6 @@ VCMFrameBuffer* VCMJitterBuffer::NextFrame() const { |
} |
bool VCMJitterBuffer::UpdateNackList(uint16_t sequence_number) { |
- if (nack_mode_ == kNoNack) { |
- return true; |
- } |
// Make sure we don't add packets which are already too old to be decoded. |
if (!last_decoded_state_.in_initial_state()) { |
latest_received_sequence_number_ = LatestSequenceNumber( |
@@ -951,6 +948,10 @@ bool VCMJitterBuffer::UpdateNackList(uint16_t sequence_number) { |
} |
if (IsNewerSequenceNumber(sequence_number, |
latest_received_sequence_number_)) { |
+ if (nack_mode_ == kNoNack) { |
+ // Packets missing but NACK disabled, request key frame. |
pbos-webrtc
2015/06/26 05:01:02
Should we request a keyframe even though the seque
joachim
2015/06/26 07:46:01
I'm not sure how to check if the sequence is decod
|
+ return false; |
+ } |
// Push any missing sequence numbers to the NACK list. |
for (uint16_t i = latest_received_sequence_number_ + 1; |
IsNewerSequenceNumber(sequence_number, i); ++i) { |
@@ -967,7 +968,7 @@ bool VCMJitterBuffer::UpdateNackList(uint16_t sequence_number) { |
LOG(LS_WARNING) << "Requesting key frame due to missing too old packets"; |
return false; |
} |
- } else { |
+ } else if (nack_mode_ != kNoNack) { |
missing_sequence_numbers_.erase(sequence_number); |
TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"), "RemoveNack", |
"seqnum", sequence_number); |