diff -r 56cd8111b7f7 -r 41300fa6a67c src/3rdparty/phonon/ds9/iodevicereader.cpp --- a/src/3rdparty/phonon/ds9/iodevicereader.cpp Tue Jan 26 12:42:25 2010 +0200 +++ b/src/3rdparty/phonon/ds9/iodevicereader.cpp Tue Feb 02 00:43:10 2010 +0200 @@ -36,17 +36,20 @@ //these mediatypes define a stream, its type will be autodetected by DirectShow static QVector getMediaTypes() { - AM_MEDIA_TYPE mt = { MEDIATYPE_Stream, MEDIASUBTYPE_NULL, TRUE, FALSE, 1, GUID_NULL, 0, 0, 0}; + //the order here is important because otherwise, + //directshow might not be able to detect the stream type correctly + + AM_MEDIA_TYPE mt = { MEDIATYPE_Stream, MEDIASUBTYPE_Avi, TRUE, FALSE, 1, GUID_NULL, 0, 0, 0}; QVector ret; - //normal auto-detect stream - ret << mt; //AVI stream - mt.subtype = MEDIASUBTYPE_Avi; ret << mt; //WAVE stream mt.subtype = MEDIASUBTYPE_WAVE; ret << mt; + //normal auto-detect stream (must be at the end!) + mt.subtype = MEDIASUBTYPE_NULL; + ret << mt; return ret; }