ReactOS 0.4.15-dev-7924-g5949c20
CMiniportWaveStreamCMI Class Reference

#include <minwave.hpp>

Inheritance diagram for CMiniportWaveStreamCMI:
Collaboration diagram for CMiniportWaveStreamCMI:

Public Member Functions

 DECLARE_STD_UNKNOWN ()
 
 DEFINE_STD_CONSTRUCTOR (CMiniportWaveStreamCMI)
 
 ~CMiniportWaveStreamCMI ()
 
NTSTATUS Init (CMiniportWaveCMI *Miniport_, UInt32 streamIndex_, bool isCaptureStream_, PKSDATAFORMAT DataFormat, PDMACHANNEL DMAChannel_, PSERVICEGROUP *OutServiceGroup)
 

Public Attributes

 IMP_IMiniportWaveCyclicStream
 
 IMP_IDrmAudioStream
 
- Public Attributes inherited from CUnknown
union {
   IUnknown   IUnknown
 
   INonDelegatingUnknown   INonDelegatingUnknown
 
}; 
 
LONG m_ref_count
 
PUNKNOWN m_outer_unknown
 

Private Member Functions

NTSTATUS prepareStream ()
 
NTSTATUS setDACChannels ()
 
NTSTATUS setupSPDIFPlayback (bool enableSPDIF)
 
NTSTATUS setupAC3Passthru ()
 

Private Attributes

CMiniportWaveCMIMiniport
 
PDMACHANNEL DMAChannel
 
PSERVICEGROUP ServiceGroup
 
bool isCaptureStream
 
UInt32 streamIndex
 
UInt32 channelNumber
 
KSSTATE state
 
UInt32 periodSize
 
UInt32 dmaSize
 
UInt32 currentChannelCount
 
UInt32 currentSampleRate
 
UInt32 currentResolution
 
bool enableAC3Passthru
 
bool enableSPDIF
 

Friends

class CMiniportWaveCMI
 

Detailed Description

Definition at line 93 of file minwave.hpp.

Constructor & Destructor Documentation

◆ ~CMiniportWaveStreamCMI()

CMiniportWaveStreamCMI::~CMiniportWaveStreamCMI ( void  )

Definition at line 1200 of file minwave.cpp.

1201{
1202 PAGED_CODE();
1203
1204 DBGPRINT(("CMiniportWaveStreamCMI[%p]::~CMiniportWaveStreamCMI [streamIndex: %d]", this, streamIndex));
1205
1206 if (state != KSSTATE_STOP) {
1207 SetState(KSSTATE_STOP);
1208 }
1209
1210#ifdef WAVERT
1211 if (Port) {
1212 Port->Release();
1213 Port = NULL;
1214 }
1215#else
1216 if (DMAChannel) {
1217 DMAChannel->Release();
1218 DMAChannel = NULL;
1219 }
1220
1221 if (ServiceGroup) {
1222 ServiceGroup->Release();
1224 }
1225#endif
1226
1228
1236 }
1237
1238 if (Miniport) {
1239 Miniport->Release();
1240 Miniport = NULL;
1241 }
1242}
#define PAGED_CODE()
#define DBGPRINT(...)
Definition: pdo.c:21
CMiniportWaveStreamCMI * stream[3]
Definition: minwave.hpp:61
bool isStreamRunning[3]
Definition: minwave.hpp:62
NTSTATUS prepareStream()
Definition: minwave.cpp:924
CMiniportWaveCMI * Miniport
Definition: minwave.hpp:103
PSERVICEGROUP ServiceGroup
Definition: minwave.hpp:111
PDMACHANNEL DMAChannel
Definition: minwave.hpp:110
#define NULL
Definition: types.h:112
#define AC3_OUT_STREAM
Definition: interfaces.hpp:64
#define PCM_OUT_STREAM
Definition: interfaces.hpp:62
#define KSSTATE_RUN_AC3
Definition: interfaces.hpp:79
CPPORT Port[4]
Definition: headless.c:35
KSSTATE
Definition: ks.h:1214
@ KSSTATE_ACQUIRE
Definition: ks.h:1216
@ KSSTATE_STOP
Definition: ks.h:1215
static calc_node_t temp
Definition: rpn_ieee.c:38

