From 2f29f8611cbf92d2c40a0d1691a5d383af9c625d Mon Sep 17 00:00:00 2001 From: robiwan Date: Fri, 29 Jun 2012 09:58:48 +0000 Subject: [PATCH] Added GUID, enumerators and structs to accomodate Vista and later OSs. --- src/hostapi/wasapi/mingw-include/ksmedia.h | 61 +++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/src/hostapi/wasapi/mingw-include/ksmedia.h b/src/hostapi/wasapi/mingw-include/ksmedia.h index 2242c1e..09729ba 100644 --- a/src/hostapi/wasapi/mingw-include/ksmedia.h +++ b/src/hostapi/wasapi/mingw-include/ksmedia.h @@ -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 */ +#define STATIC_KSCATEGORY_REALTIME \ + 0xEB115FFCL, 0x10C8, 0x4964, 0x83, 0x1D, 0x6D, 0xCB, 0x02, 0xE6, 0xF2, 0x3F +DEFINE_GUIDSTRUCT("EB115FFC-10C8-4964-831D-6DCB02E6F23F", KSCATEGORY_REALTIME); +#define KSCATEGORY_REALTIME DEFINE_GUIDNAMED(KSCATEGORY_REALTIME) + #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_ */ -- 2.43.0