]> Repos - portaudio/commitdiff
Added GUID, enumerators and structs to accomodate Vista and later OSs.
authorrobiwan <robiwan@0f58301d-fd10-0410-b4af-bbb618454e57>
Fri, 29 Jun 2012 09:58:48 +0000 (09:58 +0000)
committerrobiwan <robiwan@0f58301d-fd10-0410-b4af-bbb618454e57>
Fri, 29 Jun 2012 09:58:48 +0000 (09:58 +0000)
src/hostapi/wasapi/mingw-include/ksmedia.h

index 2242c1e03a5a48748e534d49a36dd7b4bdac5865..09729ba984f95f07b803b5cd07962aebbf32a2a1 100644 (file)
@@ -417,6 +417,12 @@ DEFINE_GUIDSTRUCT("6994AD04-93EF-11D0-A3CC-00A0C9223196",KSCATEGORY_AUDIO);
 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);
@@ -979,7 +985,15 @@ DEFINE_GUIDSTRUCT("A855A48C-2F78-4729-9051-1968746B9EEF",KSPROPSETID_RtAudio);
 #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                              \
@@ -4547,5 +4561,50 @@ typedef struct _tagKSJACK_DESCRIPTION2
   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_ */