VCM/JB: Break and skip to key if possible

BUG=1734
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1421004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3969 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
mikhal@webrtc.org 2013-05-07 16:07:52 +00:00
parent 3004c79c6a
commit 9c7685f9a6

View File

@ -466,8 +466,7 @@ VCMEncodedFrame* VCMJitterBuffer::GetCompleteFrameForDecoding(
break;
}
} else {
crit_sect_->Leave();
return NULL;
break;
}
}
// Inside |crit_sect_|.
@ -477,7 +476,7 @@ VCMEncodedFrame* VCMJitterBuffer::GetCompleteFrameForDecoding(
}
if (!decode_with_errors_ && it == frame_list_.end()) {
// Even after signaling we're still missing a complete continuous frame.
// We're still missing a complete continuous frame.
// Look for a complete key frame if we're not decoding with errors.
it = find_if(frame_list_.begin(), frame_list_.end(),
CompleteKeyFrameCriteria());
@ -564,7 +563,7 @@ VCMEncodedFrame* VCMJitterBuffer::MaybeGetIncompleteFrameForDecoding() {
frame_list_.erase(frame_list_.begin());
if (frame_list_.empty()) {
TRACE_EVENT_INSTANT1("webrtc", "JB::FrameListEmptied",
"type", "GetFrameForDecoding");
"type", "MaybeGetIncompleteFrameForDecoding");
}
// Look for previous frame loss