Author: janderwald Date: Fri Feb 12 11:12:46 2010 New Revision: 45585
URL: http://svn.reactos.org/svn/reactos?rev=45585&view=rev Log: [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
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavecyclic.cpp
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavecyclic.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/p... ============================================================================== --- trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavecyclic.cpp [iso-8859-1] (original) +++ trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavecyclic.cpp [iso-8859-1] Fri Feb 12 11:12:46 2010 @@ -450,10 +450,14 @@ // 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);