PMMFUNCTION_TABLE FunctionTable;
PSOUND_DEVICE SoundDevice;
PSOUND_DEVICE_INSTANCE SoundDeviceInstance;
+ BOOL OldState;
VALIDATE_MMSYS_PARAMETER( PrivateHandle );
SoundDeviceInstance = (PSOUND_DEVICE_INSTANCE) PrivateHandle;
/* 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;
}