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.…
==============================================================================
--- 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/mmoutpu…
==============================================================================
--- 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=…
==============================================================================
--- 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