ReactOS  0.4.14-dev-57-g333b8f1
splitter.c File Reference
#include "precomp.h"
Include dependency graph for splitter.c:

Go to the source code of this file.

Functions

NTSTATUS NTAPI DriverEntry (PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPathName)
 

Variables

const GUID PIN_VIDEO_CAPTURE = {0xfb6c4281, 0x0353, 0x11d1, {0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba}}
 
const GUID KSPROPSETID_Audio = {0x45FFAAA0, 0x6E1B, 0x11D0, {0xBC, 0xF2, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}}
 
const GUID KSCATEGORY_AUDIO_SPLITTER = {0x9EA331FA, 0xB91B, 0x45F8, {0x92, 0x85, 0xBD, 0x2B, 0xC7, 0x7A, 0xFC, 0xDE}}
 
const GUID KSNAME_Filter = {0x9b365890, 0x165f, 0x11d0, {0xa1, 0x95, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4}}
 
const GUID GUID_NULL = {0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}
 
KSPROPERTY_ITEM PinPropertyTable []
 
const KSPROPERTY_SET PinPropertySet []
 
const KSAUTOMATION_TABLE PinAutomation
 
const KSPIN_DISPATCH PinDispatch
 
const KSFILTER_DISPATCH FilterDispatch
 
KSDATARANGE PinDataFormatRange
 
const PKSDATARANGE PinDataFormatRanges []
 
const KSPIN_DESCRIPTOR_EX PinDescriptors []
 
const GUID Categories []
 
const KSNODE_DESCRIPTOR NodeDescriptor []
 
const KSFILTER_DESCRIPTOR FilterDescriptor
 
const KSFILTER_DESCRIPTOR * FilterDescriptors
 
const KSDEVICE_DESCRIPTOR DeviceDescriptor
 

Function Documentation

◆ DriverEntry()

NTSTATUS NTAPI DriverEntry ( PDRIVER_OBJECT  DriverObject,
PUNICODE_STRING  RegistryPathName 
)

Definition at line 269 of file splitter.c.

272 {
273  return KsInitializeDriver(DriverObject, RegistryPathName, &DeviceDescriptor);
274 }
static PDRIVER_OBJECT DriverObject
Definition: template.c:42
const KSDEVICE_DESCRIPTOR DeviceDescriptor
Definition: splitter.c:257
KSDDKAPI NTSTATUS NTAPI KsInitializeDriver(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath, IN const KSDEVICE_DESCRIPTOR *Descriptor OPTIONAL)
Definition: driver.c:155

Variable Documentation

◆ Categories

const GUID Categories[]
Initial value:
=
{
}
#define STATIC_KSCATEGORY_AUDIO
Definition: ksmedia.h:169
#define STATIC_KSCATEGORY_AUDIO_SPLITTER
Definition: ksmedia.h:229

Definition at line 208 of file splitter.c.

Referenced by KspRegisterDeviceInterfaces().

◆ DeviceDescriptor

◆ FilterDescriptor

const KSFILTER_DESCRIPTOR FilterDescriptor
Initial value:
=
{
KSFILTER_DESCRIPTOR_VERSION,
KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING,
2,
sizeof(KSPIN_DESCRIPTOR_EX),
(const KSPIN_DESCRIPTOR_EX*)&PinDescriptors,
sizeof(Categories) / sizeof(GUID),
(const GUID* )&Categories,
sizeof(NodeDescriptor) / sizeof(KSNODE_DESCRIPTOR),
sizeof(KSNODE_DESCRIPTOR),
(const KSNODE_DESCRIPTOR*)&NodeDescriptor,
DEFINE_KSFILTER_DEFAULT_CONNECTIONS,
}
const GUID KSNAME_Filter
Definition: splitter.c:14
const GUID Categories[]
Definition: splitter.c:208
smooth NULL
Definition: ftsmooth.c:416
const KSNODE_DESCRIPTOR NodeDescriptor[]
Definition: splitter.c:217
const KSFILTER_DISPATCH FilterDispatch
Definition: splitter.c:83
const KSPIN_DESCRIPTOR_EX PinDescriptors[]
Definition: splitter.c:154

Definition at line 229 of file splitter.c.

Referenced by BdaCreateFilterFactoryEx(), BdaFilterFactoryUpdateCacheData(), BuildUSBAudioFilterTopology(), IKsFilter_CopyFilterDescriptor(), IKsFilter_CreateDescriptors(), KsFilterFactoryUpdateCacheData(), and USBAudioCreateFilterContext().

◆ FilterDescriptors

const KSFILTER_DESCRIPTOR* FilterDescriptors
Initial value:
=
{
(const KSFILTER_DESCRIPTOR *)&FilterDescriptor
}
const KSFILTER_DESCRIPTOR FilterDescriptor
Definition: splitter.c:229

Definition at line 250 of file splitter.c.

◆ FilterDispatch

