[DSOUND] use windows memory functions
Robert Reif
reif at earthlink.net
Sat Jan 22 14:02:27 CST 2005
Use windows memory functions.
-------------- next part --------------
Index: dlls/dsound/buffer.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/buffer.c,v
retrieving revision 1.41
diff -u -p -r1.41 buffer.c
--- dlls/dsound/buffer.c 23 Dec 2004 18:41:06 -0000 1.41
+++ dlls/dsound/buffer.c 22 Jan 2005 19:00:39 -0000
@@ -129,7 +129,7 @@ static HRESULT WINAPI IDirectSoundNotify
WARN("out of memory\n");
return DSERR_OUTOFMEMORY;
}
- memcpy(This->dsb->notifies, notify, howmuch * sizeof(DSBPOSITIONNOTIFY));
+ CopyMemory(This->dsb->notifies, notify, howmuch * sizeof(DSBPOSITIONNOTIFY));
This->dsb->nrofnotifies = howmuch;
} else {
HeapFree(GetProcessHeap(), 0, This->dsb->notifies);
@@ -568,7 +568,7 @@ static HRESULT WINAPI IDirectSoundBuffer
if (lpwf) { /* NULL is valid */
if (wfsize >= size) {
- memcpy(lpwf,This->pwfx,size);
+ CopyMemory(lpwf,This->pwfx,size);
if (wfwritten)
*wfwritten = size;
} else {
@@ -1059,7 +1059,7 @@ HRESULT WINAPI IDirectSoundBufferImpl_Cr
dsb->iks = NULL;
/* size depends on version */
- memcpy(&dsb->dsbd, dsbd, dsbd->dwSize);
+ CopyMemory(&dsb->dsbd, dsbd, dsbd->dwSize);
/* variable sized struct so calculate size based on format */
if (wfex->wFormatTag == WAVE_FORMAT_PCM) {
@@ -1076,7 +1076,7 @@ HRESULT WINAPI IDirectSoundBufferImpl_Cr
return DSERR_OUTOFMEMORY;
}
- memcpy(dsb->pwfx, wfex, cp_size);
+ CopyMemory(dsb->pwfx, wfex, cp_size);
dsb->buflen = dsbd->dwBufferBytes;
dsb->freq = dsbd->lpwfxFormat->nSamplesPerSec;
Index: dlls/dsound/capture.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/capture.c,v
retrieving revision 1.40
diff -u -p -r1.40 capture.c
--- dlls/dsound/capture.c 9 Jan 2005 16:42:53 -0000 1.40
+++ dlls/dsound/capture.c 22 Jan 2005 19:00:40 -0000
@@ -657,11 +657,11 @@ DSOUND_CreateDirectSoundCaptureBuffer(
if (wfex->wFormatTag == WAVE_FORMAT_PCM) {
ipDSC->pwfx = HeapAlloc(GetProcessHeap(),0,sizeof(WAVEFORMATEX));
- memcpy(ipDSC->pwfx, wfex, sizeof(WAVEFORMATEX));
+ CopyMemory(ipDSC->pwfx, wfex, sizeof(WAVEFORMATEX));
ipDSC->pwfx->cbSize = 0;
} else {
ipDSC->pwfx = HeapAlloc(GetProcessHeap(),0,sizeof(WAVEFORMATEX)+wfex->cbSize);
- memcpy(ipDSC->pwfx, wfex, sizeof(WAVEFORMATEX)+wfex->cbSize);
+ CopyMemory(ipDSC->pwfx, wfex, sizeof(WAVEFORMATEX)+wfex->cbSize);
}
} else {
WARN("lpcDSCBufferDesc->lpwfxFormat == 0\n");
@@ -692,7 +692,7 @@ DSOUND_CreateDirectSoundCaptureBuffer(
This->pdscbd = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,
lpcDSCBufferDesc->dwSize);
if (This->pdscbd)
- memcpy(This->pdscbd, lpcDSCBufferDesc, lpcDSCBufferDesc->dwSize);
+ CopyMemory(This->pdscbd, lpcDSCBufferDesc, lpcDSCBufferDesc->dwSize);
else {
WARN("no memory\n");
This->dsound->capture_buffer = 0;
@@ -862,7 +862,7 @@ static HRESULT WINAPI IDirectSoundCaptur
WARN("out of memory\n");
return DSERR_OUTOFMEMORY;
}
- memcpy(This->dscb->notifies, notify, howmuch * sizeof(DSBPOSITIONNOTIFY));
+ CopyMemory(This->dscb->notifies, notify, howmuch * sizeof(DSBPOSITIONNOTIFY));
This->dscb->nrofnotifies = howmuch;
} else {
HeapFree(GetProcessHeap(), 0, This->dscb->notifies);
@@ -1132,7 +1132,7 @@ IDirectSoundCaptureBufferImpl_GetFormat(
dwSizeAllocated = sizeof(WAVEFORMATEX) + This->dsound->pwfx->cbSize;
if (lpwfxFormat) { /* NULL is valid (just want size) */
- memcpy(lpwfxFormat, This->dsound->pwfx, dwSizeAllocated);
+ CopyMemory(lpwfxFormat, This->dsound->pwfx, dwSizeAllocated);
if (lpdwSizeWritten)
*lpdwSizeWritten = dwSizeAllocated;
} else {
@@ -1376,8 +1376,8 @@ IDirectSoundCaptureBufferImpl_Start(
}
}
- memset(ipDSC->buffer,
- (ipDSC->pwfx->wBitsPerSample == 8) ? 128 : 0, ipDSC->buflen);
+ FillMemory(ipDSC->buffer, ipDSC->buflen,
+ (ipDSC->pwfx->wBitsPerSample == 8) ? 128 : 0);
} else {
TRACE("no notifiers specified\n");
/* no notifiers specified so just create a single default header */
Index: dlls/dsound/dsound.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/dsound.c,v
retrieving revision 1.24
diff -u -p -r1.24 dsound.c
--- dlls/dsound/dsound.c 7 Dec 2004 14:23:46 -0000 1.24
+++ dlls/dsound/dsound.c 22 Jan 2005 19:00:41 -0000
@@ -538,7 +538,7 @@ static HRESULT WINAPI IDirectSoundImpl_D
return DSERR_OUTOFMEMORY;
}
- memcpy(dsb, pdsb, sizeof(IDirectSoundBufferImpl));
+ CopyMemory(dsb, pdsb, sizeof(IDirectSoundBufferImpl));
if (pdsb->hwbuf) {
TRACE("duplicating hardware buffer\n");
@@ -596,7 +596,7 @@ static HRESULT WINAPI IDirectSoundImpl_D
return DSERR_OUTOFMEMORY;
}
- memcpy(dsb->pwfx, pdsb->pwfx, size);
+ CopyMemory(dsb->pwfx, pdsb->pwfx, size);
InitializeCriticalSection(&(dsb->lock));
dsb->lock.DebugInfo->Spare[1] = (DWORD)"DSOUNDBUFFER_lock";
Index: dlls/dsound/dsound_main.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/dsound_main.c,v
retrieving revision 1.111
diff -u -p -r1.111 dsound_main.c
--- dlls/dsound/dsound_main.c 14 Jan 2005 15:12:43 -0000 1.111
+++ dlls/dsound/dsound_main.c 22 Jan 2005 19:00:42 -0000
@@ -287,19 +287,19 @@ HRESULT WINAPI GetDeviceID(LPCGUID pGuid
if ( IsEqualGUID( &DSDEVID_DefaultPlayback, pGuidSrc ) ||
IsEqualGUID( &DSDEVID_DefaultVoicePlayback, pGuidSrc ) ) {
- memcpy(pGuidDest, &renderer_guids[ds_default_playback], sizeof(GUID));
+ CopyMemory(pGuidDest, &renderer_guids[ds_default_playback], sizeof(GUID));
TRACE("returns %s\n", get_device_id(pGuidDest));
return DS_OK;
}
if ( IsEqualGUID( &DSDEVID_DefaultCapture, pGuidSrc ) ||
IsEqualGUID( &DSDEVID_DefaultVoiceCapture, pGuidSrc ) ) {
- memcpy(pGuidDest, &capture_guids[ds_default_capture], sizeof(GUID));
+ CopyMemory(pGuidDest, &capture_guids[ds_default_capture], sizeof(GUID));
TRACE("returns %s\n", get_device_id(pGuidDest));
return DS_OK;
}
- memcpy(pGuidDest, pGuidSrc, sizeof(GUID));
+ CopyMemory(pGuidDest, pGuidSrc, sizeof(GUID));
TRACE("returns %s\n", get_device_id(pGuidDest));
return DS_OK;
Index: dlls/dsound/mixer.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/mixer.c,v
retrieving revision 1.26
diff -u -p -r1.26 mixer.c
--- dlls/dsound/mixer.c 8 Sep 2004 01:37:25 -0000 1.26
+++ dlls/dsound/mixer.c 22 Jan 2005 19:00:42 -0000
@@ -240,10 +240,10 @@ static INT DSOUND_MixerNorm(IDirectSound
DWORD bytesleft = dsb->buflen - dsb->buf_mixpos;
TRACE("(%p) Best case\n", dsb);
if (len <= bytesleft )
- memcpy(obp, ibp, len);
+ CopyMemory(obp, ibp, len);
else { /* wrap */
- memcpy(obp, ibp, bytesleft );
- memcpy(obp + bytesleft, dsb->buffer->memory, len - bytesleft);
+ CopyMemory(obp, ibp, bytesleft);
+ CopyMemory(obp + bytesleft, dsb->buffer->memory, len - bytesleft);
}
return len;
}
@@ -906,10 +906,10 @@ static void DSOUND_MixReset(IDirectSound
/* wipe out premixed data */
if (dsound->mixpos < writepos) {
- memset(dsound->buffer + writepos, nfiller, dsound->buflen - writepos);
- memset(dsound->buffer, nfiller, dsound->mixpos);
+ FillMemory(dsound->buffer + writepos, dsound->buflen - writepos, nfiller);
+ FillMemory(dsound->buffer, dsound->mixpos, nfiller);
} else {
- memset(dsound->buffer + writepos, nfiller, dsound->mixpos - writepos);
+ FillMemory(dsound->buffer + writepos, dsound->mixpos - writepos, nfiller);
}
/* reset primary mix position */
@@ -995,10 +995,10 @@ void DSOUND_PerformMix(IDirectSoundImpl
assert(dsound->playpos < dsound->buflen);
/* wipe out just-played sound data */
if (playpos < dsound->playpos) {
- memset(dsound->buffer + dsound->playpos, nfiller, dsound->buflen - dsound->playpos);
- memset(dsound->buffer, nfiller, playpos);
+ FillMemory(dsound->buffer + dsound->playpos, dsound->buflen - dsound->playpos, nfiller);
+ FillMemory(dsound->buffer, playpos, nfiller);
} else {
- memset(dsound->buffer + dsound->playpos, nfiller, playpos - dsound->playpos);
+ FillMemory(dsound->buffer + dsound->playpos, playpos - dsound->playpos, nfiller);
}
dsound->playpos = playpos;
@@ -1070,7 +1070,7 @@ void DSOUND_PerformMix(IDirectSoundImpl
inq = 0;
maxq = dsound->buflen;
if (maxq > frag) maxq = frag;
- memset(dsound->buffer, nfiller, dsound->buflen);
+ FillMemory(dsound->buffer, dsound->buflen, nfiller);
paused = TRUE;
}
Index: dlls/dsound/primary.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/primary.c,v
retrieving revision 1.37
diff -u -p -r1.37 primary.c
--- dlls/dsound/primary.c 23 Dec 2004 18:41:06 -0000 1.37
+++ dlls/dsound/primary.c 22 Jan 2005 19:00:43 -0000
@@ -127,7 +127,7 @@ static HRESULT DSOUND_PrimaryOpen(IDirec
This->pwqueue = 0;
This->playpos = 0;
This->mixpos = 0;
- memset(This->buffer, (This->pwfx->wBitsPerSample == 16) ? 0 : 128, This->buflen);
+ FillMemory(This->buffer, This->buflen, (This->pwfx->wBitsPerSample == 16) ? 0 : 128);
TRACE("fraglen=%ld\n", This->fraglen);
DSOUND_WaveQueue(This, (DWORD)-1);
}
@@ -371,7 +371,7 @@ static HRESULT WINAPI PrimaryBufferImpl_
nSamplesPerSec = dsound->pwfx->nSamplesPerSec;
- memcpy(dsound->pwfx, wfex, cp_size);
+ CopyMemory(dsound->pwfx, wfex, cp_size);
if (dsound->drvdesc.dwFlags & DSDDESC_DOMMSYSTEMSETFORMAT) {
DWORD flags = CALLBACK_FUNCTION;
@@ -656,7 +656,7 @@ static HRESULT WINAPI PrimaryBufferImpl_
if (lpwf) { /* NULL is valid */
if (wfsize >= size) {
- memcpy(lpwf,This->dsound->pwfx,size);
+ CopyMemory(lpwf,This->dsound->pwfx,size);
if (wfwritten)
*wfwritten = size;
} else {
@@ -1089,7 +1089,7 @@ HRESULT WINAPI PrimaryBufferImpl_Create(
dsb->dsound = ds;
dsb->lpVtbl = &dspbvt;
- memcpy(&ds->dsbd, dsbd, sizeof(*dsbd));
+ CopyMemory(&ds->dsbd, dsbd, sizeof(*dsbd));
TRACE("Created primary buffer at %p\n", dsb);
TRACE("(formattag=0x%04x,chans=%d,samplerate=%ld,"
Index: dlls/dsound/propset.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/propset.c,v
retrieving revision 1.29
diff -u -p -r1.29 propset.c
--- dlls/dsound/propset.c 9 Jan 2005 16:42:53 -0000 1.29
+++ dlls/dsound/propset.c 22 Jan 2005 19:00:44 -0000
@@ -859,7 +859,7 @@ static HRESULT WINAPI DSPROPERTY_Enumera
err = mmErr(waveOutMessage((HWAVEOUT)wod,DRV_QUERYDSOUNDDESC,(DWORD)&desc,0));
if (err == DS_OK) {
DWORD size;
- memset(&data, 0, sizeof(data));
+ ZeroMemory(&data, sizeof(data));
data.DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_RENDER;
data.WaveDeviceId = wod;
data.DeviceId = renderer_guids[wod];
@@ -889,7 +889,7 @@ static HRESULT WINAPI DSPROPERTY_Enumera
err = mmErr(waveInMessage((HWAVEIN)wid,DRV_QUERYDSOUNDDESC,(DWORD)&desc,0));
if (err == DS_OK) {
DWORD size;
- memset(&data, 0, sizeof(data));
+ ZeroMemory(&data, sizeof(data));
data.DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE;
data.WaveDeviceId = wid;
data.DeviceId = capture_guids[wid];
@@ -959,7 +959,7 @@ static HRESULT WINAPI DSPROPERTY_Enumera
WCHAR * wInterface = HeapAlloc(GetProcessHeap(),0,size);
err = mmErr(waveOutMessage((HWAVEOUT)wod, DRV_QUERYDEVICEINTERFACE, (DWORD_PTR)wInterface, size));
if (err == DS_OK) {
- memset(&data, 0, sizeof(data));
+ ZeroMemory(&data, sizeof(data));
data.DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_RENDER;
data.WaveDeviceId = wod;
data.DeviceId = renderer_guids[wod];
@@ -993,7 +993,7 @@ static HRESULT WINAPI DSPROPERTY_Enumera
WCHAR * wInterface = HeapAlloc(GetProcessHeap(),0,size);
err = mmErr(waveInMessage((HWAVEIN)wod, DRV_QUERYDEVICEINTERFACE, (DWORD_PTR)wInterface, size));
if (err == DS_OK) {
- memset(&data, 0, sizeof(data));
+ ZeroMemory(&data, sizeof(data));
data.DataFlow = DIRECTSOUNDDEVICE_DATAFLOW_CAPTURE;
data.WaveDeviceId = wid;
data.DeviceId = capture_guids[wid];
More information about the wine-patches
mailing list