From ff9fdc82594375c67a2e9e63ab1d46a21469320a Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Fri, 12 Feb 2010 10:12:46 +0000 Subject: [PATCH] [PORTCLS] - Reset play position when an audio stream is stopped -- Fixes playback in looped mode (DirectSound) when a buffer is played&stopped more than once svn path=/trunk/; revision=45585 --- reactos/drivers/wdm/audio/backpln/portcls/pin_wavecyclic.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/reactos/drivers/wdm/audio/backpln/portcls/pin_wavecyclic.cpp b/reactos/drivers/wdm/audio/backpln/portcls/pin_wavecyclic.cpp index 1162b94646b..e36e9b97a0e 100644 --- a/reactos/drivers/wdm/audio/backpln/portcls/pin_wavecyclic.cpp +++ b/reactos/drivers/wdm/audio/backpln/portcls/pin_wavecyclic.cpp @@ -450,10 +450,14 @@ PinWaveCyclicState( // FIXME // complete with successful state Pin->m_IrpQueue->CancelBuffers(); + Pin->m_Position.PlayOffset = 0; + Pin->m_Position.WriteOffset = 0; } else if (Pin->m_State == KSSTATE_STOP) { Pin->m_IrpQueue->CancelBuffers(); + Pin->m_Position.PlayOffset = 0; + Pin->m_Position.WriteOffset = 0; } // store result Irp->IoStatus.Information = sizeof(KSSTATE);