mirror of
https://github.com/reactos/reactos.git
synced 2024-10-15 05:37:44 +00:00
[MCIWAVE]
* Sync to Wine 1.5.4. svn path=/trunk/; revision=56620
This commit is contained in:
parent
3323409676
commit
a67198a3ee
|
@ -225,7 +225,7 @@ static void WAVE_mciNotify(DWORD_PTR hWndCallBack, WINE_MCIWAVE* wmw, UINT wStat
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* WAVE_ConvertByteToTimeFormat [internal]
|
* WAVE_ConvertByteToTimeFormat [internal]
|
||||||
*/
|
*/
|
||||||
static DWORD WAVE_ConvertByteToTimeFormat(WINE_MCIWAVE* wmw, DWORD val, LPDWORD lpRet)
|
static DWORD WAVE_ConvertByteToTimeFormat(WINE_MCIWAVE* wmw, DWORD val)
|
||||||
{
|
{
|
||||||
DWORD ret = 0;
|
DWORD ret = 0;
|
||||||
|
|
||||||
|
@ -243,7 +243,6 @@ static DWORD WAVE_ConvertByteToTimeFormat(WINE_MCIWAVE* wmw, DWORD val, LPDWORD
|
||||||
WARN("Bad time format %u!\n", wmw->dwMciTimeFormat);
|
WARN("Bad time format %u!\n", wmw->dwMciTimeFormat);
|
||||||
}
|
}
|
||||||
TRACE("val=%u=0x%08x [tf=%u] => ret=%u\n", val, val, wmw->dwMciTimeFormat, ret);
|
TRACE("val=%u=0x%08x [tf=%u] => ret=%u\n", val, val, wmw->dwMciTimeFormat, ret);
|
||||||
*lpRet = 0;
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -257,6 +256,9 @@ static DWORD WAVE_ConvertTimeFormatToByte(WINE_MCIWAVE* wmw, DWORD val)
|
||||||
switch (wmw->dwMciTimeFormat) {
|
switch (wmw->dwMciTimeFormat) {
|
||||||
case MCI_FORMAT_MILLISECONDS:
|
case MCI_FORMAT_MILLISECONDS:
|
||||||
ret = MulDiv(val,wmw->lpWaveFormat->nAvgBytesPerSec,1000);
|
ret = MulDiv(val,wmw->lpWaveFormat->nAvgBytesPerSec,1000);
|
||||||
|
if (ret > wmw->ckWaveData.cksize &&
|
||||||
|
val == WAVE_ConvertByteToTimeFormat(wmw, wmw->ckWaveData.cksize))
|
||||||
|
ret = wmw->ckWaveData.cksize;
|
||||||
break;
|
break;
|
||||||
case MCI_FORMAT_BYTES:
|
case MCI_FORMAT_BYTES:
|
||||||
ret = val;
|
ret = val;
|
||||||
|
@ -868,6 +870,10 @@ static DWORD WAVE_mciPlay(MCIDEVICEID wDevID, DWORD_PTR dwFlags, DWORD_PTR pmt,
|
||||||
|
|
||||||
whidx = 0;
|
whidx = 0;
|
||||||
wmw->hEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
|
wmw->hEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
|
||||||
|
if (!wmw->hEvent) {
|
||||||
|
dwRet = MCIERR_OUT_OF_MEMORY;
|
||||||
|
goto cleanUp;
|
||||||
|
}
|
||||||
wmw->dwEventCount = 1L; /* for first buffer */
|
wmw->dwEventCount = 1L; /* for first buffer */
|
||||||
|
|
||||||
TRACE("Playing (normalized) from byte=%u for %u bytes\n", wmw->dwPosition, left);
|
TRACE("Playing (normalized) from byte=%u for %u bytes\n", wmw->dwPosition, left);
|
||||||
|
@ -919,6 +925,7 @@ cleanUp:
|
||||||
wmw->hWave = 0;
|
wmw->hWave = 0;
|
||||||
}
|
}
|
||||||
CloseHandle(wmw->hEvent);
|
CloseHandle(wmw->hEvent);
|
||||||
|
wmw->hEvent = NULL;
|
||||||
|
|
||||||
wmw->dwStatus = MCI_MODE_STOP;
|
wmw->dwStatus = MCI_MODE_STOP;
|
||||||
|
|
||||||
|
@ -1484,7 +1491,7 @@ static DWORD WAVE_mciStatus(MCIDEVICEID wDevID, DWORD dwFlags, LPMCI_STATUS_PARM
|
||||||
return MCIERR_UNSUPPORTED_FUNCTION;
|
return MCIERR_UNSUPPORTED_FUNCTION;
|
||||||
}
|
}
|
||||||
/* only one track in file is currently handled, so don't take care of MCI_TRACK flag */
|
/* only one track in file is currently handled, so don't take care of MCI_TRACK flag */
|
||||||
lpParms->dwReturn = WAVE_ConvertByteToTimeFormat(wmw, wmw->ckWaveData.cksize, &ret);
|
lpParms->dwReturn = WAVE_ConvertByteToTimeFormat(wmw, wmw->ckWaveData.cksize);
|
||||||
TRACE("MCI_STATUS_LENGTH => %lu\n", lpParms->dwReturn);
|
TRACE("MCI_STATUS_LENGTH => %lu\n", lpParms->dwReturn);
|
||||||
break;
|
break;
|
||||||
case MCI_STATUS_MODE:
|
case MCI_STATUS_MODE:
|
||||||
|
@ -1509,8 +1516,7 @@ static DWORD WAVE_mciStatus(MCIDEVICEID wDevID, DWORD dwFlags, LPMCI_STATUS_PARM
|
||||||
}
|
}
|
||||||
/* only one track in file is currently handled, so don't take care of MCI_TRACK flag */
|
/* only one track in file is currently handled, so don't take care of MCI_TRACK flag */
|
||||||
lpParms->dwReturn = WAVE_ConvertByteToTimeFormat(wmw,
|
lpParms->dwReturn = WAVE_ConvertByteToTimeFormat(wmw,
|
||||||
(dwFlags & MCI_STATUS_START) ? 0 : wmw->dwPosition,
|
(dwFlags & MCI_STATUS_START) ? 0 : wmw->dwPosition);
|
||||||
&ret);
|
|
||||||
TRACE("MCI_STATUS_POSITION %s => %lu\n",
|
TRACE("MCI_STATUS_POSITION %s => %lu\n",
|
||||||
(dwFlags & MCI_STATUS_START) ? "start" : "current", lpParms->dwReturn);
|
(dwFlags & MCI_STATUS_START) ? "start" : "current", lpParms->dwReturn);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -87,7 +87,7 @@ reactos/dll/win32/mciavi32 # Synced to Wine-1.3.37
|
||||||
reactos/dll/win32/mcicda # Synced to Wine-1.3.37
|
reactos/dll/win32/mcicda # Synced to Wine-1.3.37
|
||||||
reactos/dll/win32/mciqtz32 # Synced to Wine-1.5.4
|
reactos/dll/win32/mciqtz32 # Synced to Wine-1.5.4
|
||||||
reactos/dll/win32/mciseq # Synced to Wine-1.3.37
|
reactos/dll/win32/mciseq # Synced to Wine-1.3.37
|
||||||
reactos/dll/win32/mciwave # Synced to Wine-1.3.37
|
reactos/dll/win32/mciwave # Synced to Wine-1.5.4
|
||||||
reactos/dll/win32/mlang # Synced to Wine-1.3.37
|
reactos/dll/win32/mlang # Synced to Wine-1.3.37
|
||||||
reactos/dll/win32/mpr # Autosync
|
reactos/dll/win32/mpr # Autosync
|
||||||
reactos/dll/win32/mprapi # Synced to Wine-1.3.37
|
reactos/dll/win32/mprapi # Synced to Wine-1.3.37
|
||||||
|
|
Loading…
Reference in a new issue