[PSDK]
authorJohannes Anderwald <johannes.anderwald@reactos.org>
Thu, 11 Mar 2010 21:15:46 +0000 (21:15 +0000)
committerJohannes Anderwald <johannes.anderwald@reactos.org>
Thu, 11 Mar 2010 21:15:46 +0000 (21:15 +0000)
- Add a few types required for ksproxy

svn path=/trunk/; revision=46115

reactos/include/psdk/ks.h

index 7384457..a86d4a8 100644 (file)
@@ -501,11 +501,12 @@ typedef enum
     Properties/Methods/Events
 */
 
     Properties/Methods/Events
 */
 
-#define KSPROPSETID_MediaSeeking \
+#define STATIC_KSPROPSETID_MediaSeeking\
     0xEE904F0CL, 0xD09B, 0x11D0, 0xAB, 0xE9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
     0xEE904F0CL, 0xD09B, 0x11D0, 0xAB, 0xE9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
+DEFINE_GUIDSTRUCT("EE904F0C-D09B-11D0-ABE9-00A0C9223196", KSPROPSETID_MediaSeeking);
+#define KSPROPSETID_MediaSeeking DEFINE_GUIDNAMED(KSPROPSETID_MediaSeeking)
 
 
-typedef enum
-{
+typedef enum {
     KSPROPERTY_MEDIASEEKING_CAPABILITIES,
     KSPROPERTY_MEDIASEEKING_FORMATS,
     KSPROPERTY_MEDIASEEKING_TIMEFORMAT,
     KSPROPERTY_MEDIASEEKING_CAPABILITIES,
     KSPROPERTY_MEDIASEEKING_FORMATS,
     KSPROPERTY_MEDIASEEKING_TIMEFORMAT,
@@ -518,6 +519,126 @@ typedef enum
     KSPROPERTY_MEDIASEEKING_CONVERTTIMEFORMAT
 } KSPROPERTY_MEDIASEEKING;
 
     KSPROPERTY_MEDIASEEKING_CONVERTTIMEFORMAT
 } KSPROPERTY_MEDIASEEKING;
 
