Author: akhaldi Date: Sat Nov 21 09:25:00 2015 New Revision: 69974
URL: http://svn.reactos.org/svn/reactos?rev=69974&view=rev Log: [MCIAVI32] Sync with Wine Staging 1.7.55. CORE-10536
Modified: trunk/reactos/dll/win32/mciavi32/mciavi.c trunk/reactos/dll/win32/mciavi32/mmoutput.c trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/mciavi32/mciavi.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mciavi32/mciavi.c... ============================================================================== --- trunk/reactos/dll/win32/mciavi32/mciavi.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/mciavi32/mciavi.c [iso-8859-1] Sat Nov 21 09:25:00 2015 @@ -391,8 +391,8 @@ { while(next_frame_us <= tc && wma->dwCurrVideoFrame < wma->dwToVideoFrame){ double dur; + dur = MCIAVI_PaintFrame(wma, hDC); ++wma->dwCurrVideoFrame; - dur = MCIAVI_PaintFrame(wma, hDC); if(!dur) break; next_frame_us += dur; @@ -400,14 +400,19 @@ } ReleaseDC(wma->hWndPaint, hDC); } - if(wma->dwCurrVideoFrame >= wma->dwToVideoFrame) - break; + if (wma->dwCurrVideoFrame >= wma->dwToVideoFrame) + { + if (!(dwFlags & MCI_DGV_PLAY_REPEAT)) + break; + TRACE("repeat media as requested\n"); + wma->dwCurrVideoFrame = wma->dwCurrAudioBlock = 0; + }
if (wma->lpWaveFormat) MCIAVI_PlayAudioBlocks(wma, nHdr, waveHdr);
tc = currenttime_us(); - if(tc < next_frame_us) + if (tc < next_frame_us) delta = next_frame_us - tc; else delta = 0; @@ -530,7 +535,7 @@ if (dwFlags & MCI_DGV_PLAY_REVERSE) return MCIERR_UNSUPPORTED_FUNCTION; if (dwFlags & MCI_TEST) return 0;
- if (dwFlags & (MCI_DGV_PLAY_REPEAT|MCI_MCIAVI_PLAY_WINDOW|MCI_MCIAVI_PLAY_FULLSCREEN|MCI_MCIAVI_PLAY_FULLBY2)) + if (dwFlags & (MCI_MCIAVI_PLAY_WINDOW|MCI_MCIAVI_PLAY_FULLSCREEN|MCI_MCIAVI_PLAY_FULLBY2)) FIXME("Unsupported flag %08x\n", dwFlags);
EnterCriticalSection(&wma->cs);
Modified: trunk/reactos/dll/win32/mciavi32/mmoutput.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mciavi32/mmoutput... ============================================================================== --- trunk/reactos/dll/win32/mciavi32/mmoutput.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/mciavi32/mmoutput.c [iso-8859-1] Sat Nov 21 09:25:00 2015 @@ -187,8 +187,11 @@ */ twocc = TWOCCFromFOURCC(mmck->ckid); if (twocc == TWOCCFromFOURCC(wma->inbih->biCompression)) - twocc = cktypeDIBcompressed; - + twocc = cktypeDIBcompressed; + /* Also detect some chunks that seem to be used by Indeo videos where the chunk is named + * after the codec. */ + else if (twocc == LOWORD(wma->ash_video.fccHandler)) + twocc = cktypeDIBcompressed; switch (twocc) { case cktypeDIBbits: case cktypeDIBcompressed: @@ -395,8 +398,8 @@ mmioAscend(wma->hFile, &mmckInfo, 0); } if (alb.numVideoFrames != wma->dwPlayableVideoFrames) { - WARN("Found %d video frames (/%d), reducing playable frames\n", - alb.numVideoFrames, wma->dwPlayableVideoFrames); + WARN("AVI header says %d frames, we found %d video frames, reducing playable frames\n", + wma->dwPlayableVideoFrames, alb.numVideoFrames); wma->dwPlayableVideoFrames = alb.numVideoFrames; } wma->dwPlayableAudioBlocks = alb.numAudioBlocks;
Modified: trunk/reactos/media/doc/README.WINE URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=6... ============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Sat Nov 21 09:25:00 2015 @@ -93,7 +93,7 @@ reactos/dll/win32/localui # Synced to WineStaging-1.7.47 reactos/dll/win32/lz32 # Synced to WineStaging-1.7.47 reactos/dll/win32/mapi32 # Synced to WineStaging-1.7.47 -reactos/dll/win32/mciavi32 # Synced to WineStaging-1.7.47 +reactos/dll/win32/mciavi32 # Synced to WineStaging-1.7.55 reactos/dll/win32/mcicda # Synced to WineStaging-1.7.47 reactos/dll/win32/mciqtz32 # Synced to WineStaging-1.7.47 reactos/dll/win32/mciseq # Synced to WineStaging-1.7.47