cleanup
This commit is contained in:
@@ -191,7 +191,8 @@ DSoundBuf::DSoundBuf(DSound &ds, DSoundBuf::hw hardware,
|
||||
#ifndef _XBOX
|
||||
format.dwReserved = 0;
|
||||
#else
|
||||
DSMIXBINVOLUMEPAIR dsmbvp[8] = {
|
||||
DSMIXBINVOLUMEPAIR dsmbvp[8] =
|
||||
{
|
||||
{ DSMIXBIN_FRONT_LEFT, DSBVOLUME_MAX}, // left channel
|
||||
{ DSMIXBIN_FRONT_RIGHT, DSBVOLUME_MAX}, // right channel
|
||||
{ DSMIXBIN_FRONT_CENTER, DSBVOLUME_MAX}, // left channel
|
||||
@@ -199,8 +200,8 @@ DSoundBuf::DSoundBuf(DSound &ds, DSoundBuf::hw hardware,
|
||||
{ DSMIXBIN_BACK_LEFT, DSBVOLUME_MAX}, // left channel
|
||||
{ DSMIXBIN_BACK_RIGHT, DSBVOLUME_MAX}, // right channel
|
||||
{ DSMIXBIN_LOW_FREQUENCY, DSBVOLUME_MAX}, // left channel
|
||||
{DSMIXBIN_LOW_FREQUENCY, DSBVOLUME_MAX}}; // right channel
|
||||
|
||||
{ DSMIXBIN_LOW_FREQUENCY, DSBVOLUME_MAX} // right channel
|
||||
};
|
||||
DSMIXBINS dsmb;
|
||||
dsmb.dwMixBinCount = 8;
|
||||
dsmb.lpMixBinVolumePairs = dsmbvp;
|
||||
@@ -210,15 +211,6 @@ DSoundBuf::DSoundBuf(DSound &ds, DSoundBuf::hw hardware,
|
||||
|
||||
format.lpwfxFormat = &waveformat;
|
||||
|
||||
/* Query IID_IDirectSoundBuffer instead of IID_IDirectSoundBuffer8. -Chris */
|
||||
// IDirectSoundBuffer *sndbuf_buf;
|
||||
// HRESULT hr = ds.GetDS()->CreateSoundBuffer(&format, &sndbuf_buf, NULL);
|
||||
// if (FAILED(hr))
|
||||
// RageException::ThrowNonfatal(hr_ssprintf(hr, "CreateSoundBuffer failed"));
|
||||
//
|
||||
// sndbuf_buf->QueryInterface(IID_IDirectSoundBuffer8, (LPVOID*) &buf);
|
||||
// ASSERT(buf);
|
||||
|
||||
HRESULT hr = ds.GetDS()->CreateSoundBuffer( &format, &buf, NULL );
|
||||
if( FAILED(hr) )
|
||||
RageException::ThrowNonfatal( hr_ssprintf(hr, "CreateSoundBuffer failed") );
|
||||
@@ -232,8 +224,7 @@ DSoundBuf::DSoundBuf(DSound &ds, DSoundBuf::hw hardware,
|
||||
RageException::Throw(hr_ssprintf(hr, "buf->GetCaps"));
|
||||
if( int(bcaps.dwBufferBytes) != buffersize )
|
||||
{
|
||||
LOG->Warn("bcaps.dwBufferBytes (%i) != buffersize(%i); adjusting",
|
||||
bcaps.dwBufferBytes, buffersize);
|
||||
LOG->Warn( "bcaps.dwBufferBytes (%i) != buffersize(%i); adjusting", bcaps.dwBufferBytes, buffersize );
|
||||
buffersize = bcaps.dwBufferBytes;
|
||||
writeahead = min( writeahead, buffersize );
|
||||
}
|
||||
@@ -268,7 +259,7 @@ void DSoundBuf::SetVolume(float vol)
|
||||
}
|
||||
|
||||
/* Determine if "pos" is between "start" and "end", for a circular buffer. */
|
||||
bool contained(int start, int end, int pos)
|
||||
static bool contained( int start, int end, int pos )
|
||||
{
|
||||
if( end >= start ) /* start ... pos ... end */
|
||||
return start <= pos && pos <= end;
|
||||
@@ -409,18 +400,21 @@ bool DSoundBuf::get_output_buf(char **buffer, unsigned *bufsiz, int chunksize)
|
||||
#endif
|
||||
|
||||
#ifndef _XBOX
|
||||
if ( result == DSERR_BUFFERLOST ) {
|
||||
if ( result == DSERR_BUFFERLOST )
|
||||
{
|
||||
buf->Restore();
|
||||
result = buf->Lock( write_cursor, num_bytes_empty, (LPVOID *)buffer, (DWORD *) bufsiz, NULL, &junk, 0 );
|
||||
}
|
||||
#endif
|
||||
if ( result != DS_OK ) {
|
||||
if ( result != DS_OK )
|
||||
{
|
||||
LOG->Warn( hr_ssprintf(result, "Couldn't lock the DirectSound buffer.") );
|
||||
return false;
|
||||
}
|
||||
|
||||
write_cursor += num_bytes_empty;
|
||||
if(write_cursor >= buffersize) write_cursor -= buffersize;
|
||||
if( write_cursor >= buffersize )
|
||||
write_cursor -= buffersize;
|
||||
|
||||
buffer_bytes_filled += num_bytes_empty;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user