#include "minwavetables.hpp"
#include "ntddk.h"
-#pragma code_seg("PAGE")
+#ifdef _MSC_VER
+#pragma code_seg("PAGE") /* warning - ignored by GCC compiler */
+#endif
HRESULT NTAPI CreateMiniportWaveCMI(PUNKNOWN *Unknown, REFCLSID, PUNKNOWN UnknownOuter, POOL_TYPE PoolType)
{
PREGISTRYKEY DriverKey;
PREGISTRYKEY SettingsKey;
UNICODE_STRING KeyName;
- DWORD Value, ResultLength;
+ //DWORD Value, ResultLength;
+ DWORD ResultLength;
PVOID KeyInfo;
DBGPRINT(("CMiniportWaveCMI::loadChannelConfigFromRegistry()"));
DBGPRINT(("---channels: %d, resolution: %d, sample rate: %d, pin: %d, formatMask: %x", waveFormat->nChannels, waveFormat->wBitsPerSample, waveFormat->nSamplesPerSec, PinID, cm->formatMask));
//WaveFormatEx
- if ( ( format->FormatSize >= sizeof(KSDATAFORMAT_WAVEFORMATEX))
+ if ( ( (size_t) format->FormatSize >= sizeof(KSDATAFORMAT_WAVEFORMATEX))
&& IsEqualGUIDAligned(format->MajorFormat,KSDATAFORMAT_TYPE_AUDIO)
&& IsEqualGUIDAligned(format->Specifier,KSDATAFORMAT_SPECIFIER_WAVEFORMATEX) ) {
switch (EXTRACT_WAVEFORMATEX_ID(&format->SubFormat)) {
case WAVE_FORMAT_PCM:
- if ((PinID != PIN_WAVE_RENDER_SINK) && (PinID != PIN_WAVE_CAPTURE_SOURCE) && (PinID != -1)) {
+ if ((PinID != PIN_WAVE_RENDER_SINK) && (PinID != PIN_WAVE_CAPTURE_SOURCE) && ((int)PinID != -1)) {
if ((PinID == PIN_WAVE_AC3_RENDER_SINK) && !IoIsWdmVersionAvailable(6,0)) {
return STATUS_INVALID_PARAMETER;
}
return isFormatAllowed(waveFormat->nSamplesPerSec, FALSE, FALSE);
}
if ( (waveFormat->wBitsPerSample == 16)
- && ((waveFormat->nChannels >= 4) && (waveFormat->nChannels <= cm->maxChannels))
+ && ((waveFormat->nChannels >= 4) && (waveFormat->nChannels <= (WORD) cm->maxChannels))
&& ((waveFormat->nSamplesPerSec == 44100) || (waveFormat->nSamplesPerSec == 48000)) ) {
#if OUT_CHANNEL == 1
- if ((PinID == PIN_WAVE_RENDER_SINK) || (PinID == -1)) {
+ if ((PinID == PIN_WAVE_RENDER_SINK) || ((int)PinID == -1)) {
return isFormatAllowed(waveFormat->nSamplesPerSec, TRUE, FALSE);
}
#else
}
break;
case WAVE_FORMAT_DOLBY_AC3_SPDIF:
- if ((PinID != PIN_WAVE_AC3_RENDER_SINK) && (PinID != -1)) {
+ if ((PinID != PIN_WAVE_AC3_RENDER_SINK) && ((int)PinID != -1)) {
return STATUS_INVALID_PARAMETER;
}
if ( ((waveFormat->wBitsPerSample >= MIN_BITS_PER_SAMPLE_AC3) && (waveFormat->wBitsPerSample <= MAX_BITS_PER_SAMPLE_AC3))
DBGPRINT(("---streamIndex: %d, channelNumber: %d", streamIndex, channelNumber));
NTSTATUS ntStatus;
- UInt8 reg;
+ //UInt8 reg;
UInt32 val;
if (state == KSSTATE_RUN) {
NTSTATUS ntStatus = STATUS_SUCCESS;
if (currentChannelCount > 2) {
- if (Miniport->cm->maxChannels < currentChannelCount) {
+ if ((WORD) Miniport->cm->maxChannels < currentChannelCount ) {
return STATUS_INVALID_DEVICE_REQUEST;
}
if ((currentResolution != 16) || (currentChannelCount < 2)) {
//PAGED_CODE();
DBGPRINT(("CMiniportWaveStreamCMI[%p]::setupSPDIFPlayback(%d)", this, enableSPDIF));
- NTSTATUS ntStatus;
+ //NTSTATUS ntStatus;
KeWaitForSingleObject(&Miniport->mutex, Executive, KernelMode, false, NULL);
/*
** non-paged code below
*/
-#pragma code_seg()
+#ifdef _MSC_VER
+#pragma code_seg() /* warning - ignored by GCC compiler */
+#endif
STDMETHODIMP CMiniportWaveStreamCMI::SetState(KSSTATE NewState)
{
// STOP -> ACQUIRE -> PAUSE -> PLAY -> PAUSE -> ACQUIRE -> STOP
if (state != NewState) {
- switch (NewState) {
+ switch ((UINT) NewState) {
+ // LN: The cast on NewState is to satisfy the compiler about
+ // KSSTATE_STOP_AC3, which is not in the original enum KSSTATE.
case KSSTATE_ACQUIRE:
DBGPRINT(("---KSSTATE_ACQUIRE: previous state: %d", state));
if (state == KSSTATE_PAUSE) {