From 1b60b0a86d6f58e811ecbe732bb05acf4758c594 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Thu, 21 Dec 2006 05:26:24 +0000 Subject: [PATCH] fix up seeking --- stepmania/src/RageSoundReader_ChannelSplit.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/stepmania/src/RageSoundReader_ChannelSplit.cpp b/stepmania/src/RageSoundReader_ChannelSplit.cpp index fdfafc0ab5..b03e16eabf 100644 --- a/stepmania/src/RageSoundReader_ChannelSplit.cpp +++ b/stepmania/src/RageSoundReader_ChannelSplit.cpp @@ -167,14 +167,15 @@ int RageSoundSplitterImpl::ReadBuffer() if( iMinFrameRequested > m_iBufferPositionFrames ) { int iEraseFrames = iMinFrameRequested - m_iBufferPositionFrames; + iEraseFrames = min( iEraseFrames, (int) m_sBuffer.size() ); m_sBuffer.erase( 0, iEraseFrames * sizeof(int16_t) * m_pSource->GetNumChannels() ); m_iBufferPositionFrames += iEraseFrames; } if( iMinFrameRequested != m_iBufferPositionFrames ) { - int iFrame = m_pSource->SetPosition( iMinFrameRequested ); - m_iBufferPositionFrames = iFrame; + m_pSource->SetPosition( iMinFrameRequested ); + m_iBufferPositionFrames = iMinFrameRequested; m_sBuffer.clear(); }