[PATCH] mciqtz32: Add support for MCI_SET.
Christian Costa
titan.costa at wanadoo.fr
Tue Apr 28 16:18:29 CDT 2009
---
dlls/mciqtz32/mciqtz.c | 40 +++++++++++++++++++++++++++++++++++++++-
dlls/mciqtz32/mciqtz_private.h | 1 +
2 files changed, 40 insertions(+), 1 deletions(-)
-------------- next part --------------
diff --git a/dlls/mciqtz32/mciqtz.c b/dlls/mciqtz32/mciqtz.c
index 659cbc4..8371227 100644
--- a/dlls/mciqtz32/mciqtz.c
+++ b/dlls/mciqtz32/mciqtz.c
@@ -404,6 +404,44 @@ static DWORD MCIQTZ_mciGetDevCaps(UINT wDevID, DWORD dwFlags, LPMCI_GETDEVCAPS_P
}
/***************************************************************************
+ * MCIQTZ_mciSet [internal]
+ */
+static DWORD MCIQTZ_mciSet(UINT wDevID, DWORD dwFlags, LPMCI_DGV_SET_PARMS lpParms)
+{
+ WINE_MCIQTZ* wma;
+
+ TRACE("(%04x, %08X, %p)\n", wDevID, dwFlags, lpParms);
+
+ if (!lpParms)
+ return MCIERR_NULL_PARAMETER_BLOCK;
+
+ wma = MCIQTZ_mciGetOpenDev(wDevID);
+ if (!wma)
+ return MCIERR_INVALID_DEVICE_ID;
+
+ if (dwFlags & MCI_SET_TIME_FORMAT) {
+ switch (lpParms->dwTimeFormat) {
+ case MCI_FORMAT_MILLISECONDS:
+ TRACE("MCI_SET_TIME_FORMAT = MCI_FORMAT_MILLISECONDS\n");
+ wma->time_format = MCI_FORMAT_MILLISECONDS;
+ break;
+ case MCI_FORMAT_FRAMES:
+ TRACE("MCI_SET_TIME_FORMAT = MCI_FORMAT_FRAMES\n");
+ wma->time_format = MCI_FORMAT_FRAMES;
+ break;
+ default:
+ WARN("Bad time format %u\n", lpParms->dwTimeFormat);
+ return MCIERR_BAD_TIME_FORMAT;
+ }
+ }
+
+ if (dwFlags & ~MCI_SET_TIME_FORMAT)
+ FIXME("Flags not supported yet %08lX\n", dwFlags & ~MCI_SET_TIME_FORMAT);
+
+ return 0;
+}
+
+/***************************************************************************
* MCIQTZ_mciStatus [internal]
*/
static DWORD MCIQTZ_mciStatus(UINT wDevID, DWORD dwFlags, LPMCI_DGV_STATUS_PARMSW lpParms)
@@ -602,10 +640,10 @@ LRESULT CALLBACK MCIQTZ_DriverProc(DWORD_PTR dwDevID, HDRVR hDriv, UINT wMsg,
case MCI_SEEK: return MCIQTZ_mciSeek (dwDevID, dwParam1, (LPMCI_SEEK_PARMS) dwParam2);
case MCI_STOP: return MCIQTZ_mciStop (dwDevID, dwParam1, (LPMCI_GENERIC_PARMS) dwParam2);
case MCI_GETDEVCAPS: return MCIQTZ_mciGetDevCaps(dwDevID, dwParam1, (LPMCI_GETDEVCAPS_PARMS) dwParam2);
+ case MCI_SET: return MCIQTZ_mciSet (dwDevID, dwParam1, (LPMCI_DGV_SET_PARMS) dwParam2);
case MCI_STATUS: return MCIQTZ_mciStatus (dwDevID, dwParam1, (LPMCI_DGV_STATUS_PARMSW) dwParam2);
case MCI_WHERE: return MCIQTZ_mciWhere (dwDevID, dwParam1, (LPMCI_DGV_RECT_PARMS) dwParam2);
case MCI_RECORD:
- case MCI_SET:
case MCI_PAUSE:
case MCI_RESUME:
case MCI_INFO:
diff --git a/dlls/mciqtz32/mciqtz_private.h b/dlls/mciqtz32/mciqtz_private.h
index 23945a4..dcfcad0 100644
--- a/dlls/mciqtz32/mciqtz_private.h
+++ b/dlls/mciqtz32/mciqtz_private.h
@@ -31,6 +31,7 @@ typedef struct {
IGraphBuilder* pgraph;
IMediaControl* pmctrl;
BOOL started;
+ DWORD time_format;
} WINE_MCIQTZ;
#endif /* __WINE_PRIVATE_MCIQTZ_H */
More information about the wine-patches
mailing list