Module: wine Branch: master Commit: e03b59c6a1097f13f3ff249c5131d294cf443f31 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e03b59c6a1097f13f3ff249c51...
Author: Jörg Höhle hoehle@users.sourceforge.net Date: Sat Nov 28 07:09:56 2009 +0100
mciavi: Complete MCI GetDevCaps/capability.
The FIXME comments indicate flags where Wine differs from native w2k. The returned results are consistent with what Wine implements.
---
dlls/mciavi32/info.c | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 43 insertions(+), 4 deletions(-)
diff --git a/dlls/mciavi32/info.c b/dlls/mciavi32/info.c index 64d51eb..e10bfd0 100644 --- a/dlls/mciavi32/info.c +++ b/dlls/mciavi32/info.c @@ -80,6 +80,7 @@ DWORD MCIAVI_mciGetDevCaps(UINT wDevID, DWORD dwFlags, LPMCI_GETDEVCAPS_PARMS l
if (lpParms == NULL) return MCIERR_NULL_PARAMETER_BLOCK; if (wma == NULL) return MCIERR_INVALID_DEVICE_ID; + if (!(dwFlags & MCI_GETDEVCAPS_ITEM)) return MCIERR_MISSING_PARAMETER;
EnterCriticalSection(&wma->cs);
@@ -130,14 +131,52 @@ DWORD MCIAVI_mciGetDevCaps(UINT wDevID, DWORD dwFlags, LPMCI_GETDEVCAPS_PARMS l lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE); ret = MCI_RESOURCE_RETURNED; break; + case MCI_DGV_GETDEVCAPS_CAN_REVERSE: + TRACE("MCI_DGV_GETDEVCAPS_CAN_REVERSE !\n"); + lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE); /* FIXME */ + ret = MCI_RESOURCE_RETURNED; + break; + case MCI_DGV_GETDEVCAPS_CAN_STRETCH: + TRACE("MCI_DGV_GETDEVCAPS_CAN_STRETCH !\n"); + lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE); /* FIXME */ + ret = MCI_RESOURCE_RETURNED; + break; + case MCI_DGV_GETDEVCAPS_CAN_LOCK: + TRACE("MCI_DGV_GETDEVCAPS_CAN_LOCK !\n"); + lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE); + ret = MCI_RESOURCE_RETURNED; + break; + case MCI_DGV_GETDEVCAPS_CAN_FREEZE: + TRACE("MCI_DGV_GETDEVCAPS_CAN_FREEZE !\n"); + lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE); + ret = MCI_RESOURCE_RETURNED; + break; + case MCI_DGV_GETDEVCAPS_CAN_STR_IN: + TRACE("MCI_DGV_GETDEVCAPS_CAN_STRETCH_INPUT !\n"); + lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE); + ret = MCI_RESOURCE_RETURNED; + break; + case MCI_DGV_GETDEVCAPS_HAS_STILL: + TRACE("MCI_DGV_GETDEVCAPS_HAS_STILL !\n"); + lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE); + ret = MCI_RESOURCE_RETURNED; + break; + case MCI_DGV_GETDEVCAPS_CAN_TEST: + TRACE("MCI_DGV_GETDEVCAPS_CAN_TEST !\n"); + lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE); /* FIXME */ + ret = MCI_RESOURCE_RETURNED; + break; + case MCI_DGV_GETDEVCAPS_PALETTES: + TRACE("MCI_DGV_GETDEVCAPS_PALETTES !\n"); + lpParms->dwReturn = MAKEMCIRESOURCE(FALSE, MCI_FALSE); /* FIXME */ + ret = MCI_RESOURCE_RETURNED; + break; + /* w2k does not know MAX_WINDOWS or MAX/MINIMUM_RATE */ default: FIXME("Unknown capability (%08x) !\n", lpParms->dwItem); - ret = MCIERR_UNRECOGNIZED_COMMAND; + ret = MCIERR_UNSUPPORTED_FUNCTION; break; } - } else { - WARN("No GetDevCaps-Item !\n"); - ret = MCIERR_UNRECOGNIZED_COMMAND; }
LeaveCriticalSection(&wma->cs);