- Partly implement WIDM_ADDBUFFER
[reactos.git] / reactos / lib / drivers / sound / mmebuddy / wave / widMessage.c
index a3815b8..366ab3c 100644 (file)
@@ -22,7 +22,8 @@
     Standard MME driver entry-point for messages relating to wave audio
     input.
 */
-APIENTRY DWORD
+DWORD
+APIENTRY
 widMessage(
     DWORD DeviceId,
     DWORD Message,
@@ -46,12 +47,56 @@ widMessage(
 
         case WIDM_GETDEVCAPS :
         {
+
             Result = MmeGetSoundDeviceCapabilities(WAVE_IN_DEVICE_TYPE,
                                                    DeviceId,
                                                    (PVOID) Parameter1,
                                                    Parameter2);
             break;
         }
+        case WIDM_OPEN :
+        {
+            Result = MmeOpenWaveDevice(WAVE_IN_DEVICE_TYPE,
+                                       DeviceId,
+                                       (LPWAVEOPENDESC) Parameter1,
+                                       Parameter2,
+                                       (DWORD*) PrivateHandle);
+            break;
+        }
+
+        case WIDM_CLOSE :
+        {
+            Result = MmeCloseDevice(PrivateHandle);
+
+            break;
+        }
+
+        case WIDM_PREPARE :
+        {
+            /* TODO: Do we need to pass 2nd parameter? */
+            Result = MmePrepareWaveHeader(PrivateHandle, Parameter1);
+            break;
+        }
+
+        case WIDM_UNPREPARE :
+        {
+            Result = MmeUnprepareWaveHeader(PrivateHandle, Parameter1);
+            break;
+        }
+
+        case WIDM_RESET :
+        {
+            /* Stop playback, reset position to zero */
+            Result = MmeResetWavePlayback(PrivateHandle);
+            break;
+        }
+
+        case WIDM_ADDBUFFER :
+        {
+            Result = MmeWriteWaveHeader(PrivateHandle, Parameter1);
+            break;
+        }
+
     }
 
     SND_TRACE(L"widMessage returning MMRESULT %d\n", Result);