Member Function Documentation

◆ DECLARE_STD_UNKNOWN()

CMiniportWaveStreamCMI::DECLARE_STD_UNKNOWN ( )

◆ DEFINE_STD_CONSTRUCTOR()

CMiniportWaveStreamCMI::DEFINE_STD_CONSTRUCTOR ( CMiniportWaveStreamCMI  )

◆ Init()

NTSTATUS CMiniportWaveStreamCMI::Init ( CMiniportWaveCMI Miniport_,
UInt32  streamIndex_,
bool  isCaptureStream_,
PKSDATAFORMAT  DataFormat,
PDMACHANNEL  DMAChannel_,
PSERVICEGROUP OutServiceGroup 
)

Definition at line 1276 of file minwave.cpp.

1278{
1279 PAGED_CODE();
1280 ASSERT(Miniport_);
1282
1283 NTSTATUS ntStatus;
1284
1285#ifdef WAVERT
1286 ASSERT(Port_);
1287 DBGPRINT(("CMiniportWaveStreamCMI[%p]::Init(%p, %d, %d, %p, %p)", this, Miniport_, streamIndex_, isCaptureStream_, DataFormat, Port_));
1288 Port = Port_;
1289 Port->AddRef();
1290#else
1291 DBGPRINT(("CMiniportWaveStreamCMI[%p]::Init(%p, %d, %d, %p, %p, %p)", this, Miniport_, streamIndex_, isCaptureStream_, DataFormat, DMAChannel_, OutServiceGroup));
1292 DMAChannel = DMAChannel_;
1293 DMAChannel->AddRef();
1294#endif
1295
1296 Miniport = Miniport_;
1297 Miniport->AddRef();
1298
1299 streamIndex = streamIndex_;
1300 isCaptureStream = isCaptureStream_;
1302
1305 } else {
1307 }
1308
1309#ifndef WAVERT
1310 ntStatus = PcNewServiceGroup(&ServiceGroup,NULL);
1311 if (!NT_SUCCESS(ntStatus)) {
1312 DBGPRINT(("PcNewServiceGroup() or NewMasterDmaChannel() failed"));
1313 return ntStatus;
1314 }
1315 *OutServiceGroup = ServiceGroup;
1316 ServiceGroup->AddRef();
1317#endif
1318
1319 ntStatus = SetFormat(DataFormat);
1320 if (!NT_SUCCESS(ntStatus)) {
1321 DBGPRINT(("SetFormat() failed"));
1322 return ntStatus;
1323 }
1324
1326
1327 return ntStatus;
1328}
LONG NTSTATUS
Definition: precomp.h:26
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define IN_CHANNEL
Definition: interfaces.hpp:70
#define OUT_CHANNEL
Definition: interfaces.hpp:71
#define ASSERT(a)
Definition: mode.c:44
NTSTATUS NTAPI PcNewServiceGroup(OUT PSERVICEGROUP *OutServiceGroup, IN PUNKNOWN OuterUnknown OPTIONAL)

◆ prepareStream()

NTSTATUS CMiniportWaveStreamCMI::prepareStream ( )
private

Definition at line 924 of file minwave.cpp.

