Module: wine Branch: master Commit: 2b8a1815e6e962381a0886fd850f9c38d4b26c90 URL: http://source.winehq.org/git/wine.git/?a=commit;h=2b8a1815e6e962381a0886fd85...
Author: Maarten Lankhorst m.b.lankhorst@gmail.com Date: Fri Jul 6 22:57:48 2007 +0200
dsound: Remove some more unused variables.
---
dlls/dsound/buffer.c | 6 +----- dlls/dsound/dsound_private.h | 6 +++--- dlls/dsound/mixer.c | 31 +++++++++++++------------------ 3 files changed, 17 insertions(+), 26 deletions(-)
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c index 7a45679..50959e2 100644 --- a/dlls/dsound/buffer.c +++ b/dlls/dsound/buffer.c @@ -355,7 +355,7 @@ static HRESULT WINAPI IDirectSoundBufferImpl_Stop(LPDIRECTSOUNDBUFFER8 iface) else This->state = STATE_STOPPED; } - DSOUND_CheckEvent(This, 0); + DSOUND_CheckEvent(This, 0, 0);
LeaveCriticalSection(&(This->lock)); /* **** */ @@ -1030,8 +1030,6 @@ HRESULT IDirectSoundBufferImpl_Create( dsb->lpVtbl = &dsbvt; dsb->iks = NULL;
- dsb->remix_pos = 0; - /* size depends on version */ CopyMemory(&dsb->dsbd, dsbd, dsbd->dwSize);
@@ -1135,7 +1133,6 @@ HRESULT IDirectSoundBufferImpl_Create(
/* It's not necessary to initialize values to zero since */ /* we allocated this structure with HEAP_ZERO_MEMORY... */ - dsb->playpos = 0; dsb->buf_mixpos = 0; dsb->state = STATE_STOPPED;
@@ -1285,7 +1282,6 @@ HRESULT IDirectSoundBufferImpl_Duplicate(
dsb->ref = 0; dsb->state = STATE_STOPPED; - dsb->playpos = 0; dsb->buf_mixpos = 0; dsb->device = device; dsb->ds3db = NULL; diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h index 56fbd0c..386ed96 100644 --- a/dlls/dsound/dsound_private.h +++ b/dlls/dsound/dsound_private.h @@ -162,7 +162,7 @@ struct IDirectSoundBufferImpl PWAVEFORMATEX pwfx; BufferMemory* buffer; DWORD playflags,state,leadin; - DWORD playpos,startpos,writelead,buflen; + DWORD startpos,writelead,buflen; DWORD nAvgBytesPerSec; DWORD freq; DSVOLUMEPAN volpan; @@ -170,7 +170,7 @@ struct IDirectSoundBufferImpl /* used for frequency conversion (PerfectPitch) */ ULONG freqAdjust, freqAcc; /* used for intelligent (well, sort of) prebuffering */ - DWORD primary_mixpos, buf_mixpos, last_playpos, remix_pos; + DWORD primary_mixpos, buf_mixpos, last_playpos;
/* IDirectSoundNotifyImpl fields */ IDirectSoundNotifyImpl* notify; @@ -433,7 +433,7 @@ DWORD DSOUND_CalcPlayPosition(IDirectSoundBufferImpl *This, DWORD pplay, DWORD p
/* mixer.c */
-void DSOUND_CheckEvent(IDirectSoundBufferImpl *dsb, int len); +void DSOUND_CheckEvent(IDirectSoundBufferImpl *dsb, DWORD playpos, int len); void DSOUND_RecalcVolPan(PDSVOLUMEPAN volpan); void DSOUND_AmpFactorToVolPan(PDSVOLUMEPAN volpan); void DSOUND_RecalcFormat(IDirectSoundBufferImpl *dsb); diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c index 96c7c42..7b4864e 100644 --- a/dlls/dsound/mixer.c +++ b/dlls/dsound/mixer.c @@ -106,7 +106,7 @@ void DSOUND_RecalcFormat(IDirectSoundBufferImpl *dsb) * "last played" position for the buffer (i.e. dsb->playpos) and "len" bytes * beyond that position. */ -void DSOUND_CheckEvent(IDirectSoundBufferImpl *dsb, int len) +void DSOUND_CheckEvent(IDirectSoundBufferImpl *dsb, DWORD playpos, int len) { int i; DWORD offset; @@ -117,7 +117,7 @@ void DSOUND_CheckEvent(IDirectSoundBufferImpl *dsb, int len) return;
TRACE("(%p) buflen = %d, playpos = %d, len = %d\n", - dsb, dsb->buflen, dsb->playpos, len); + dsb, dsb->buflen, playpos, len); for (i = 0; i < dsb->nrofnotifies ; i++) { event = dsb->notifies + i; offset = event->dwOffset; @@ -136,14 +136,14 @@ void DSOUND_CheckEvent(IDirectSoundBufferImpl *dsb, int len) } else return; } - if ((dsb->playpos + len) >= dsb->buflen) { - if ((offset < ((dsb->playpos + len) % dsb->buflen)) || - (offset >= dsb->playpos)) { + if ((playpos + len) >= dsb->buflen) { + if ((offset < ((playpos + len) % dsb->buflen)) || + (offset >= playpos)) { TRACE("signalled event %p (%d)\n", event->hEventNotify, i); SetEvent(event->hEventNotify); } } else { - if ((offset >= dsb->playpos) && (offset < (dsb->playpos + len))) { + if ((offset >= playpos) && (offset < (playpos + len))) { TRACE("signalled event %p (%d)\n", event->hEventNotify, i); SetEvent(event->hEventNotify); } @@ -594,15 +594,6 @@ static DWORD DSOUND_MixOne(IDirectSoundBufferImpl *dsb, DWORD playpos, DWORD wri TRACE("writepos=%d, buf_mixpos=%d, primary_mixpos=%d, mixlen=%d\n", writepos, dsb->buf_mixpos, dsb->primary_mixpos, mixlen); TRACE("looping=%d, startpos=%d, leadin=%d, buflen=%d\n", dsb->playflags, dsb->startpos, dsb->leadin, dsb->buflen);
- /* check for notification positions */ - if (dsb->dsbd.dwFlags & DSBCAPS_CTRLPOSITIONNOTIFY && - dsb->state != STATE_STARTING) { - DSOUND_CheckEvent(dsb, mixlen); - } - - /* save write position for non-GETCURRENTPOSITION2... */ - dsb->playpos = writepos; - /* calculate how much pre-buffering has already been done for this buffer */ primary_done = DSOUND_BufPtrDiff(dsb->device->buflen, dsb->primary_mixpos, writepos);
@@ -627,6 +618,12 @@ static DWORD DSOUND_MixOne(IDirectSoundBufferImpl *dsb, DWORD playpos, DWORD wri /* mix more data */ mixlen = DSOUND_MixInBuffer(dsb, dsb->primary_mixpos, mixlen);
+ /* check for notification positions */ + if (dsb->dsbd.dwFlags & DSBCAPS_CTRLPOSITIONNOTIFY && + dsb->state != STATE_STARTING) { + DSOUND_CheckEvent(dsb, writepos, mixlen); + } + /* increase mix position */ dsb->primary_mixpos += mixlen; dsb->primary_mixpos %= dsb->device->buflen; @@ -644,10 +641,8 @@ static DWORD DSOUND_MixOne(IDirectSoundBufferImpl *dsb, DWORD playpos, DWORD wri TRACE("Buffer reached end. Stopped\n");
dsb->state = STATE_STOPPED; - dsb->playpos = 0; dsb->buf_mixpos = 0; dsb->leadin = FALSE; - DSOUND_CheckEvent(dsb, mixlen); }
/* Report back the total prebuffered amount for this buffer */ @@ -692,7 +687,7 @@ static DWORD DSOUND_MixToPrimary(const DirectSoundDevice *device, DWORD playpos, /* if buffer is stopping it is stopped now */ if (dsb->state == STATE_STOPPING) { dsb->state = STATE_STOPPED; - DSOUND_CheckEvent(dsb, 0); + DSOUND_CheckEvent(dsb, 0, 0); } else {
/* if recovering, reset the mix position */