DEFINE_GUIDSTRUCT("6994AD05-93EF-11D0-A3CC-00A0C9223196",KSCATEGORY_VIDEO);
#define KSCATEGORY_VIDEO DEFINE_GUIDNAMED(KSCATEGORY_VIDEO)
+/* Added for Vista and later */\r
+#define STATIC_KSCATEGORY_REALTIME \\r
+ 0xEB115FFCL, 0x10C8, 0x4964, 0x83, 0x1D, 0x6D, 0xCB, 0x02, 0xE6, 0xF2, 0x3F\r
+DEFINE_GUIDSTRUCT("EB115FFC-10C8-4964-831D-6DCB02E6F23F", KSCATEGORY_REALTIME);\r
+#define KSCATEGORY_REALTIME DEFINE_GUIDNAMED(KSCATEGORY_REALTIME)\r
+
#define STATIC_KSCATEGORY_TEXT \
0x6994AD06L,0x93EF,0x11D0,0xA3,0xCC,0x00,0xA0,0xC9,0x22,0x31,0x96
DEFINE_GUIDSTRUCT("6994AD06-93EF-11D0-A3CC-00A0C9223196",KSCATEGORY_TEXT);
#define KSPROPSETID_RtAudio DEFINE_GUIDNAMED(KSPROPSETID_RtAudio)
typedef enum {
- KSPROPERTY_RTAUDIO_GETPOSITIONFUNCTION
+ KSPROPERTY_RTAUDIO_GETPOSITIONFUNCTION,
+ /* Added for Vista and later */
+ KSPROPERTY_RTAUDIO_BUFFER,
+ KSPROPERTY_RTAUDIO_HWLATENCY,
+ KSPROPERTY_RTAUDIO_POSITIONREGISTER,
+ KSPROPERTY_RTAUDIO_CLOCKREGISTER,
+ KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION,
+ KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT,
+ KSPROPERTY_RTAUDIO_UNREGISTER_NOTIFICATION_EVENT
} KSPROPERTY_RTAUDIO;
#define STATIC_KSPROPSETID_DrmAudioStream \
DWORD JackCapabilities;
} KSJACK_DESCRIPTION2, *PKSJACK_DESCRIPTION2;
+/* Additional structs for Windows Vista and later */
+typedef struct _tagKSRTAUDIO_BUFFER_PROPERTY {
+ KSPROPERTY Property;
+ PVOID BaseAddress;
+ ULONG RequestedBufferSize;
+} KSRTAUDIO_BUFFER_PROPERTY, *PKSRTAUDIO_BUFFER_PROPERTY;
+
+typedef struct _tagKSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION {
+ KSPROPERTY Property;
+ PVOID BaseAddress;
+ ULONG RequestedBufferSize;
+ ULONG NotificationCount;
+} KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION, *PKSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION;
+
+typedef struct _tagKSRTAUDIO_BUFFER {
+ PVOID BufferAddress;
+ ULONG ActualBufferSize;
+ BOOL CallMemoryBarrier;
+} KSRTAUDIO_BUFFER, *PKSRTAUDIO_BUFFER;
+
+typedef struct _tagKSRTAUDIO_HWLATENCY {
+ ULONG FifoSize;
+ ULONG ChipsetDelay;
+ ULONG CodecDelay;
+} KSRTAUDIO_HWLATENCY, *PKSRTAUDIO_HWLATENCY;
+
+typedef struct _tagKSRTAUDIO_HWREGISTER_PROPERTY {
+ KSPROPERTY Property;
+ PVOID BaseAddress;
+} KSRTAUDIO_HWREGISTER_PROPERTY, *PKSRTAUDIO_HWREGISTER_PROPERTY;
+
+typedef struct _tagKSRTAUDIO_HWREGISTER {
+ PVOID Register;
+ ULONG Width;
+ ULONGLONG Numerator;
+ ULONGLONG Denominator;
+ ULONG Accuracy;
+} KSRTAUDIO_HWREGISTER, *PKSRTAUDIO_HWREGISTER;
+
+typedef struct _tagKSRTAUDIO_NOTIFICATION_EVENT_PROPERTY {
+ KSPROPERTY Property;
+ HANDLE NotificationEvent;
+} KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY, *PKSRTAUDIO_NOTIFICATION_EVENT_PROPERTY;
+
+
#endif /* _KSMEDIA_ */