const KSFILTER_DISPATCH FilterDispatch
Initial value:
=
{
}
smooth NULL
Definition: ftsmooth.c:416
NTSTATUS NTAPI FilterProcess(IN PKSFILTER Filter, IN PKSPROCESSPIN_INDEXENTRY ProcessPinsIndex)
Definition: filter.c:13

Definition at line 83 of file splitter.c.

◆ GUID_NULL

const GUID GUID_NULL = {0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}

Definition at line 15 of file splitter.c.

◆ KSCATEGORY_AUDIO_SPLITTER

const GUID KSCATEGORY_AUDIO_SPLITTER = {0x9EA331FA, 0xB91B, 0x45F8, {0x92, 0x85, 0xBD, 0x2B, 0xC7, 0x7A, 0xFC, 0xDE}}

Definition at line 13 of file splitter.c.

◆ KSNAME_Filter

const GUID KSNAME_Filter = {0x9b365890, 0x165f, 0x11d0, {0xa1, 0x95, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4}}

Definition at line 14 of file splitter.c.

Referenced by USBAudioCreateFilterContext().

◆ KSPROPSETID_Audio

const GUID KSPROPSETID_Audio = {0x45FFAAA0, 0x6E1B, 0x11D0, {0xBC, 0xF2, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00}}

Definition at line 12 of file splitter.c.

◆ NodeDescriptor

const KSNODE_DESCRIPTOR NodeDescriptor[]
Initial value:
=
{
{
NULL,
}
}
smooth NULL
Definition: ftsmooth.c:416
const GUID KSCATEGORY_AUDIO_SPLITTER
Definition: splitter.c:13

Definition at line 217 of file splitter.c.

Referenced by DumpFilterDescriptor(), IKsFilter_CreateDescriptors(), IKsFilter_DispatchDeviceIoControl(), PcCreateSubdeviceDescriptor(), and PropertyItemDispatch().

◆ PIN_VIDEO_CAPTURE

const GUID PIN_VIDEO_CAPTURE = {0xfb6c4281, 0x0353, 0x11d1, {0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba}}

Definition at line 11 of file splitter.c.

◆ PinAutomation

const KSAUTOMATION_TABLE PinAutomation
Initial value:
=
{
1,
sizeof(PinPropertySet) / sizeof(KSPROPERTY_SET),
(const KSPROPERTY_SET*)&PinPropertySet,
0,
sizeof(KSMETHOD_SET),
0,
sizeof(KSEVENT_SET),
}
smooth NULL
Definition: ftsmooth.c:416
const KSPROPERTY_SET PinPropertySet[]
Definition: splitter.c:37

Definition at line 51 of file splitter.c.

◆ PinDataFormatRange

KSDATARANGE PinDataFormatRange
Initial value:
=
{
{
sizeof(KSDATARANGE),
0,
0,
0,
}
}
union KSDATAFORMAT KSDATARANGE
#define STATIC_GUID_NULL
Definition: ks.h:103
#define STATIC_KSDATAFORMAT_TYPE_AUDIO
Definition: ksmedia.h:880

Definition at line 92 of file splitter.c.

◆ PinDataFormatRanges

const PKSDATARANGE PinDataFormatRanges[]
Initial value:
=
{
}
KSDATARANGE PinDataFormatRange
Definition: splitter.c:92

Definition at line 107 of file splitter.c.

◆ PinDescriptors

const KSPIN_DESCRIPTOR_EX PinDescriptors[]

Definition at line 154 of file splitter.c.

Referenced by USBAudioPinBuildDescriptors().

◆ PinDispatch

const KSPIN_DISPATCH PinDispatch
Initial value:
=
{
NULL,
}
NTSTATUS NTAPI PinClose(IN PKSPIN Pin, IN PIRP Irp)
Definition: pin.c:60
VOID NTAPI PinReset(IN PKSPIN Pin)
Definition: pin.c:76
smooth NULL
Definition: ftsmooth.c:416
NTSTATUS NTAPI PinState(IN PKSPIN Pin, IN KSSTATE ToState, IN KSSTATE FromState)
Definition: pin.c:99
NTSTATUS NTAPI PinCreate(IN PKSPIN Pin, IN PIRP Irp)
Definition: pin.c:13

Definition at line 66 of file splitter.c.

◆ PinPropertySet

const KSPROPERTY_SET PinPropertySet[]
Initial value:
=
{
{
1,
0,
}
}
smooth NULL
Definition: ftsmooth.c:416
const GUID KSPROPSETID_Audio
Definition: splitter.c:12
KSPROPERTY_ITEM PinPropertyTable[]
Definition: splitter.c:19

Definition at line 37 of file splitter.c.

◆ PinPropertyTable

KSPROPERTY_ITEM PinPropertyTable[]
Initial value:
=
{
{
sizeof(KSPROPERTY),
0,
0
}
}
struct KSIDENTIFIER KSPROPERTY
NTSTATUS NTAPI AudioPositionPropertyHandler(IN PIRP Irp, IN PKSIDENTIFIER Request, IN OUT PVOID Data)
Definition: pin.c:127
smooth NULL
Definition: ftsmooth.c:416

Definition at line 19 of file splitter.c.