925{
926 PAGED_CODE();
927 DBGPRINT(("CMiniportWaveStreamCMI[%p]::prepareStream()", this));
928 DBGPRINT(("---streamIndex: %d, channelNumber: %d", streamIndex, channelNumber));
929
930 NTSTATUS ntStatus;
931 UInt32 val;
932
933 if (state == KSSTATE_RUN) {
935 }
936
937 if (!(Miniport->cm)) {
938 DBGPRINT(("Miniport not set"));
940 }
941
942 enableSPDIF = ((currentSampleRate == 44100 || currentSampleRate == 48000 || currentSampleRate == 88200 || currentSampleRate == 96000) &&
943 ((currentResolution == 16) || (currentResolution == 32)) && (currentChannelCount == 2)) &&
945
946 if (!isCaptureStream) {
948 if (!NT_SUCCESS(ntStatus)) {
949 return ntStatus;
950 }
951 ntStatus = setDACChannels();
952 if (!NT_SUCCESS(ntStatus)) {
953 return ntStatus;
954 }
955 }
956
958
960 if (isCaptureStream) {
961 Miniport->cm->regFUNCTRL0 |= val; // 1->Recording
962 } else {
963 Miniport->cm->regFUNCTRL0 &= ~val; // 0->Playback
964 }
966
967 //set sampling frequency
968 val = Miniport->CMIAdapter->readUInt32(REG_FUNCTRL1);
969 if ((currentSampleRate == 88200) || (currentSampleRate == 44100)) {
970 if (channelNumber) {
971 val &= ~SFC_CH1_MASK;
972 val |= SFC_44K_CH1;
973 } else {
974 val &= ~SFC_CH0_MASK;
975 val |= SFC_44K_CH0;
976 }
977 } else if ((currentSampleRate == 96000) || (currentSampleRate == 48000)) {
978 if (channelNumber) {
979 val &= ~SFC_CH1_MASK;
980 val |= SFC_48K_CH1;
981 } else {
982 val &= ~SFC_CH0_MASK;
983 val |= SFC_48K_CH0;
984 }
985 } else {
988 }
989 Miniport->CMIAdapter->writeUInt32(REG_FUNCTRL1, val);
990
991 //set resolution
992 val = Miniport->CMIAdapter->readUInt32(REG_CHFORMAT);
993 if (channelNumber) {
994 val |= FORMAT_CH1;
995 } else {
996 val |= FORMAT_CH0;
997 }
998 Miniport->CMIAdapter->writeUInt32(REG_CHFORMAT, val);
999
1000 KeReleaseMutex(&Miniport->mutex, false);
1001
1002 return STATUS_SUCCESS;
1003}
DWORD UInt32
Definition: chm_lib.c:104
PCMIADAPTER CMIAdapter
Definition: minwave.hpp:48
CMI8738Info * cm
Definition: minwave.hpp:56
NTSTATUS setDACChannels()
Definition: minwave.cpp:1005
NTSTATUS setupSPDIFPlayback(bool enableSPDIF)
Definition: minwave.cpp:1069
#define SFC_44K_CH1
Definition: cmireg.hpp:57
#define ADC_CH0
Definition: cmireg.hpp:34
#define REG_FUNCTRL0
Definition: cmireg.hpp:33
#define SFC_48K_CH1
Definition: cmireg.hpp:58
#define FORMAT_CH0
Definition: cmireg.hpp:61
#define ADC_CH1
Definition: cmireg.hpp:35
#define FORMAT_CH1
Definition: cmireg.hpp:62
#define SFC_44K_CH0
Definition: cmireg.hpp:54
#define REG_CHFORMAT
Definition: cmireg.hpp:60
#define SFC_48K_CH0
Definition: cmireg.hpp:55
#define REG_FUNCTRL1
Definition: cmireg.hpp:43
#define FALSE
Definition: types.h:117
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
Definition: env_spec_w32.h:478
GLuint GLfloat * val
Definition: glext.h:7180
@ KSSTATE_RUN
Definition: ks.h:1218
#define KernelMode
Definition: asm.h:34
LONG NTAPI KeReleaseMutex(IN PKMUTEX Mutex, IN BOOLEAN Wait)
Definition: mutex.c:189
#define STATUS_SUCCESS
Definition: shellext.h:65
UInt32 regFUNCTRL0
Definition: interfaces.hpp:149
bool enableSPDIFOut
Definition: interfaces.hpp:145
#define STATUS_INVALID_DEVICE_REQUEST
Definition: udferr_usr.h:138
@ Executive
Definition: ketypes.h:415

Referenced by ~CMiniportWaveStreamCMI().

