I don't think I like the addition of stream_chunk_parse_desc(). - Duplicates dmobj_parsedescriptor() but only partially - Placement in dmobject.[ch] makes it sound like it would be generic but the descriptor parsing is highly object specific. - There is already a specific IPersistStream_ParseDescriptor() implemented that can be used just fine in the IPersistStream_Load() implementation
Why do you actually need the new generic parse_info_list() (outside the use in stream_chunk_parse_desc())? I know the old code was "handling" the cases ``` case mmioFOURCC('I','C','O','P'): case mmioFOURCC('I','E','N','G'): case mmioFOURCC('I','S','B','J'): case mmioFOURCC('I','S','F','T'): ``` too in the same way of WARN and drop those chunks.\ But that WARN() is useless as DirectMusic is not handling those chunks at all; there's no API to get to that info. Those are afair just there for the DirectMusic Producer.\ And RIFF specification just says to ignore / skip the unknown / uninteresting chunks.