Author: janderwald Date: Tue Aug 11 16:52:22 2009 New Revision: 42619
URL: http://svn.reactos.org/svn/reactos?rev=42619&view=rev Log: - Add few macros, constants for splitter
Modified: trunk/reactos/include/psdk/ks.h trunk/reactos/include/psdk/ksmedia.h
Modified: trunk/reactos/include/psdk/ks.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/ks.h?rev=42619... ============================================================================== --- trunk/reactos/include/psdk/ks.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/ks.h [iso-8859-1] Tue Aug 11 16:52:22 2009 @@ -90,10 +90,20 @@
#define STATIC_GUID_NULL \ -0x00000000L, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + 0x00000000L, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} DEFINE_GUIDSTRUCT("00000000-0000-0000-0000-000000000000", GUID_NULL); #define GUID_NULL DEFINE_GUIDNAMED(GUID_NULL)
+ +#define STATIC_KSNAME_Filter\ + 0x9b365890L, 0x165f, 0x11d0, {0xa1, 0x95, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4} +DEFINE_GUIDSTRUCT("9b365890-165f-11d0-a195-0020afd156e4", KSNAME_Filter); +#define KSNAME_Filter DEFINE_GUIDNAMED(KSNAME_Filter) + +#define STATIC_KSMEMORY_TYPE_KERNEL_PAGED \ + 0xd833f8f8L, 0x7894, 0x11d1, {0xb0, 0x69, 0x00, 0xa0, 0xc9, 0x06, 0x28, 0x02} +DEFINE_GUIDSTRUCT("d833f8f8-7894-11d1-b069-00a0c9062802", KSMEMORY_TYPE_KERNEL_PAGED); +#define KSMEMORY_TYPE_KERNEL_PAGED DEFINE_GUIDNAMED(KSMEMORY_TYPE_KERNEL_PAGED)
/* =============================================================== I/O Control Codes @@ -2169,28 +2179,40 @@ PFNKSINTERSECTHANDLEREX IntersectHandler; } KSPIN_DESCRIPTOR_EX, *PKSPIN_DESCRIPTOR_EX;
-/* TODO */ -#define KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING -#define KSPIN_FLAG_CRITICAL_PROCESSING -#define KSPIN_FLAG_HYPERCRITICAL_PROCESSING -#define KSPIN_FLAG_ASYNCHRONOUS_PROCESSING -#define KSPIN_FLAG_DO_NOT_INITIATE_PROCESSING -#define KSPIN_FLAG_INITIATE_PROCESSING_ON_EVERY_ARRIVAL -#define KSPIN_FLAG_FRAMES_NOT_REQUIRED_FOR_PROCESSING -#define KSPIN_FLAG_ENFORCE_FIFO -#define KSPIN_FLAG_GENERATE_MAPPINGS -#define KSPIN_FLAG_DISTINCT_TRAILING_EDGE -#define KSPIN_FLAG_PROCESS_IN_RUN_STATE_ONLY -#define KSPIN_FLAG_SPLITTER -#define KSPIN_FLAG_USE_STANDARD_TRANSPORT -#define KSPIN_FLAG_DO_NOT_USE_STANDARD_TRANSPORT -#define KSPIN_FLAG_FIXED_FORMAT -#define KSPIN_FLAG_GENERATE_EOS_EVENTS -#define KSPIN_FLAG_RENDERER -#define KSPIN_FLAG_SOME_FRAMES_REQUIRED_FOR_PROCESSING -#define KSPIN_FLAG_PROCESS_IF_ANY_IN_RUN_STATE -#define KSPIN_FLAG_DENY_USERMODE_ACCESS -#define KSPIN_FLAG_IMPLEMENT_CLOCK +#define KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING 0x00000001 +#define KSFILTER_FLAG_CRITICAL_PROCESSING 0x00000002 +#define KSFILTER_FLAG_HYPERCRITICAL_PROCESSING 0x00000004 +#define KSFILTER_FLAG_RECEIVE_ZERO_LENGTH_SAMPLES 0x00000008 +#if (NTDDI_VERSION >= NTDDI_WINXPSP2) +#define KSFILTER_FLAG_DENY_USERMODE_ACCESS 0x80000000 +#endif + + +#define KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING +#define KSPIN_FLAG_CRITICAL_PROCESSING KSFILTER_FLAG_CRITICAL_PROCESSING +#define KSPIN_FLAG_HYPERCRITICAL_PROCESSING KSFILTER_FLAG_HYPERCRITICAL_PROCESSING +#define KSPIN_FLAG_ASYNCHRONOUS_PROCESSING 0x00000008 +#define KSPIN_FLAG_DO_NOT_INITIATE_PROCESSING 0x00000010 +#define KSPIN_FLAG_INITIATE_PROCESSING_ON_EVERY_ARRIVAL 0x00000020 +#define KSPIN_FLAG_FRAMES_NOT_REQUIRED_FOR_PROCESSING 0x00000040 +#define KSPIN_FLAG_ENFORCE_FIFO 0x00000080 + +#define KSPIN_FLAG_GENERATE_MAPPINGS 0x00000100 +#define KSPIN_FLAG_DISTINCT_TRAILING_EDGE 0x00000200 + +#define KSPIN_FLAG_PROCESS_IN_RUN_STATE_ONLY 0x00010000 +#define KSPIN_FLAG_SPLITTER 0x00020000 +#define KSPIN_FLAG_USE_STANDARD_TRANSPORT 0x00040000 +#define KSPIN_FLAG_DO_NOT_USE_STANDARD_TRANSPORT 0x00080000 +#define KSPIN_FLAG_FIXED_FORMAT 0x00100000 +#define KSPIN_FLAG_GENERATE_EOS_EVENTS 0x00200000 +#define KSPIN_FLAG_RENDERER (KSPIN_FLAG_PROCESS_IN_RUN_STATE_ONLY|KSPIN_FLAG_GENERATE_EOS_EVENTS) +#define KSPIN_FLAG_IMPLEMENT_CLOCK 0x00400000 +#define KSPIN_FLAG_SOME_FRAMES_REQUIRED_FOR_PROCESSING 0x00800000 +#define KSPIN_FLAG_PROCESS_IF_ANY_IN_RUN_STATE 0x01000000 +#if (NTDDI_VERSION >= NTDDI_WINXPSP2) +#define KSPIN_FLAG_DENY_USERMODE_ACCESS 0x80000000 +#endif
struct _KSPIN { @@ -2757,6 +2779,8 @@ const KSCOMPONENTID* ComponentId; };
+#define KSFILTER_DESCRIPTOR_VERSION ((ULONG)-1) + struct _KSDEVICE_DESCRIPTOR { const KSDEVICE_DISPATCH* Dispatch; @@ -2771,6 +2795,44 @@ KSOBJECT_BAG Bag; PVOID Context; }; + +#define DEFINE_KSFILTER_DESCRIPTOR(descriptor)\ + const KSFILTER_DESCRIPTOR descriptor = + +#define DEFINE_KSFILTER_PIN_DESCRIPTORS(table)\ + SIZEOF_ARRAY(table),\ + sizeof(table[0]),\ + table + +#define DEFINE_KSFILTER_CATEGORIES(table)\ + SIZEOF_ARRAY(table),\ + table + +#define DEFINE_KSFILTER_CATEGORY(category)\ + 1,\ + &(category) + +#define DEFINE_KSFILTER_CATEGORIES_NULL\ + 0,\ + NULL + +#define DEFINE_KSFILTER_NODE_DESCRIPTORS(table)\ + SIZEOF_ARRAY(table),\ + sizeof(table[0]),\ + table + +#define DEFINE_KSFILTER_NODE_DESCRIPTORS_NULL\ + 0,\ + sizeof(KSNODE_DESCRIPTOR),\ + NULL + +#define DEFINE_KSFILTER_CONNECTIONS(table)\ + SIZEOF_ARRAY(table),\ + table + +#define DEFINE_KSFILTER_DEFAULT_CONNECTIONS\ + 0,\ + NULL
#endif /* ===============================================================
Modified: trunk/reactos/include/psdk/ksmedia.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/ksmedia.h?rev=... ============================================================================== --- trunk/reactos/include/psdk/ksmedia.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/ksmedia.h [iso-8859-1] Tue Aug 11 16:52:22 2009 @@ -23,6 +23,14 @@ 0xFBF6F530L, 0x07B9, 0x11D2, {0xA7, 0x1E, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88} DEFINE_GUIDSTRUCT("FBF6F530-07B9-11D2-A71E-0000F8004788", KSCATEGORY_AUDIO_DEVICE); #define KSCATEGORY_AUDIO_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_DEVICE) + +/* video */ +#define STATIC_PINNAME_VIDEO_CAPTURE \ + 0xfb6c4281, 0x353, 0x11d1, 0x90, 0x5f, 0x0, 0x0, 0xc0, 0xcc, 0x16, 0xba +#define STATIC_PINNAME_CAPTURE STATIC_PINNAME_VIDEO_CAPTURE +DEFINE_GUIDSTRUCT("FB6C4281-0353-11d1-905F-0000C0CC16BA", PINNAME_VIDEO_CAPTURE); +#define PINNAME_VIDEO_CAPTURE DEFINE_GUIDNAMED(PINNAME_VIDEO_CAPTURE) +#define PINNAME_CAPTURE PINNAME_VIDEO_CAPTURE
/* Preferred devices */