◆ setDACChannels()

NTSTATUS CMiniportWaveStreamCMI::setDACChannels ( )
private

Definition at line 1005 of file minwave.cpp.

1006{
1007 PAGED_CODE();
1008 DBGPRINT(("CMiniportWaveStreamCMI[%p]::setDACChannels()", this));
1009 NTSTATUS ntStatus = STATUS_SUCCESS;
1010
1011 if (currentChannelCount > 2) {
1014 }
1015 if ((currentResolution != 16) || (currentChannelCount < 2)) {
1017 }
1018#if OUT_CHANNEL == 0
1020#endif
1023 Miniport->CMIAdapter->setUInt32Bit(REG_MISCCTRL, XCHG_DAC);
1024
1025 switch (currentChannelCount) {
1026 case 4:
1027 Miniport->CMIAdapter->setUInt32Bit(REG_CHFORMAT, EN_4CH_CH1);
1028 Miniport->CMIAdapter->clearUInt32Bit(REG_CHFORMAT, EN_5CH_CH1);
1029 Miniport->CMIAdapter->clearUInt32Bit(REG_LEGACY, EN_6CH_CH1);
1030 Miniport->CMIAdapter->clearUInt32Bit(REG_MISCCTRL, EN_CENTER);
1031 break;
1032 case 6:
1033 Miniport->CMIAdapter->clearUInt32Bit(REG_CHFORMAT, EN_4CH_CH1);
1034 Miniport->CMIAdapter->setUInt32Bit(REG_CHFORMAT, EN_5CH_CH1);
1035 Miniport->CMIAdapter->setUInt32Bit(REG_LEGACY, EN_6CH_CH1);
1036 Miniport->CMIAdapter->setUInt32Bit(REG_MISCCTRL, EN_CENTER);
1037 break;
1038 case 8:
1039 if (Miniport->cm->chipVersion == 68) {
1040 Miniport->CMIAdapter->clearUInt32Bit(REG_CHFORMAT, EN_4CH_CH1);
1041 Miniport->CMIAdapter->setUInt32Bit(REG_CHFORMAT, EN_5CH_CH1);
1042 Miniport->CMIAdapter->setUInt32Bit(REG_LEGACY, EN_6CH_CH1);
1043 Miniport->CMIAdapter->setUInt32Bit(REG_MISCCTRL, EN_CENTER);
1045 break;
1046 } else {
1048 }
1049 default:
1051 }
1053 } else {
1054 if (Miniport->cm->canMultiChannel) {
1058 Miniport->CMIAdapter->clearUInt32Bit(REG_MISCCTRL, EN_CENTER);
1059 Miniport->CMIAdapter->clearUInt32Bit(REG_MISCCTRL, XCHG_DAC);
1060 if (Miniport->cm->chipVersion == 68) {
1061 Miniport->CMIAdapter->clearUInt32Bit(REG_MISCCTRL2, EN_8CH_CH1);
1062 }
1064 }
1065 }
1066 return ntStatus;
1067}
#define EN_CENTER
Definition: cmireg.hpp:112
#define DWORD_MAPPING
Definition: cmireg.hpp:109
#define EN_6CH_CH1
Definition: cmireg.hpp:101
#define REG_LEGACY
Definition: cmireg.hpp:98
#define EN_4CH_CH1
Definition: cmireg.hpp:76
#define REG_MISCCTRL
Definition: cmireg.hpp:111
#define REG_MISCCTRL2
Definition: cmireg.hpp:157
#define XCHG_DAC
Definition: cmireg.hpp:118
#define EN_8CH_CH1
Definition: cmireg.hpp:158
#define EN_5CH_CH1
Definition: cmireg.hpp:77
UInt32 maxChannels
Definition: interfaces.hpp:136
bool canMultiChannel
Definition: interfaces.hpp:138

Referenced by prepareStream().

◆ setupAC3Passthru()

NTSTATUS CMiniportWaveStreamCMI::setupAC3Passthru ( )
private

Definition at line 1136 of file minwave.cpp.

