- strmini.h: Include windef.h so CDECL gets defined for msvc version of DEFINE_GUIDEX...
[reactos.git] / reactos / lib / drivers / sound / mmebuddy / wave / wodMessage.c
index 27dcbb9..108941e 100644 (file)
@@ -14,6 +14,7 @@
 #include <mmddk.h>
 
 #include <ntddsnd.h>
+#include <sndtypes.h>
 
 #include <mmebuddy.h>
 
@@ -30,7 +31,8 @@ MMRESULT HelloWorld(PSOUND_DEVICE_INSTANCE Instance, PVOID String)
     Standard MME driver entry-point for messages relating to wave audio
     output.
 */
-APIENTRY DWORD
+DWORD
+APIENTRY
 wodMessage(
     DWORD DeviceId,
     DWORD Message,
@@ -93,18 +95,26 @@ wodMessage(
 
         case WODM_WRITE :
         {
-            Result = MmeSubmitWaveHeader(PrivateHandle, Parameter1);
+            Result = MmeWriteWaveHeader(PrivateHandle, Parameter1);
+            break;
+        }
+
+        case WODM_RESET :
+        {
+            /* Stop playback, reset position to zero */
+            Result = MmeResetWavePlayback(PrivateHandle);
+            break;
+        }
+
+        case WODM_RESTART :
+        {
+            /* Continue playback when paused */
             break;
         }
 
         case WODM_GETPOS :
         {
-#if 0
-            /* Hacky code to test the threading */
-            PSOUND_DEVICE_INSTANCE Instance = (PSOUND_DEVICE_INSTANCE)PrivateHandle;
-            CallSoundThread(Instance->Thread, HelloWorld, Instance, L"Hello World!");
-            CallSoundThread(Instance->Thread, HelloWorld, Instance, L"Hello Universe!");
-#endif
+            Result = MmeGetPosition(WAVE_OUT_DEVICE_TYPE, DeviceId, PrivateHandle, (MMTIME*)Parameter1, Parameter2);
             break;
         }
     }