[ros-diffs] [janderwald] 41498: - Use interval of 10ms for the periodic timer IPortPinWaveRT - Initialize a periodic timer for IPortPinWavePci - Might fix Vortex AU8820C0 card
janderwald at svn.reactos.org
janderwald at svn.reactos.org
Sun Jun 21 02:16:33 CEST 2009
Author: janderwald
Date: Sun Jun 21 04:16:32 2009
New Revision: 41498
URL: http://svn.reactos.org/svn/reactos?rev=41498&view=rev
Log:
- Use interval of 10ms for the periodic timer IPortPinWaveRT
- Initialize a periodic timer for IPortPinWavePci
- Might fix Vortex AU8820C0 card
Modified:
trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavepci.c
trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavert.c
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavepci.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavepci.c?rev=41498&r1=41497&r2=41498&view=diff
==============================================================================
--- trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavepci.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavepci.c [iso-8859-1] Sun Jun 21 04:16:32 2009
@@ -34,6 +34,8 @@
ULONG PreCompleted;
ULONG PostCompleted;
+ ULONG Delay;
+
}IPortPinWavePciImpl;
@@ -136,7 +138,13 @@
{
/* reset start stream */
This->IrpQueue->lpVtbl->CancelBuffers(This->IrpQueue); //FIX function name
+ This->ServiceGroup->lpVtbl->CancelDelayedService(This->ServiceGroup);
DPRINT1("Stopping PreCompleted %u PostCompleted %u\n", This->PreCompleted, This->PostCompleted);
+ }
+ if (This->State == KSSTATE_RUN)
+ {
+ /* start the notification timer */
+ This->ServiceGroup->lpVtbl->RequestDelayedService(This->ServiceGroup, This->Delay);
}
}
}
@@ -743,6 +751,9 @@
This->ServiceGroup->lpVtbl->SupportDelayedService(This->ServiceGroup);
}
+ /* delay of 10 milisec */
+ This->Delay = Int32x32To64(10, -10000);
+
This->IrpQueue = IPortWavePciStream_GetIrpQueue(This->WaveStream);
Status = This->Stream->lpVtbl->GetAllocatorFraming(This->Stream, &AllocatorFraming);
@@ -752,9 +763,8 @@
return Status;
}
- DPRINT("OptionFlags %x RequirementsFlag %x PoolType %x Frames %lu FrameSize %lu FileAlignment %lu\n",
- AllocatorFraming.OptionsFlags, AllocatorFraming.RequirementsFlags, AllocatorFraming.PoolType, AllocatorFraming.Frames, AllocatorFraming.FrameSize, AllocatorFraming.FileAlignment);
-
+ DPRINT("OptionFlags %x RequirementsFlag %x PoolType %x Frames %lu FrameSize %lu FileAlignment %lu\n",
+ AllocatorFraming.OptionsFlags, AllocatorFraming.RequirementsFlags, AllocatorFraming.PoolType, AllocatorFraming.Frames, AllocatorFraming.FrameSize, AllocatorFraming.FileAlignment);
Status = This->IrpQueue->lpVtbl->Init(This->IrpQueue, ConnectDetails, This->Format, DeviceObject, AllocatorFraming.FrameSize, AllocatorFraming.FileAlignment);
if (!NT_SUCCESS(Status))
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavert.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavert.c?rev=41498&r1=41497&r2=41498&view=diff
==============================================================================
--- trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavert.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/wdm/audio/backpln/portcls/pin_wavert.c [iso-8859-1] Sun Jun 21 04:16:32 2009
@@ -1040,8 +1040,8 @@
goto cleanup;
This->Stream->lpVtbl->GetHWLatency(This->Stream, &Latency);
- /* minimum delay of 10 milisec */
- This->Delay = Int32x32To64(min(max(Latency.ChipsetDelay + Latency.CodecDelay + Latency.FifoSize, 10), 10), -10000);
+ /* delay of 10 milisec */
+ This->Delay = Int32x32To64(10, -10000);
Status = This->Stream->lpVtbl->AllocateAudioBuffer(This->Stream, 16384 * 11, &This->Mdl, &This->CommonBufferSize, &This->CommonBufferOffset, &This->CacheType);
if (!NT_SUCCESS(Status))
More information about the Ros-diffs
mailing list