1137{
1138 PAGED_CODE();
1139 DBGPRINT(("CMiniportWaveStreamCMI[%p]::setupAC3Passthru() [enableAC3Passthru: %d]", this, enableAC3Passthru));
1140
1141 if (enableAC3Passthru) {
1143
1146
1147 if (Miniport->cm->canAC3HW) {
1149 Miniport->CMIAdapter->clearUInt32Bit(REG_MISCCTRL, SPD32SEL);
1150 if (Miniport->cm->chipVersion >= 39) {
1151 Miniport->CMIAdapter->clearUInt8Bit(REG_MIXER1, EN_SPDI2DAC);
1152 }
1153 } else {
1154 Miniport->CMIAdapter->setUInt32Bit(REG_MISCCTRL, SPD32SEL);
1155 if (Miniport->cm->chipVersion == 33) {
1156 if (currentSampleRate >= 48000) {
1157#if OUT_CHANNEL == 0
1158 Miniport->CMIAdapter->setUInt32Bit(REG_CHFORMAT, SPD96_CH0);
1159#else
1160 Miniport->CMIAdapter->setUInt32Bit(REG_CHFORMAT, SPD96_CH1);
1161#endif
1162 } else {
1163#if OUT_CHANNEL == 0
1164 Miniport->CMIAdapter->clearUInt32Bit(REG_CHFORMAT, SPD96_CH0);
1165#else
1166 Miniport->CMIAdapter->clearUInt32Bit(REG_CHFORMAT, SPD96_CH1);
1167#endif
1168 }
1169 }
1170 }
1171 } else {
1173 Miniport->CMIAdapter->setUInt8Bit(REG_MIXER1, EN_SPDI2DAC);
1174 }
1175
1176 Miniport->CMIAdapter->clearUInt32Bit(REG_CHFORMAT, EN_SPDO_AC3_1);
1177 Miniport->CMIAdapter->clearUInt32Bit(REG_MISCCTRL, EN_SPDO_AC3_2);
1178
1179 if (Miniport->cm->canAC3HW) {
1180 Miniport->CMIAdapter->clearUInt32Bit(REG_CHFORMAT, EN_SPDO_AC3_3);
1181 if (currentResolution > 16) {
1182 Miniport->CMIAdapter->setUInt32Bit(REG_MISCCTRL, SPD32SEL);
1183 Miniport->CMIAdapter->setUInt32Bit(REG_CHFORMAT, SPD24SEL);
1184 } else {
1185 Miniport->CMIAdapter->clearUInt32Bit(REG_MISCCTRL, SPD32SEL);
1186 Miniport->CMIAdapter->clearUInt32Bit(REG_CHFORMAT, SPD24SEL);
1187 }
1188 } else {
1189 Miniport->CMIAdapter->clearUInt32Bit(REG_MISCCTRL, SPD32SEL);
1190#if OUT_CHANNEL == 0
1191 Miniport->CMIAdapter->clearUInt32Bit(REG_CHFORMAT, SPD96_CH0);
1192#else
1193 Miniport->CMIAdapter->clearUInt32Bit(REG_CHFORMAT, SPD96_CH1);
1194#endif
1195 }
1196 }
1197 return STATUS_SUCCESS;
1198}
#define REG_MIXER1
Definition: cmireg.hpp:129
#define SPD24SEL
Definition: cmireg.hpp:74
#define EN_SPDI2DAC
Definition: cmireg.hpp:130
#define MUTE_WAVE
Definition: cmireg.hpp:136
#define SPD32SEL
Definition: cmireg.hpp:117
#define EN_SPDO_AC3_1
Definition: cmireg.hpp:73
#define EN_SPDO_AC3_2
Definition: cmireg.hpp:115
#define SPD96_CH0
Definition: cmireg.hpp:69
#define SPD96_CH1
Definition: cmireg.hpp:70
#define EN_SPDO_AC3_3
Definition: cmireg.hpp:72
bool enableSPDIFInMonitor
Definition: interfaces.hpp:147

