mirror of
https://github.com/reactos/reactos.git
synced 2024-10-05 17:06:29 +00:00
implement addbuffer to waveTheard. it can play wave one time if it is same file in windows
svn path=/trunk/; revision=19565
This commit is contained in:
parent
8a5ffd220b
commit
b482974de7
|
@ -91,9 +91,31 @@ static DWORD waveThread(LPVOID lpParameter)
|
|||
switch (pClient->AuxFunction)
|
||||
{
|
||||
case WaveThreadAddBuffer:
|
||||
DPRINT("UNIMPLMENENT WaveThreadAddBuffer ");
|
||||
break;
|
||||
LPWAVEHDR *pHdrSearching;
|
||||
|
||||
if (pClient->DeviceType == WaveInDevice)
|
||||
pClient->AuxParam.pHdr->dwBytesRecorded = 0;
|
||||
|
||||
pHdrSearching = &pClient->DeviceQueue;
|
||||
pClient->AuxParam.pHdr->lpNext = NULL;
|
||||
|
||||
while (*pHdrSearching)
|
||||
{
|
||||
pHdrSearching = &(*pHdrSearching)->lpNext;
|
||||
}
|
||||
|
||||
if (pClient->NextBuffer == NULL)
|
||||
{
|
||||
pClient->BufferPosition = 0;
|
||||
pClient->NextBuffer = pClient->AuxParam.pHdr;
|
||||
|
||||
}
|
||||
|
||||
*pHdrSearching = pClient->AuxParam.pHdr;
|
||||
|
||||
pClient->AuxReturnCode = waveStart(pClient);
|
||||
break;
|
||||
|
||||
case WaveThreadSetState:
|
||||
pClient->AuxReturnCode = waveSetState(pClient, pClient->AuxParam.State);
|
||||
|
||||
|
@ -549,7 +571,7 @@ static MMRESULT OpenWaveDevice(UINT DeviceType,
|
|||
BOOL Result;
|
||||
DWORD BytesReturned;
|
||||
LPWAVEFORMATEX pFormats;
|
||||
PWAVEALLOC *pUserHandle = &pClient;
|
||||
PWAVEALLOC *pUserHandle = NULL;
|
||||
HANDLE hDevice;
|
||||
|
||||
pFormats = (LPWAVEFORMATEX)((LPWAVEOPENDESC)dwParam1)->lpFormat;
|
||||
|
|
Loading…
Reference in a new issue