+typedef enum {
+    KS_SEEKING_NoPositioning,
+    KS_SEEKING_AbsolutePositioning,
+    KS_SEEKING_RelativePositioning,
+    KS_SEEKING_IncrementalPositioning,
+    KS_SEEKING_PositioningBitsMask = 0x3,
+    KS_SEEKING_SeekToKeyFrame,
+    KS_SEEKING_ReturnTime = 0x8
+} KS_SEEKING_FLAGS;
+
+typedef enum {
+    KS_SEEKING_CanSeekAbsolute = 0x1,
+    KS_SEEKING_CanSeekForwards = 0x2,
+    KS_SEEKING_CanSeekBackwards = 0x4,
+    KS_SEEKING_CanGetCurrentPos = 0x8,
+    KS_SEEKING_CanGetStopPos = 0x10,
+    KS_SEEKING_CanGetDuration = 0x20,
+    KS_SEEKING_CanPlayBackwards = 0x40
+} KS_SEEKING_CAPABILITIES;
+
+typedef struct {
+    LONGLONG            Current;
+    LONGLONG            Stop;
+    KS_SEEKING_FLAGS    CurrentFlags;
+    KS_SEEKING_FLAGS    StopFlags;
+} KSPROPERTY_POSITIONS, *PKSPROPERTY_POSITIONS;
+
+typedef struct {
+    LONGLONG    Earliest;
+    LONGLONG    Latest;
+} KSPROPERTY_MEDIAAVAILABLE, *PKSPROPERTY_MEDIAAVAILABLE;
+
+typedef struct {
+    KSPROPERTY  Property;
+    GUID        SourceFormat;
+    GUID        TargetFormat;
+    LONGLONG    Time;
+} KSP_TIMEFORMAT, *PKSP_TIMEFORMAT;
+
+#define DEFINE_KSPROPERTY_ITEM_MEDIASEEKING_CAPABILITIES(Handler)\
+    DEFINE_KSPROPERTY_ITEM(\
+        KSPROPERTY_MEDIASEEKING_CAPABILITIES,\
+        (Handler),\
+        sizeof(KSPROPERTY),\
+        sizeof(KS_SEEKING_CAPABILITIES),\
+        NULL, NULL, 0, NULL, NULL, 0)
+
+#define DEFINE_KSPROPERTY_ITEM_MEDIASEEKING_FORMATS(Handler)\
+    DEFINE_KSPROPERTY_ITEM(\
+        KSPROPERTY_MEDIASEEKING_FORMATS,\
+        (Handler),\
+        sizeof(KSPROPERTY),\
+        0,\
+        NULL, NULL, 0, NULL, NULL, 0)
+
+#define DEFINE_KSPROPERTY_ITEM_MEDIASEEKING_TIMEFORMAT(GetHandler, SetHandler)\
+    DEFINE_KSPROPERTY_ITEM(\
+        KSPROPERTY_MEDIASEEKING_TIMEFORMAT,\
+        (GetHandler),\
+        sizeof(KSPROPERTY),\
+        sizeof(GUID),\
+        (SetHandler),\
+        NULL, 0, NULL, NULL, 0)
+
+#define DEFINE_KSPROPERTY_ITEM_MEDIASEEKING_POSITION(Handler)\
+    DEFINE_KSPROPERTY_ITEM(\
+        KSPROPERTY_MEDIASEEKING_POSITION,\
+        (Handler),\
+        sizeof(KSPROPERTY),\
+        sizeof(LONGLONG),\
+        NULL, NULL, 0, NULL, NULL, 0)
+
+#define DEFINE_KSPROPERTY_ITEM_MEDIASEEKING_STOPPOSITION(Handler)\
+    DEFINE_KSPROPERTY_ITEM(\
+        KSPROPERTY_MEDIASEEKING_STOPPOSITION,\
+        (Handler),\
+        sizeof(KSPROPERTY),\
+        sizeof(LONGLONG),\
+        NULL, NULL, 0, NULL, NULL, 0)
+
+#define DEFINE_KSPROPERTY_ITEM_MEDIASEEKING_POSITIONS(Handler)\
+    DEFINE_KSPROPERTY_ITEM(\
+        KSPROPERTY_MEDIASEEKING_POSITIONS,\
+        NULL,\
+        sizeof(KSPROPERTY),\
+        sizeof(KSPROPERTY_POSITIONS),\
+        (Handler),\
+        NULL, 0, NULL, NULL, 0)
+
+#define DEFINE_KSPROPERTY_ITEM_MEDIASEEKING_DURATION(Handler)\
+    DEFINE_KSPROPERTY_ITEM(\
+        KSPROPERTY_MEDIASEEKING_DURATION,\
+        (Handler),\
+        sizeof(KSPROPERTY),\
+        sizeof(LONGLONG),\
+        NULL, NULL, 0, NULL, NULL, 0)
+
+#define DEFINE_KSPROPERTY_ITEM_MEDIASEEKING_AVAILABLE(Handler)\
+    DEFINE_KSPROPERTY_ITEM(\
+        KSPROPERTY_MEDIASEEKING_AVAILABLE,\
+        (Handler),\
+        sizeof(KSPROPERTY),\
+        sizeof(KSPROPERTY_MEDIAAVAILABLE),\
+        NULL, NULL, 0, NULL, NULL, 0)
+
+#define DEFINE_KSPROPERTY_ITEM_MEDIASEEKING_PREROLL(Handler)\
+    DEFINE_KSPROPERTY_ITEM(\
+        KSPROPERTY_MEDIASEEKING_PREROLL,\
+        (Handler),\
+        sizeof(KSPROPERTY),\
+        sizeof(LONGLONG),\
+        NULL, NULL, 0, NULL, NULL, 0)
+
+#define DEFINE_KSPROPERTY_ITEM_MEDIASEEKING_CONVERTTIMEFORMAT(Handler)\
+    DEFINE_KSPROPERTY_ITEM(\
+        KSPROPERTY_MEDIASEEKING_CONVERTTIMEFORMAT,\
+        (Handler),\
+        sizeof(KSP_TIMEFORMAT),\
+        sizeof(LONGLONG),\
+        NULL, NULL, 0, NULL, NULL, 0)
 
 /* ===============================================================
     Pin
 
 /* ===============================================================
     Pin
@@ -1383,24 +1504,6 @@ typedef struct
 #define KSPROPERTY_MEMBER_VALUES        0x00000003
 #define KSPROPERTY_MEMBER_FLAG_DEFAULT  KSPROPERTY_MEMBER_RANGES
 
 #define KSPROPERTY_MEMBER_VALUES        0x00000003
 #define KSPROPERTY_MEMBER_FLAG_DEFAULT  KSPROPERTY_MEMBER_RANGES
 
-typedef enum {
-    KS_SEEKING_NoPositioning,
-    KS_SEEKING_AbsolutePositioning,
-    KS_SEEKING_RelativePositioning,
-    KS_SEEKING_IncrementalPositioning,
-    KS_SEEKING_PositioningBitsMask = 0x3,
-    KS_SEEKING_SeekToKeyFrame,
-    KS_SEEKING_ReturnTime = 0x8
-} KS_SEEKING_FLAGS;
-
-typedef struct
-{
-    LONGLONG            Current;
-    LONGLONG            Stop;
-    KS_SEEKING_FLAGS    CurrentFlags;
-    KS_SEEKING_FLAGS    StopFlags;
-} KSPROPERTY_POSITIONS, *PKSPROPERTY_POSITIONS;
-
 typedef struct
 {
     GUID            PropertySet;
 typedef struct
 {
     GUID            PropertySet;
@@ -1473,13 +1576,6 @@ typedef struct
     ULONG           Reserved;
 } KSPROPERTY_DESCRIPTION, *PKSPROPERTY_DESCRIPTION;
 
     ULONG           Reserved;
 } KSPROPERTY_DESCRIPTION, *PKSPROPERTY_DESCRIPTION;
 
-typedef struct
-{
-    LONGLONG    Earliest;
-    LONGLONG    Latest;
-} KSPROPERTY_MEDIAAVAILABLE, *PKSPROPERTY_MEDIAAVAILABLE;
-
-
 typedef struct
 {
     ULONG   MembersFlags;
 typedef struct
 {
     ULONG   MembersFlags;
@@ -1760,14 +1856,6 @@ typedef struct
     LONGLONG    SystemTime;
 } KSCORRELATED_TIME, *PKSCORRELATED_TIME;
 
     LONGLONG    SystemTime;
 } KSCORRELATED_TIME, *PKSCORRELATED_TIME;
 
-typedef struct
-{
-    KSPROPERTY Property;
-    GUID SourceFormat;
-    GUID TargetFormat;
-    LONGLONG Time;
-} KSP_TIMEFORMAT, *PKSP_TIMEFORMAT;
-
 typedef struct
 {
     LONGLONG        TimeBase;
 typedef struct
 {
     LONGLONG        TimeBase;