Realtek AC97 Audio workaround

This commit is contained in:
Glenn Maynard
2005-02-08 06:08:18 +00:00
parent 1634d1cad1
commit 475238dc2d
@@ -599,6 +599,10 @@ int64_t DSoundBuf::GetPosition() const
DWORD cursor, junk;
HRESULT hr = buf->GetCurrentPosition( &cursor, &junk );
ASSERT_M( SUCCEEDED(hr), hr_ssprintf(hr, "GetCurrentPosition") );
/* This happens occasionally on "Realtek AC97 Audio". */
if( (int) cursor == buffersize )
cursor = 0;
ASSERT_M( (int) cursor < buffersize, ssprintf("%i, %i", cursor, buffersize) );
int cursor_frames = int(cursor) / bytes_per_frame();