Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(795)

Unified Diff: webrtc/modules/video_coding/main/source/jitter_buffer.cc

Issue 1211873004: Request keyframe if too many packets are missing and NACK is disabled. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | webrtc/video/end_to_end_tests.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« no previous file with comments | « no previous file | webrtc/video/end_to_end_tests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698