Rémi Bernon (@rbernon) commented about dlls/dmime/audiopath.c:
- chunk.parent = &riff;
- while ((hr = stream_next_chunk(stream, &chunk)) == S_OK) {
switch (chunk.id) {
case FOURCC_LIST:
if (chunk.type == DMUS_FOURCC_PORTCONFIGS_LIST) {
hr = parse_port_configs_list(This, stream, &chunk);
if (FAILED(hr))
return hr;
}
else if (chunk.type == DMUS_FOURCC_DSBUFFER_LIST)
FIXME("buffer attributes are not supported\n");
else if (chunk.type == MAKEFOURCC('p','a','p','d'))
FIXME("Undocumented %s\n", debugstr_chunk(&chunk));
else if (chunk.type != DMUS_FOURCC_UNFO_LIST)
WARN("Unknown %s\n", debugstr_chunk(&chunk));
break;
Using `switch (MAKE_IDTYPE(chunk.id, chunk.type))` like you did above, let you put every case on the same switch level and IMO makes the code nicer to read.