different comments : - don't use C++ comments, not all C compilers understand them - it's better to split patches in small coherent pieces (in your last patch, msvideo issue has nothing to do with msacm) (disclaimer: since I won't be back to my PC until end of week, these answers are quick overviews of the patch, so don't take everything for granted) into the details : - msvideo: fix sounds correct - msacm: the path in format.c sounds correct. the hack around the PCM format was needed to get exactly what native msacm was giving as an expected results. basically, the driver was doing less than what it's supposed to do. it should be tested on native windows if the same is actually needed - msacm: regarding the Query flag, I don't think we need all your changes. If really windows accepts here a non NULL pointer, then a changing if ((fdwOpen & ACM_STREAMOPENF_QUERY) && phas) return MMSYSERR_INVALPARAM; info if ((fdwOpen & ACM_STREAMOPENF_QUERY) && phas) phas = NULL; would do. A+