Referenced by setupSPDIFPlayback().

◆ setupSPDIFPlayback()

NTSTATUS CMiniportWaveStreamCMI::setupSPDIFPlayback ( bool  enableSPDIF)
private

Definition at line 1069 of file minwave.cpp.

1070{
1071 PAGED_CODE();
1072 DBGPRINT(("CMiniportWaveStreamCMI[%p]::setupSPDIFPlayback(%d)", this, enableSPDIF));
1073
1075
1076 if (enableSPDIF) {
1077 Miniport->CMIAdapter->setUInt32Bit(REG_LEGACY, EN_SPDIF_OUT);
1078 Miniport->CMIAdapter->setUInt32Bit(REG_FUNCTRL1, SPDO2DAC);
1079#if OUT_CHANNEL == 0
1080 Miniport->CMIAdapter->setUInt32Bit(REG_FUNCTRL1, SPDF_0);
1081#else
1082 Miniport->CMIAdapter->setUInt32Bit(REG_FUNCTRL1, SPDF_1);
1083#endif
1085
1086 if ( (currentSampleRate == 48000) || (currentSampleRate == 96000) ) {
1088 } else {
1089 Miniport->CMIAdapter->clearUInt32Bit(REG_MISCCTRL, EN_SPDIF_48);
1090 }
1091
1092 if (currentSampleRate == 96000) {
1093#if OUT_CHANNEL == 0
1094 Miniport->CMIAdapter->setUInt32Bit(REG_CHFORMAT, SPD96_CH0);
1095#else
1096 Miniport->CMIAdapter->setUInt32Bit(REG_CHFORMAT, SPD96_CH1);
1097#endif
1098 Miniport->CMIAdapter->setUInt32Bit(REG_CHFORMAT, DBLSPDS);
1099 } else if (currentSampleRate == 88200) {
1100#if OUT_CHANNEL == 0
1101 Miniport->CMIAdapter->setUInt32Bit(REG_CHFORMAT, SPD88_CH0);
1102#else
1103 Miniport->CMIAdapter->setUInt32Bit(REG_CHFORMAT, SPD88_CH1);
1104#endif
1105 Miniport->CMIAdapter->setUInt32Bit(REG_CHFORMAT, DBLSPDS);
1106 } else {
1107#if OUT_CHANNEL == 0
1108 Miniport->CMIAdapter->clearUInt32Bit(REG_CHFORMAT, SPD88_CH0 | SPD96_CH0);
1109#else
1110 Miniport->CMIAdapter->clearUInt32Bit(REG_CHFORMAT, SPD88_CH1 | SPD96_CH1);
1111#endif
1112 Miniport->CMIAdapter->clearUInt32Bit(REG_CHFORMAT, DBLSPDS);
1113 }
1114
1115 } else {
1116 Miniport->CMIAdapter->clearUInt32Bit(REG_LEGACY, EN_SPDIF_OUT);
1117 Miniport->CMIAdapter->clearUInt32Bit(REG_FUNCTRL1, SPDO2DAC);
1118#if OUT_CHANNEL == 0
1119 Miniport->CMIAdapter->clearUInt32Bit(REG_FUNCTRL1, SPDF_0);
1120#else
1121 Miniport->CMIAdapter->clearUInt32Bit(REG_FUNCTRL1, SPDF_1);
1122#endif
1123#if OUT_CHANNEL == 0
1124 Miniport->CMIAdapter->clearUInt32Bit(REG_CHFORMAT, SPD88_CH0 | SPD96_CH0);
1125#else
1126 Miniport->CMIAdapter->clearUInt32Bit(REG_CHFORMAT, SPD88_CH1 | SPD96_CH1);
1127#endif
1128 Miniport->CMIAdapter->clearUInt32Bit(REG_CHFORMAT, DBLSPDS);
1130 }
1131
1132 KeReleaseMutex(&Miniport->mutex, false);
1133 return STATUS_SUCCESS;
1134}
NTSTATUS setupAC3Passthru()
Definition: minwave.cpp:1136
#define SPDF_1
Definition: cmireg.hpp:52
#define DBLSPDS
Definition: cmireg.hpp:65
#define SPD88_CH0
Definition: cmireg.hpp:67
#define SPD88_CH1
Definition: cmireg.hpp:68
#define SPDO2DAC
Definition: cmireg.hpp:49
#define EN_SPDIF_48
Definition: cmireg.hpp:124
#define SPDF_0
Definition: cmireg.hpp:51
#define EN_SPDIF_OUT
Definition: cmireg.hpp:104

