Hi all,
Tracking issue with one small program using Media Foundation was
failing at runtime only if compiled with Mingw, I found out that
definitions for some GUID in mfidl.h are incorrect (or mixed, with one
ID getting the value of another).
Namely, at mfidl.h:3407, GUID:
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID
is defined as:
0xc60ac5fe, 0x252a, 0x478f, 0xa0, 0xef, 0xbc, 0x8f, 0xa5, 0xf7, 0xca, 0xd3
but this is actually the UUID for MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE
(while definition for MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE itself is
missing).
Correct values should be:
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, 0xc60ac5fe, 0x252a,
0x478f, 0xa0, 0xef, 0xbc, 0x8f, 0xa5, 0xf7, 0xca, 0xd3);
EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID,
0x8ac3587a, 0x4ae7, 0x42d8, 0x99, 0xe0, 0x0a, 0x60, 0x13, 0xee, 0xf9,
0x0f);
Attached is patch for mfidl.idl (need to regenerate mfidl.h, not
included in patch).