[MMEBUDDY]
[reactos.git] / reactos / lib / drivers / sound / mmebuddy / mmewrap.c
index 9e03770..5b65154 100644 (file)
@@ -29,6 +29,7 @@ MmeSetState(
     PMMFUNCTION_TABLE FunctionTable;
     PSOUND_DEVICE SoundDevice;
     PSOUND_DEVICE_INSTANCE SoundDeviceInstance;
+    BOOL OldState;
 
     VALIDATE_MMSYS_PARAMETER( PrivateHandle );
     SoundDeviceInstance = (PSOUND_DEVICE_INSTANCE) PrivateHandle;
@@ -53,6 +54,20 @@ MmeSetState(
     /* Try change state */
     Result = FunctionTable->SetState(SoundDeviceInstance, bStart);
 
+    if ( MMSUCCESS(Result) )
+    {
+        /* Get old audio stream state */
+        OldState = SoundDeviceInstance->bPaused;
+
+        /* Store audio stream pause state */
+        SoundDeviceInstance->bPaused = !bStart;
+
+        if (SoundDeviceInstance->bPaused == FALSE && OldState == TRUE)
+        {
+            InitiateSoundStreaming(SoundDeviceInstance);
+        }
+    }
+
     return Result;
 }