wma->hStopEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
wma->wDevID = modp->wDeviceID;
wma->wCommandTable = mciLoadCommandResource(MCIAVI_hInstance, mciAviWStr, 0);
+ wma->dwStatus = MCI_MODE_NOT_READY;
modp->wCustomCommandTable = wma->wCommandTable;
modp->wType = MCI_DEVTYPE_DIGITAL_VIDEO;
mciSetDriverData(wma->wDevID, (DWORD_PTR)wma);
wma = MCIAVI_mciGetOpenDev(wDevID);
if (wma == NULL) return MCIERR_INVALID_DEVICE_ID;
+ MCIAVI_mciStop(wDevID, MCI_WAIT, NULL);
+
EnterCriticalSection(&wma->cs);
if (wma->nUseCount == 1) {
- if (wma->dwStatus != MCI_MODE_STOP)
- dwRet = MCIAVI_mciStop(wDevID, MCI_WAIT, NULL);
MCIAVI_CleanUp(wma);
if ((dwFlags & MCI_NOTIFY) && lpParms) {
{
WINE_MCIAVI *wma;
- FIXME("(%04x, %08x, %p) : stub\n", wDevID, dwFlags, lpParms);
-
if (lpParms == NULL) return MCIERR_NULL_PARAMETER_BLOCK;
+ FIXME("(%04x, %08x, %p) Item %04x: stub\n", wDevID, dwFlags, lpParms, dwFlags & MCI_DGV_SETAUDIO_ITEM ? lpParms->dwItem : 0);
+
wma = MCIAVI_mciGetOpenDev(wDevID);
if (wma == NULL) return MCIERR_INVALID_DEVICE_ID;
- return MCIERR_UNSUPPORTED_FUNCTION; /* like w2k */
+ return 0;
}
/******************************************************************************
{
WINE_MCIAVI *wma;
- FIXME("(%04x, %08x, %p) : stub\n", wDevID, dwFlags, lpParms);
-
if (lpParms == NULL) return MCIERR_NULL_PARAMETER_BLOCK;
+ FIXME("(%04x, %08x, %p) Item %04x: stub\n", wDevID, dwFlags, lpParms, dwFlags & MCI_DGV_SETVIDEO_ITEM ? lpParms->dwItem : 0);
+
wma = MCIAVI_mciGetOpenDev(wDevID);
if (wma == NULL) return MCIERR_INVALID_DEVICE_ID;
- return MCIERR_UNSUPPORTED_FUNCTION; /* like w2k */
+ return 0;
}
/******************************************************************************