waveFormatEx->wBitsPerSample = bytesPerSample * 8;
waveFormatEx->cbSize = 22;
- *((WORD*)&waveFormat->fields[PAWIN_INDEXOF_WVALIDBITSPERSAMPLE]) =
- waveFormatEx->wBitsPerSample;
+ memcpy(&waveFormat->fields[PAWIN_INDEXOF_WVALIDBITSPERSAMPLE],
+ &waveFormatEx->wBitsPerSample, sizeof(WORD));
+
+ memcpy(&waveFormat->fields[PAWIN_INDEXOF_DWCHANNELMASK],
+ &channelMask, sizeof(DWORD));
- *((DWORD*)&waveFormat->fields[PAWIN_INDEXOF_DWCHANNELMASK]) = channelMask;
-
guid = pawin_ksDataFormatSubtypeGuidBase;
guid.Data1 = (USHORT)waveFormatTag;
- *((GUID*)&waveFormat->fields[PAWIN_INDEXOF_SUBFORMAT]) = guid;
+ memcpy(&waveFormat->fields[PAWIN_INDEXOF_SUBFORMAT], &guid, sizeof(GUID));
}
PaWinWaveFormatChannelMask PaWin_DefaultChannelMask( int numChannels )