mirror of
https://github.com/reactos/reactos.git
synced 2024-11-09 08:08:38 +00:00
c501d8112c
svn path=/branches/aicom-network-fixes/; revision=34994
195 lines
8 KiB
C
195 lines
8 KiB
C
/*
|
|
KS Media
|
|
(c) Andrew Greenwood, 2007.
|
|
|
|
Please see COPYING in the top level directory for license information.
|
|
*/
|
|
|
|
#ifndef KSMEDIA_H
|
|
#define KSMEDIA_H
|
|
|
|
#include <ks.h>
|
|
|
|
/*
|
|
KS CATEGORIES
|
|
*/
|
|
|
|
|
|
/* Audio device (as presented by sysaudio) */
|
|
|
|
#define STATIC_KSCATEGORY_AUDIO_DEVICE \
|
|
0xFBF6F530L, 0x07B9, 0x11D2, 0xA7, 0x1E, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88
|
|
DEFINE_GUIDSTRUCT("FBF6F530-07B9-11D2-A71E-0000F8004788", KSCATEGORY_AUDIO_DEVICE);
|
|
#define KSCATEGORY_AUDIO_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_DEVICE)
|
|
|
|
/* Preferred devices */
|
|
|
|
#define STATIC_KSCATEGORY_PREFERRED_WAVEOUT_DEVICE \
|
|
0xD6C5066EL, 0x72C1, 0x11D2, 0x97, 0x55, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88
|
|
DEFINE_GUIDSTRUCT("D6C5066E-72C1-11D2-9755-0000F8004788", KSCATEGORY_PREFERRED_WAVEOUT_DEVICE);
|
|
#define KSCATEGORY_PREFERRED_WAVEOUT_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_WAVEOUT_DEVICE)
|
|
|
|
#define STATIC_KSCATEGORY_PREFERRED_WAVEIN_DEVICE \
|
|
0xD6C50671L, 0x72C1, 0x11D2, 0x97, 0x55, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88
|
|
DEFINE_GUIDSTRUCT("D6C50671-72C1-11D2-9755-0000F8004788", KSCATEGORY_PREFERRED_WAVEIN_DEVICE);
|
|
#define KSCATEGORY_PREFERRED_WAVEIN_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_WAVEIN_DEVICE)
|
|
|
|
#define STATIC_KSCATEGORY_PREFERRED_MIDIOUT_DEVICE \
|
|
0xD6C50674L, 0x72C1, 0x11D2, 0x97, 0x55, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88
|
|
DEFINE_GUIDSTRUCT("D6C50674-72C1-11D2-9755-0000F8004788", KSCATEGORY_PREFERRED_MIDIOUT_DEVICE);
|
|
#define KSCATEGORY_PREFERRED_MIDIOUT_DEVICE DEFINE_GUIDNAMED(KSCATEGORY_PREFERRED_MIDIOUT_DEVICE)
|
|
|
|
|
|
/* Media type categories */
|
|
|
|
#define STATIC_KSCATEGORY_AUDIO \
|
|
0x6994AD04L, 0x93EF, 0x11D0, 0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
|
|
DEFINE_GUIDSTRUCT("6994AD04-93EF-11D0-A3CC-00A0C9223196", KSCATEGORY_AUDIO);
|
|
#define KSCATEGORY_AUDIO DEFINE_GUIDNAMED(KSCATEGORY_AUDIO)
|
|
|
|
#define STATIC_KSCATEGORY_VIDEO \
|
|
0x6994AD05L, 0x93EF, 0x11D0, 0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
|
|
DEFINE_GUIDSTRUCT("6994AD05-93EF-11D0-A3CC-00A0C9223196", KSCATEGORY_VIDEO);
|
|
#define KSCATEGORY_VIDEO DEFINE_GUIDNAMED(KSCATEGORY_VIDEO)
|
|
|
|
#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 KSCATEGORY_TEXT DEFINE_GUIDNAMED(KSCATEGORY_TEXT)
|
|
|
|
#define STATIC_KSCATEGORY_NETWORK \
|
|
0x67C9CC3CL, 0x69C4, 0x11D2, 0x87, 0x59, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
|
|
DEFINE_GUIDSTRUCT("67C9CC3C-69C4-11D2-8759-00A0C9223196", KSCATEGORY_NETWORK);
|
|
#define KSCATEGORY_NETWORK DEFINE_GUIDNAMED(KSCATEGORY_NETWORK)
|
|
|
|
#define STATIC_KSINTERFACESETID_Media \
|
|
0x3A13EB40L, 0x30A7, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
|
|
DEFINE_GUIDSTRUCT("3A13EB40-30A7-11D0-A5D6-28DB04C10000", KSINTERFACESETID_Media);
|
|
#define KSINTERFACESETID_Media DEFINE_GUIDNAMED(KSINTERFACESETID_Media)
|
|
|
|
/* ... */
|
|
|
|
#define STATIC_KSCATEGORY_TOPOLOGY \
|
|
0xDDA54A40L, 0x1E4C, 0x11D1, 0xA0, 0x50, 0x40, 0x57, 0x05, 0xC1, 0x00, 0x00
|
|
DEFINE_GUIDSTRUCT("DDA54A40-1E4C-11D1-A050-405705C10000", KSCATEGORY_TOPOLOGY);
|
|
#define KSCATEGORY_TOPOLOGY DEFINE_GUIDNAMED(KSCATEGORY_TOPOLOGY)
|
|
|
|
#define STATIC_KSCATEGORY_VIRTUAL \
|
|
0x3503EAC4L, 0x1F26, 0x11D1, 0x8A, 0xB0, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
|
|
DEFINE_GUIDSTRUCT("3503EAC4-1F26-11D1-8AB0-00A0C9223196", KSCATEGORY_VIRTUAL);
|
|
#define KSCATEGORY_VIRTUAL DEFINE_GUIDNAMED(KSCATEGORY_VIRTUAL)
|
|
|
|
#define STATIC_KSCATEGORY_ACOUSTIC_ECHO_CANCEL \
|
|
0xBF963D80L, 0xC559, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1
|
|
DEFINE_GUIDSTRUCT("BF963D80-C559-11D0-8A2B-00A0C9255AC1", KSCATEGORY_ACOUSTIC_ECHO_CANCEL);
|
|
#define KSCATEGORY_ACOUSTIC_ECHO_CANCEL DEFINE_GUIDNAMED(KSCATEGORY_ACOUSTIC_ECHO_CANCEL)
|
|
|
|
|
|
/* Component-specific */
|
|
|
|
#define STATIC_KSCATEGORY_SYSAUDIO \
|
|
0xA7C7A5B1L, 0x5AF3, 0x11D1, 0x9C, 0xED, 0x00, 0xA0, 0x24, 0xBF, 0x04, 0x07
|
|
DEFINE_GUIDSTRUCT("A7C7A5B1-5AF3-11D1-9CED-00A024BF0407", KSCATEGORY_SYSAUDIO);
|
|
#define KSCATEGORY_SYSAUDIO DEFINE_GUIDNAMED(KSCATEGORY_SYSAUDIO)
|
|
|
|
#define STATIC_KSCATEGORY_WDMAUD \
|
|
0x3E227E76L, 0x690D, 0x11D2, 0x81, 0x61, 0x00, 0x00, 0xF8, 0x77, 0x5B, 0xF1
|
|
DEFINE_GUIDSTRUCT("3E227E76-690D-11D2-8161-0000F8775BF1", KSCATEGORY_WDMAUD);
|
|
#define KSCATEGORY_WDMAUD DEFINE_GUIDNAMED(KSCATEGORY_WDMAUD)
|
|
|
|
#define STATIC_KSCATEGORY_AUDIO_GFX \
|
|
0x9BAF9572L, 0x340C, 0x11D3, 0xAB, 0xDC, 0x00, 0xA0, 0xC9, 0x0A, 0xB1, 0x6F
|
|
DEFINE_GUIDSTRUCT("9BAF9572-340C-11D3-ABDC-00A0C90AB16F", KSCATEGORY_AUDIO_GFX);
|
|
#define KSCATEGORY_AUDIO_GFX DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_GFX)
|
|
|
|
#define STATIC_KSCATEGORY_AUDIO_SPLITTER \
|
|
0x9EA331FAL, 0xB91B, 0x45F8, 0x92, 0x85, 0xBD, 0x2B, 0xC7, 0x7A, 0xFC, 0xDE
|
|
DEFINE_GUIDSTRUCT("9EA331FA-B91B-45F8-9285-BD2BC77AFCDE", KSCATEGORY_AUDIO_SPLITTER);
|
|
#define KSCATEGORY_AUDIO_SPLITTER DEFINE_GUIDNAMED(KSCATEGORY_AUDIO_SPLITTER)
|
|
|
|
#define STATIC_KSCATEGORY_SYNTHESIZER STATIC_KSNODETYPE_SYNTHESIZER
|
|
#define KSCATEGORY_SYNTHESIZER KSNODETYPE_SYNTHESIZER
|
|
|
|
#define STATIC_KSCATEGORY_DRM_DESCRAMBLE STATIC_KSNODETYPE_DRM_DESCRAMBLE
|
|
#define KSCATEGORY_DRM_DESCRAMBLE KSNODETYPE_DRM_DESCRAMBLE
|
|
|
|
/*
|
|
Pins
|
|
*/
|
|
|
|
#define STATIC_KSCATEGORY_WDMAUD_USE_PIN_NAME \
|
|
0x47A4FA20L, 0xA251, 0x11D1, 0xA0, 0x50, 0x00, 0x00, 0xF8, 0x00, 0x47, 0x88
|
|
DEFINE_GUIDSTRUCT("47A4FA20-A251-11D1-A050-0000F8004788", KSCATEGORY_WDMAUD_USE_PIN_NAME);
|
|
#define KSCATEGORY_WDMAUD_USE_PIN_NAME DEFINE_GUIDNAMED(KSCATEGORY_WDMAUD_USE_PIN_NAME)
|
|
|
|
|
|
/*
|
|
Formats
|
|
*/
|
|
|
|
// 'vids'
|
|
#define STATIC_KSDATAFORMAT_TYPE_VIDEO \
|
|
0x73646976L, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71
|
|
DEFINE_GUIDSTRUCT("73646976-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_VIDEO);
|
|
#define KSDATAFORMAT_TYPE_VIDEO DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_VIDEO)
|
|
|
|
// 'auds'
|
|
#define STATIC_KSDATAFORMAT_TYPE_AUDIO \
|
|
0x73647561L, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71
|
|
DEFINE_GUIDSTRUCT("73647561-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_AUDIO);
|
|
#define KSDATAFORMAT_TYPE_AUDIO DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_AUDIO)
|
|
|
|
// 'txts'
|
|
#define STATIC_KSDATAFORMAT_TYPE_TEXT \
|
|
0x73747874L, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71
|
|
DEFINE_GUIDSTRUCT("73747874-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_TEXT);
|
|
#define KSDATAFORMAT_TYPE_TEXT DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_TEXT)
|
|
|
|
#define STATIC_KSDATAFORMAT_TYPE_MUSIC \
|
|
0xE725D360L, 0x62CC, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
|
|
DEFINE_GUIDSTRUCT("E725D360-62CC-11CF-A5D6-28DB04C10000", KSDATAFORMAT_TYPE_MUSIC);
|
|
#define KSDATAFORMAT_TYPE_MUSIC DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MUSIC)
|
|
|
|
// 'mids'
|
|
#define STATIC_KSDATAFORMAT_TYPE_MIDI \
|
|
0x7364696DL, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71
|
|
DEFINE_GUIDSTRUCT("7364696D-0000-0010-8000-00aa00389b71", KSDATAFORMAT_TYPE_MIDI);
|
|
#define KSDATAFORMAT_TYPE_MIDI DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MIDI)
|
|
|
|
#define STATIC_KSDATAFORMAT_SUBTYPE_MIDI \
|
|
0x1D262760L, 0xE957, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
|
|
DEFINE_GUIDSTRUCT("1D262760-E957-11CF-A5D6-28DB04C10000", KSDATAFORMAT_SUBTYPE_MIDI);
|
|
#define KSDATAFORMAT_SUBTYPE_MIDI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_MIDI)
|
|
|
|
|
|
/*
|
|
SysAudio Properties
|
|
*/
|
|
|
|
#define STATIC_KSPROPSETID_Sysaudio \
|
|
0xCBE3FAA0L, 0xCC75, 0x11D0, 0xB4, 0x65, 0x00, 0x00, 0x1A, 0x18, 0x18, 0xE6
|
|
DEFINE_GUIDSTRUCT("CBE3FAA0-CC75-11D0-B465-00001A1818E6", KSPROPSETID_Sysaudio);
|
|
#define KSPROPSETID_Sysaudio DEFINE_GUIDNAMED(KSPROPSETID_Sysaudio)
|
|
|
|
typedef enum {
|
|
KSPROPERTY_SYSAUDIO_DEVICE_COUNT = 1,
|
|
KSPROPERTY_SYSAUDIO_DEVICE_FRIENDLY_NAME = 2,
|
|
KSPROPERTY_SYSAUDIO_DEVICE_INSTANCE = 3,
|
|
KSPROPERTY_SYSAUDIO_DEVICE_INTERFACE_NAME = 4,
|
|
KSPROPERTY_SYSAUDIO_SELECT_GRAPH = 5,
|
|
KSPROPERTY_SYSAUDIO_CREATE_VIRTUAL_SOURCE = 6,
|
|
KSPROPERTY_SYSAUDIO_DEVICE_DEFAULT = 7,
|
|
KSPROPERTY_SYSAUDIO_INSTANCE_INFO = 14,
|
|
KSPROPERTY_SYSAUDIO_COMPONENT_ID = 16
|
|
} KSPROPERTY_SYSAUDIO;
|
|
|
|
typedef struct {
|
|
KSPROPERTY Property;
|
|
ULONG Flags;
|
|
ULONG DeviceNumber;
|
|
} SYSAUDIO_INSTANCE_INFO, *PSYSAUDIO_INSTANCE_INFO;
|
|
|
|
#define SYSAUDIO_FLAGS_DONT_COMBINE_PINS 0x00000001
|
|
|
|
|
|
#endif
|