Author: janderwald
Date: Wed Jun 10 01:55:12 2009
New Revision: 41363
URL:
http://svn.reactos.org/svn/reactos?rev=41363&view=rev
Log:
- Topology nodes can have a nullable name
- Disable releasing resources when IPortFilterWaveCyclic is closed
Modified:
trunk/reactos/drivers/wdm/audio/backpln/portcls/filter_wavecyclic.c
trunk/reactos/drivers/wdm/audio/backpln/portcls/irpstream.c
trunk/reactos/drivers/wdm/audio/backpln/portcls/undoc.c
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/filter_wavecyclic.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/…
==============================================================================
--- trunk/reactos/drivers/wdm/audio/backpln/portcls/filter_wavecyclic.c [iso-8859-1]
(original)
+++ trunk/reactos/drivers/wdm/audio/backpln/portcls/filter_wavecyclic.c [iso-8859-1] Wed
Jun 10 01:55:12 2009
@@ -236,7 +236,7 @@
IN PIRP Irp)
{
ULONG Index;
- PMINIPORTWAVECYCLIC Miniport;
+ //PMINIPORTWAVECYCLIC Miniport;
IPortFilterWaveCyclicImpl * This = (IPortFilterWaveCyclicImpl *)iface;
for(Index = 0; Index < This->Descriptor->Factory.PinDescriptorCount;
Index++)
@@ -246,12 +246,12 @@
}
/* release reference to port */
- This->Port->lpVtbl->Release(This->Port);
+ //This->Port->lpVtbl->Release(This->Port);
/* get the miniport driver */
- Miniport = GetWaveCyclicMiniport(This->Port);
+ //Miniport = GetWaveCyclicMiniport(This->Port);
/* release miniport driver */
- Miniport->lpVtbl->Release(Miniport);
+ //Miniport->lpVtbl->Release(Miniport);
Irp->IoStatus.Status = STATUS_SUCCESS;
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/irpstream.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/…
==============================================================================
--- trunk/reactos/drivers/wdm/audio/backpln/portcls/irpstream.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/wdm/audio/backpln/portcls/irpstream.c [iso-8859-1] Wed Jun 10
01:55:12 2009
@@ -393,13 +393,15 @@
/* insert into list to free later */
ExInterlockedInsertTailList(&This->FreeHead, &CurMapping->Entry,
&This->Lock);
+ DPRINT("IIrpQueue_fnGetMappingWithTag Tag %p Mapping %p\n", Tag,
CurMapping);
}
else
{
/* we can free this entry now */
FreeItem(CurMapping, TAG_PORTCLASS);
- }
- DPRINT("IIrpQueue_fnGetMappingWithTag Tag %p\n", Tag);
+ DPRINT("IIrpQueue_fnGetMappingWithTag Tag %p Mapping %p FREED\n", Tag,
CurMapping);
+ }
+
return STATUS_SUCCESS;
}
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/undoc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/…
==============================================================================
--- trunk/reactos/drivers/wdm/audio/backpln/portcls/undoc.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/wdm/audio/backpln/portcls/undoc.c [iso-8859-1] Wed Jun 10
01:55:12 2009
@@ -236,8 +236,14 @@
for(Index = 0; Index < FilterDescription->NodeCount; Index++)
{
- RtlMoveMemory((PVOID)&Descriptor->Topology->TopologyNodes[Index],
FilterDescription->Nodes[Index].Type, sizeof(GUID));
-
RtlMoveMemory((PVOID)&Descriptor->Topology->TopologyNodesNames[Index],
FilterDescription->Nodes[Index].Name, sizeof(GUID));
+ if (FilterDescription->Nodes[Index].Type)
+ {
+
RtlMoveMemory((PVOID)&Descriptor->Topology->TopologyNodes[Index],
FilterDescription->Nodes[Index].Type, sizeof(GUID));
+ }
+ if (FilterDescription->Nodes[Index].Name)
+ {
+
RtlMoveMemory((PVOID)&Descriptor->Topology->TopologyNodesNames[Index],
FilterDescription->Nodes[Index].Name, sizeof(GUID));
+ }
}
Descriptor->Topology->TopologyNodesCount =
FilterDescription->NodeCount;
}