From: divverent Date: Tue, 17 Feb 2009 20:36:58 +0000 (+0000) Subject: capturevideo: prefill incomplete header fields a bit more defensively: 0xFFFFFFFF... X-Git-Tag: xonotic-v0.1.0preview~1874 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=a99e40916eec488b3d0865eb1264626eab239aa0;p=xonotic%2Fdarkplaces.git capturevideo: prefill incomplete header fields a bit more defensively: 0xFFFFFFFF, not 0, for total frames git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8721 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/cl_screen.c b/cl_screen.c index 50dcb62c..2471503b 100644 --- a/cl_screen.c +++ b/cl_screen.c @@ -1332,7 +1332,7 @@ Cr = R * .500 + G * -.419 + B * -.0813 + 128.; SCR_CaptureVideo_RIFF_Write32(0); // padding granularity SCR_CaptureVideo_RIFF_Write32(0x910); // flags (AVIF_HASINDEX | AVIF_ISINTERLEAVED | AVIF_TRUSTCKTYPE) cls.capturevideo.videofile_firstchunkframes_offset = SCR_CaptureVideo_RIFF_GetPosition(); - SCR_CaptureVideo_RIFF_Write32(0); // total frames + SCR_CaptureVideo_RIFF_Write32(0xFFFFFFFF); // total frames SCR_CaptureVideo_RIFF_Write32(0); // initial frames if (cls.capturevideo.soundrate) SCR_CaptureVideo_RIFF_Write32(2); // number of streams @@ -1360,7 +1360,7 @@ Cr = R * .500 + G * -.419 + B * -.0813 + 128.; SCR_CaptureVideo_RIFF_Write32(n); // samples/second multiplied by divisor SCR_CaptureVideo_RIFF_Write32(0); // start cls.capturevideo.videofile_totalframes_offset1 = SCR_CaptureVideo_RIFF_GetPosition(); - SCR_CaptureVideo_RIFF_Write32(0); // length + SCR_CaptureVideo_RIFF_Write32(0xFFFFFFFF); // length SCR_CaptureVideo_RIFF_Write32(width*height+(width/2)*(height/2)*2); // suggested buffer size SCR_CaptureVideo_RIFF_Write32(0); // quality SCR_CaptureVideo_RIFF_Write32(0); // sample size @@ -1436,7 +1436,7 @@ Cr = R * .500 + G * -.419 + B * -.0813 + 128.; SCR_CaptureVideo_RIFF_Write32((int)(cls.capturevideo.soundrate)); // samples/second multiplied by divisor SCR_CaptureVideo_RIFF_Write32(0); // start cls.capturevideo.videofile_totalsampleframes_offset = SCR_CaptureVideo_RIFF_GetPosition(); - SCR_CaptureVideo_RIFF_Write32(0); // length + SCR_CaptureVideo_RIFF_Write32(0xFFFFFFFF); // length SCR_CaptureVideo_RIFF_Write32(cls.capturevideo.soundrate * 2); // suggested buffer size (this is a half second) SCR_CaptureVideo_RIFF_Write32(0); // quality SCR_CaptureVideo_RIFF_Write32(4); // sample size @@ -1481,7 +1481,7 @@ Cr = R * .500 + G * -.419 + B * -.0813 + 128.; SCR_CaptureVideo_RIFF_Push("LIST", "odml", 8+4); SCR_CaptureVideo_RIFF_Push("dmlh", NULL, 4); cls.capturevideo.videofile_totalframes_offset2 = SCR_CaptureVideo_RIFF_GetPosition(); - SCR_CaptureVideo_RIFF_Write32(0); + SCR_CaptureVideo_RIFF_Write32(0xFFFFFFFF); SCR_CaptureVideo_RIFF_Pop(); SCR_CaptureVideo_RIFF_Pop();