[WDMAUD.DRV]

- Set wave in pins into run state
- Fixes hang of ReactOS sndrec32, though it crashes then instantly. Needs more investigation

svn path=/trunk/; revision=50894
This commit is contained in:
Johannes Anderwald 2011-02-24 14:38:16 +00:00
parent d7df20df47
commit 753b99d8a5

View file

@ -528,18 +528,18 @@ WdmAudSetWaveDeviceFormatByLegacy(
Instance->BufferCount = 100; Instance->BufferCount = 100;
} }
if (DeviceType == WAVE_OUT_DEVICE_TYPE) /* Now acquire resources */
{ DeviceInfo.u.State = KSSTATE_ACQUIRE;
/* Now start the stream */ SyncOverlappedDeviceIoControl(KernelHandle, IOCTL_SETDEVICE_STATE, (LPVOID) &DeviceInfo, sizeof(WDMAUD_DEVICE_INFO), (LPVOID) &DeviceInfo, sizeof(WDMAUD_DEVICE_INFO), NULL);
DeviceInfo.u.State = KSSTATE_RUN;
SyncOverlappedDeviceIoControl(KernelHandle, /* pause the pin */
IOCTL_SETDEVICE_STATE, DeviceInfo.u.State = KSSTATE_PAUSE;
(LPVOID) &DeviceInfo, SyncOverlappedDeviceIoControl(KernelHandle, IOCTL_SETDEVICE_STATE, (LPVOID) &DeviceInfo, sizeof(WDMAUD_DEVICE_INFO), (LPVOID) &DeviceInfo, sizeof(WDMAUD_DEVICE_INFO), NULL);
sizeof(WDMAUD_DEVICE_INFO),
(LPVOID) &DeviceInfo, /* start the pin */
sizeof(WDMAUD_DEVICE_INFO), DeviceInfo.u.State = KSSTATE_RUN;
NULL); SyncOverlappedDeviceIoControl(KernelHandle, IOCTL_SETDEVICE_STATE, (LPVOID) &DeviceInfo, sizeof(WDMAUD_DEVICE_INFO), (LPVOID) &DeviceInfo, sizeof(WDMAUD_DEVICE_INFO), NULL);
}
return MMSYSERR_NOERROR; return MMSYSERR_NOERROR;
} }