if (result != paNoError)
{
+ unsigned long pos = 0xdeadc0de;
PA_DEBUG(("Failed to register capture position register, using PinGetAudioPositionViaIOCTL\n"));
stream->capture.pPin->fnAudioPosition = PinGetAudioPositionViaIOCTL;
+ /* Test position function */
+ result = (stream->capture.pPin->fnAudioPosition)(stream->capture.pPin, &pos);
+ if (result != paNoError || pos != 0x0)
+ {
+ PA_DEBUG(("Failed to read capture position register (IOCTL)\n"));
+ PaWinWDM_SetLastErrorInfo(paUnanticipatedHostError, "Failed to read capture position register (IOCTL)");
+ result = paUnanticipatedHostError;
+ goto error;
+ }
}
else
{
if (result != paNoError)
{
+ unsigned long pos = 0xdeadc0de;
PA_DEBUG(("Failed to register rendering position register, using PinGetAudioPositionViaIOCTL\n"));
stream->render.pPin->fnAudioPosition = PinGetAudioPositionViaIOCTL;
+ /* Test position function */
+ result = (stream->render.pPin->fnAudioPosition)(stream->render.pPin, &pos);
+ if (result != paNoError || pos != 0x0)
+ {
+ PA_DEBUG(("Failed to read render position register (IOCTL)\n"));
+ PaWinWDM_SetLastErrorInfo(paUnanticipatedHostError, "Failed to read render position register (IOCTL)");
+ result = paUnanticipatedHostError;
+ goto error;
+ }
}
else
{
*((GUID*)&waveFormat->fields[PAWIN_INDEXOF_SUBFORMAT]) = guid;\r
}\r
\r
-\r
PaWinWaveFormatChannelMask PaWin_DefaultChannelMask( int numChannels )\r
{\r
switch( numChannels ){\r
return PAWIN_SPEAKER_5POINT1; \r
/* case 7: */\r
case 8:\r
- return PAWIN_SPEAKER_7POINT1;\r
+ /* RoBi: PAWIN_SPEAKER_7POINT1_SURROUND fits normal surround sound setups better than PAWIN_SPEAKER_7POINT1, f.i. NVidia HDMI Audio\r
+ output is silent on channels 5&6 with NVidia drivers, and channel 7&8 with Micrsoft HD Audio driver using PAWIN_SPEAKER_7POINT1. \r
+ With PAWIN_SPEAKER_7POINT1_SURROUND both setups work OK. */\r
+ return PAWIN_SPEAKER_7POINT1_SURROUND;\r
}\r
\r
/* Apparently some Audigy drivers will output silence \r
if the direct-out constant (0) is used. So this is not ideal. \r
+\r
+ RoBi 2012-12-19: Also, NVidia driver seem to output garbage instead. Again not very ideal.\r
*/\r
return PAWIN_SPEAKER_DIRECTOUT;\r
\r