Reverts the workaround in r823 and solves a macro bug.

The macro bug caused frames to be dropped after being grabbed
for decoding.

BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/248004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@831 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
stefan@webrtc.org
2011-10-28 12:25:34 +00:00
parent 8b1f621e3a
commit eb65860720
2 changed files with 8 additions and 2 deletions

View File

@@ -23,8 +23,8 @@ inline WebRtc_UWord32 MaskWord64ToUWord32(WebRtc_Word64 w64)
return static_cast<WebRtc_UWord32>(MASK_32_BITS(w64)); return static_cast<WebRtc_UWord32>(MASK_32_BITS(w64));
} }
#define VCM_MAX(a, b) ((a) > (b)) ? (a) : (b) #define VCM_MAX(a, b) (((a) > (b)) ? (a) : (b))
#define VCM_MIN(a, b) ((a) < (b)) ? (a) : (b) #define VCM_MIN(a, b) (((a) < (b)) ? (a) : (b))
#define VCM_DEFAULT_CODEC_WIDTH 352 #define VCM_DEFAULT_CODEC_WIDTH 352
#define VCM_DEFAULT_CODEC_HEIGHT 288 #define VCM_DEFAULT_CODEC_HEIGHT 288

View File

@@ -254,6 +254,12 @@ VCMReceiver::FrameForDecoding(WebRtc_UWord16 maxWaitTimeMs,
return NULL; return NULL;
} }
if (frame == NULL && VCM_MIN(waitTimeMs, maxWaitTimeMs) == 0)
{
// No time to wait for a complete frame,
// check if we have an incomplete
frame = _jitterBuffer.GetFrameForDecoding();
}
if (frame == NULL) if (frame == NULL)
{ {
// Wait for a complete frame // Wait for a complete frame