jitter buffer update: waiting for key frame when Nack is enabled and continuity cannot be determined.

Review URL: http://webrtc-codereview.appspot.com/266010
Patch from mikhals <mikhal@webrtc.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@924 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
mflodman@webrtc.org 2011-11-10 12:50:48 +00:00
parent 855a77c972
commit 637a59e68e

View File

@ -746,6 +746,9 @@ VCMJitterBuffer::GetCompleteFrameForDecoding(WebRtc_UWord32 maxWaitTimeMS)
CleanUpOldFrames();
CleanUpSizeZeroFrames();
if (_lastDecodedSeqNum == -1 && WaitForNack()) {
_waitingForKeyFrame = true;
}
VCMFrameListItem* oldestFrameListItem = FindOldestCompleteContinuousFrame();
VCMFrameBuffer* oldestFrame = NULL;
if (oldestFrameListItem != NULL)
@ -1109,6 +1112,11 @@ VCMJitterBuffer::GetFrameForDecodingNACK()
CleanUpSizeZeroFrames();
// First look for a complete _continuous_ frame.
// When waiting for nack, wait for a key frame, if a continuous frame cannot
// be determined (i.e. lastDecodedSeqNum = -1)
if (_lastDecodedSeqNum == -1) {
_waitingForKeyFrame = true;
}
VCMFrameListItem* oldestFrameListItem = FindOldestCompleteContinuousFrame();
VCMFrameBuffer* oldestFrame = NULL;
if (oldestFrameListItem != NULL)