From 475238dc2db7268f81e95a2ec2f628fdc0e7fe3e Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Tue, 8 Feb 2005 06:08:18 +0000 Subject: [PATCH] Realtek AC97 Audio workaround --- stepmania/src/arch/Sound/DSoundHelpers.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/stepmania/src/arch/Sound/DSoundHelpers.cpp b/stepmania/src/arch/Sound/DSoundHelpers.cpp index fe0de3bc24..728aad4782 100644 --- a/stepmania/src/arch/Sound/DSoundHelpers.cpp +++ b/stepmania/src/arch/Sound/DSoundHelpers.cpp @@ -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();