Added GUID, enumerators and structs to accomodate Vista and later OSs.

This commit is contained in:
robiwan 2012-06-29 09:58:48 +00:00
commit 2f29f8611c

View 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 */
#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_ */