Referenced by prepareStream().

Friends And Related Function Documentation

◆ CMiniportWaveCMI

friend class CMiniportWaveCMI
friend

Definition at line 145 of file minwave.hpp.

Member Data Documentation

◆ channelNumber

UInt32 CMiniportWaveStreamCMI::channelNumber
private

Definition at line 116 of file minwave.hpp.

Referenced by prepareStream(), and STDMETHODIMP_().

◆ currentChannelCount

UInt32 CMiniportWaveStreamCMI::currentChannelCount
private

Definition at line 120 of file minwave.hpp.

Referenced by prepareStream(), setDACChannels(), and STDMETHODIMP_().

◆ currentResolution

UInt32 CMiniportWaveStreamCMI::currentResolution
private

Definition at line 120 of file minwave.hpp.

Referenced by prepareStream(), setDACChannels(), setupAC3Passthru(), and STDMETHODIMP_().

◆ currentSampleRate

UInt32 CMiniportWaveStreamCMI::currentSampleRate
private

Definition at line 120 of file minwave.hpp.

Referenced by prepareStream(), setupAC3Passthru(), setupSPDIFPlayback(), and STDMETHODIMP_().

◆ DMAChannel

PDMACHANNEL CMiniportWaveStreamCMI::DMAChannel
private

Definition at line 110 of file minwave.hpp.

Referenced by ~CMiniportWaveStreamCMI().

◆ dmaSize

UInt32 CMiniportWaveStreamCMI::dmaSize
private

Definition at line 119 of file minwave.hpp.

◆ enableAC3Passthru

bool CMiniportWaveStreamCMI::enableAC3Passthru
private

Definition at line 121 of file minwave.hpp.

Referenced by setupAC3Passthru().

◆ enableSPDIF

bool CMiniportWaveStreamCMI::enableSPDIF
private

Definition at line 121 of file minwave.hpp.

Referenced by prepareStream(), and setupSPDIFPlayback().

◆ IMP_IDrmAudioStream

CMiniportWaveStreamCMI::IMP_IDrmAudioStream

Definition at line 138 of file minwave.hpp.

◆ IMP_IMiniportWaveCyclicStream

CMiniportWaveStreamCMI::IMP_IMiniportWaveCyclicStream

Definition at line 135 of file minwave.hpp.

◆ isCaptureStream

bool CMiniportWaveStreamCMI::isCaptureStream
private

Definition at line 114 of file minwave.hpp.

Referenced by prepareStream().

◆ Miniport

CMiniportWaveCMI* CMiniportWaveStreamCMI::Miniport
private

◆ periodSize

UInt32 CMiniportWaveStreamCMI::periodSize
private

Definition at line 118 of file minwave.hpp.

Referenced by STDMETHODIMP_().

◆ ServiceGroup

PSERVICEGROUP CMiniportWaveStreamCMI::ServiceGroup
private

Definition at line 111 of file minwave.hpp.

Referenced by ~CMiniportWaveStreamCMI().

◆ state

KSSTATE CMiniportWaveStreamCMI::state
private

Definition at line 117 of file minwave.hpp.

Referenced by prepareStream(), STDMETHODIMP_(), and ~CMiniportWaveStreamCMI().

◆ streamIndex

UInt32 CMiniportWaveStreamCMI::streamIndex
private

Definition at line 115 of file minwave.hpp.

Referenced by prepareStream(), and ~CMiniportWaveStreamCMI().


The documentation for this class was generated from the following files: