Huw Davies (@huw) commented about dlls/winepulse.drv/mmdevdrv.c:
if (fmt->nChannels == 0)
return AUDCLNT_E_UNSUPPORTED_FORMAT;
closest = clone_format(fmt);
if (!closest)
return E_OUTOFMEMORY;
dump_fmt(fmt);
switch (fmt->wFormatTag) {
case WAVE_FORMAT_EXTENSIBLE: {
WAVEFORMATEXTENSIBLE *ext = (WAVEFORMATEXTENSIBLE*)closest;
- switch (mode) {
case AUDCLNT_SHAREMODE_SHARED:
if (!out)
return E_POINTER;
Since the other drivers have fairly consistent implementations on the PE-side and unixlib prologues, it would make more sense to copy those. If you want to change them after merging you could do that later.