[ros-diffs] [janderwald] 45585: [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
janderwald at svn.reactos.org
janderwald at svn.reactos.org
Fri Feb 12 11:12:46 CET 2010
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/portcls/pin_wavecyclic.cpp?rev=45585&r1=45584&r2=45585&view=diff
==============================================================================
--- 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);
More information about the Ros-diffs
mailing list