ReactOS 0.4.15-dev-7834-g00c4b3d
minwavetables.hpp File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define STATIC_KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF   DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_DOLBY_AC3_SPDIF)
 
#define KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF   DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF)
 
#define WAVE_FORMAT_WMA_SPDIF   0x164
 
#define STATIC_KSDATAFORMAT_SUBTYPE_WMA_SPDIF   DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_WMA_SPDIF)
 
#define KSDATAFORMAT_SUBTYPE_WMA_SPDIF   DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_WMA_SPDIF)
 

Functions

 DEFINE_GUIDSTRUCT ("00000092-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF)
 
 DEFINE_GUIDSTRUCT ("00000164-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_WMA_SPDIF)
 
NTSTATUS NTAPI PropertyHandler_ChannelConfig (PPCPROPERTY_REQUEST PropertyRequest)
 
 DEFINE_PCAUTOMATION_TABLE_PROP (AutomationChans, PropertiesChannels)
 

Variables

static KSDATARANGE_AUDIO WavePinDataRangesPCMStream []
 
static KSDATARANGE_AUDIO WavePinDataRangesAC3Stream []
 
static PKSDATARANGE WavePinDataRangePointersPCMStream []
 
static PKSDATARANGE WavePinDataRangePointersAC3Stream []
 
static KSDATARANGE WavePinDataRangesPCMBridge []
 
static KSDATARANGE WavePinDataRangesAC3Bridge []
 
static PKSDATARANGE WavePinDataRangePointersPCMBridge []
 
static PKSDATARANGE WavePinDataRangePointersAC3Bridge []
 
static PCPIN_DESCRIPTOR WaveMiniportPins []
 
static PCPROPERTY_ITEM PropertiesChannels []
 
static PCNODE_DESCRIPTOR WaveMiniportNodes []
 
static PCCONNECTION_DESCRIPTOR WaveMiniportConnections []
 
static PCFILTER_DESCRIPTOR WaveMiniportFilterDescriptor
 

Macro Definition Documentation

◆ KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF

#define KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF   DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF)

Definition at line 33 of file minwavetables.hpp.

◆ KSDATAFORMAT_SUBTYPE_WMA_SPDIF

#define KSDATAFORMAT_SUBTYPE_WMA_SPDIF   DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_WMA_SPDIF)

Definition at line 38 of file minwavetables.hpp.

◆ STATIC_KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF

#define STATIC_KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF   DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_DOLBY_AC3_SPDIF)

Definition at line 31 of file minwavetables.hpp.

◆ STATIC_KSDATAFORMAT_SUBTYPE_WMA_SPDIF

#define STATIC_KSDATAFORMAT_SUBTYPE_WMA_SPDIF   DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_WMA_SPDIF)

Definition at line 36 of file minwavetables.hpp.

◆ WAVE_FORMAT_WMA_SPDIF

#define WAVE_FORMAT_WMA_SPDIF   0x164

Definition at line 35 of file minwavetables.hpp.

Function Documentation

◆ DEFINE_GUIDSTRUCT() [1/2]

DEFINE_GUIDSTRUCT ( "00000092-0000-0010-8000-00aa00389b71"  ,
KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF   
)

◆ DEFINE_GUIDSTRUCT() [2/2]

DEFINE_GUIDSTRUCT ( "00000164-0000-0010-8000-00aa00389b71"  ,
KSDATAFORMAT_SUBTYPE_WMA_SPDIF   
)

◆ DEFINE_PCAUTOMATION_TABLE_PROP()

DEFINE_PCAUTOMATION_TABLE_PROP ( AutomationChans  ,
PropertiesChannels   
)

◆ PropertyHandler_ChannelConfig()

NTSTATUS NTAPI PropertyHandler_ChannelConfig ( PPCPROPERTY_REQUEST  PropertyRequest)

Definition at line 88 of file minwave.cpp.

848{
849 PAGED_CODE();
850 ASSERT(PropertyRequest);
851 DBGPRINT(("[PropertyHandler_ChannelConfig]"));
852
853#ifdef WAVERT
854 CMiniportWaveCMI *that = (CMiniportWaveCMI *) ((PMINIPORTWAVERT)PropertyRequest->MajorTarget);
855#else
857#endif
858
859 if (PropertyRequest->Node == KSNODE_WAVE_DAC) {
860
861 if (PropertyRequest->ValueSize == 0) {
862 PropertyRequest->ValueSize = sizeof(LONG);
864 } else if (PropertyRequest->ValueSize < sizeof (LONG)) {
865 PropertyRequest->ValueSize = 0;
867 }
868
869 if (PropertyRequest->Verb & KSPROPERTY_TYPE_GET) {
870 *(PLONG)PropertyRequest->Value = that->requestedChannelMask;
871 PropertyRequest->ValueSize = sizeof(ULONG);
872 return STATUS_SUCCESS;
873 } else if (PropertyRequest->Verb & KSPROPERTY_TYPE_SET) {
874 if (*(PLONG)PropertyRequest->Value == KSAUDIO_SPEAKER_7POINT1) {
875 that->requestedChannelMask = *(PLONG)PropertyRequest->Value;
876 that->requestedChannelCount = 8;
877 return STATUS_SUCCESS;
878 }
879 if (*(PLONG)PropertyRequest->Value == KSAUDIO_SPEAKER_5POINT1) {
880 that->requestedChannelMask = *(PLONG)PropertyRequest->Value;
881 that->requestedChannelCount = 6;
882 return STATUS_SUCCESS;
883 }
884 if ((*(PLONG)PropertyRequest->Value == KSAUDIO_SPEAKER_QUAD) || (*(PLONG)PropertyRequest->Value == KSAUDIO_SPEAKER_SURROUND)) {
885 that->requestedChannelMask = *(PLONG)PropertyRequest->Value;
886 that->requestedChannelCount = 4;
887 return STATUS_SUCCESS;
888 }
889 if (*(PLONG)PropertyRequest->Value == KSAUDIO_SPEAKER_STEREO) {
890 that->requestedChannelMask = *(PLONG)PropertyRequest->Value;
891 that->requestedChannelCount = 2;
892 return STATUS_SUCCESS;
893 }
894 } else if (PropertyRequest->Verb & KSPROPERTY_TYPE_BASICSUPPORT) {
895 PULONG AccessFlags = PULONG(PropertyRequest->Value);
897 PropertyRequest->ValueSize = sizeof(ULONG);
898 return STATUS_SUCCESS;
899 }
900 }
902}
#define PAGED_CODE()
#define DBGPRINT(...)
Definition: pdo.c:21
UInt32 requestedChannelMask
Definition: minwave.hpp:58
UInt32 requestedChannelCount
Definition: minwave.hpp:57
@ KSNODE_WAVE_DAC
Definition: interfaces.hpp:464
#define KSPROPERTY_TYPE_SET
Definition: dmksctrl.h:43
#define KSPROPERTY_TYPE_BASICSUPPORT
Definition: dmksctrl.h:45
#define KSPROPERTY_TYPE_GET
Definition: dmksctrl.h:42
#define KSAUDIO_SPEAKER_SURROUND
Definition: ksmedia.h:1457
#define KSAUDIO_SPEAKER_5POINT1
Definition: ksmedia.h:1459
#define KSAUDIO_SPEAKER_QUAD
Definition: ksmedia.h:1455
#define KSAUDIO_SPEAKER_STEREO
Definition: ksmedia.h:1454
#define KSAUDIO_SPEAKER_7POINT1
Definition: ksmedia.h:1462
#define ASSERT(a)
Definition: mode.c:44
long LONG
Definition: pedump.c:60
IMiniportWaveCyclic * PMINIPORTWAVECYCLIC
Definition: portcls.h:1543
IMiniportWaveRT * PMINIPORTWAVERT
Definition: portcls.h:1983
#define STATUS_SUCCESS
Definition: shellext.h:65
#define STATUS_BUFFER_TOO_SMALL
Definition: shellext.h:69
#define STATUS_BUFFER_OVERFLOW
Definition: shellext.h:66
PUNKNOWN MajorTarget
Definition: portcls.h:258
uint32_t * PULONG
Definition: typedefs.h:59
int32_t * PLONG
Definition: typedefs.h:58
uint32_t ULONG
Definition: typedefs.h:59
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList

Variable Documentation

◆ PropertiesChannels

PCPROPERTY_ITEM PropertiesChannels[]
static
Initial value:
=
{
{
}
}
@ KSPROPERTY_AUDIO_CHANNEL_CONFIG
Definition: ksmedia.h:1056
#define KSPROPSETID_Audio
Definition: ksmedia.h:1051
NTSTATUS NTAPI PropertyHandler_ChannelConfig(PPCPROPERTY_REQUEST PropertyRequest)
Definition: minwave.cpp:847

Definition at line 325 of file minwavetables.hpp.

◆ WaveMiniportConnections

PCCONNECTION_DESCRIPTOR WaveMiniportConnections[]
static
Initial value:
=
{
}
@ KSNODE_WAVE_VOLUME2
Definition: interfaces.hpp:461
@ KSNODE_WAVE_VOLUME1
Definition: interfaces.hpp:458
@ KSNODE_WAVE_3D_EFFECTS
Definition: interfaces.hpp:459
@ KSNODE_WAVE_SUM
Definition: interfaces.hpp:463
@ KSNODE_WAVE_ADC
Definition: interfaces.hpp:457
@ KSNODE_WAVE_SRC
Definition: interfaces.hpp:462
@ KSNODE_WAVE_SPDIF
Definition: interfaces.hpp:465
@ KSNODE_WAVE_SUPERMIX
Definition: interfaces.hpp:460
@ PIN_WAVE_CAPTURE_SOURCE
Definition: interfaces.hpp:445
@ PIN_WAVE_CAPTURE_SINK
Definition: interfaces.hpp:444
@ PIN_WAVE_RENDER_SINK
Definition: interfaces.hpp:446
@ PIN_WAVE_AC3_RENDER_SINK
Definition: interfaces.hpp:448
@ PIN_WAVE_AC3_RENDER_SOURCE
Definition: interfaces.hpp:449
@ PIN_WAVE_RENDER_SOURCE
Definition: interfaces.hpp:447
#define PCFILTER_NODE
Definition: portcls.h:154

Definition at line 358 of file minwavetables.hpp.

◆ WaveMiniportFilterDescriptor

PCFILTER_DESCRIPTOR WaveMiniportFilterDescriptor
static
Initial value:
=
{
0,
NULL,
sizeof(PCPIN_DESCRIPTOR),
0,
}
#define SIZEOF_ARRAY(ar)
Definition: cdrom.h:1482
#define NULL
Definition: types.h:112
static PCCONNECTION_DESCRIPTOR WaveMiniportConnections[]
static PCPIN_DESCRIPTOR WaveMiniportPins[]
static PCNODE_DESCRIPTOR WaveMiniportNodes[]

Definition at line 376 of file minwavetables.hpp.

◆ WaveMiniportNodes

PCNODE_DESCRIPTOR WaveMiniportNodes[]
static
Initial value:
=
{
{ 0, &AutomationChans, &KSNODETYPE_DAC, NULL },
}
#define KSNODETYPE_SUM
Definition: ksmedia.h:363
#define KSNODETYPE_SRC
Definition: ksmedia.h:282
#define KSNODETYPE_VOLUME
Definition: ksmedia.h:338
#define KSNODETYPE_ADC
Definition: ksmedia.h:262
#define KSNODETYPE_3D_EFFECTS
Definition: ksmedia.h:272
#define KSNODETYPE_DAC
Definition: ksmedia.h:287
#define KSNODETYPE_SUPERMIX
Definition: ksmedia.h:277
#define KSNODETYPE_SPDIF_INTERFACE
Definition: ksmedia.h:292

Definition at line 336 of file minwavetables.hpp.

◆ WaveMiniportPins

PCPIN_DESCRIPTOR WaveMiniportPins[]
static

Definition at line 193 of file minwavetables.hpp.

◆ WavePinDataRangePointersAC3Bridge

PKSDATARANGE WavePinDataRangePointersAC3Bridge[]
static
Initial value:
=
{
}
static KSDATARANGE WavePinDataRangesAC3Bridge[]

Definition at line 188 of file minwavetables.hpp.

◆ WavePinDataRangePointersAC3Stream

PKSDATARANGE WavePinDataRangePointersAC3Stream[]
static
Initial value:

Definition at line 143 of file minwavetables.hpp.

◆ WavePinDataRangePointersPCMBridge

PKSDATARANGE WavePinDataRangePointersPCMBridge[]
static
Initial value:
=
{
}
static KSDATARANGE WavePinDataRangesPCMBridge[]

Definition at line 183 of file minwavetables.hpp.

◆ WavePinDataRangePointersPCMStream

PKSDATARANGE WavePinDataRangePointersPCMStream[]
static
Initial value:
=
{
}

Definition at line 138 of file minwavetables.hpp.

◆ WavePinDataRangesAC3Bridge

KSDATARANGE WavePinDataRangesAC3Bridge[]
static
Initial value:
=
{
{
{
sizeof(KSDATARANGE),
0,
0,
0,
}
}
}
#define STATICGUIDOF(guid)
Definition: dmksctrl.h:25
#define KSDATAFORMAT_SPECIFIER_NONE
Definition: ks.h:1157
union KSDATAFORMAT KSDATARANGE
#define KSDATAFORMAT_SUBTYPE_AC3_AUDIO
Definition: ksmedia.h:1036
#define KSDATAFORMAT_TYPE_AUDIO
Definition: ksmedia.h:983

Definition at line 168 of file minwavetables.hpp.

◆ WavePinDataRangesAC3Stream

KSDATARANGE_AUDIO WavePinDataRangesAC3Stream[]
static

Definition at line 62 of file minwavetables.hpp.

◆ WavePinDataRangesPCMBridge

KSDATARANGE WavePinDataRangesPCMBridge[]
static
Initial value:

Definition at line 153 of file minwavetables.hpp.

◆ WavePinDataRangesPCMStream

KSDATARANGE_AUDIO WavePinDataRangesPCMStream[]
static
Initial value:
=
{
{
{
{
0,
0,
0,
}
},
}
}
#define MIN_SAMPLE_RATE
Definition: interfaces.hpp:44
#define MAX_SAMPLE_RATE
Definition: interfaces.hpp:45
#define MAX_BITS_PER_SAMPLE_PCM
Definition: interfaces.hpp:43
#define MAX_CHANNELS_PCM
Definition: interfaces.hpp:41
#define MIN_BITS_PER_SAMPLE_PCM
Definition: interfaces.hpp:42
#define KSDATAFORMAT_SUBTYPE_PCM
Definition: ksmedia.h:1021
#define KSDATAFORMAT_SPECIFIER_WAVEFORMATEX
Definition: ksmedia.h:1031

Definition at line 40 of file minwavetables.hpp.