WMF: fix RGB24 format matching.
authorYoann Lopes <yoann.lopes@theqtcompany.com>
Thu, 12 Mar 2015 13:52:52 +0000 (14:52 +0100)
committerYoann Lopes <yoann.lopes@theqtcompany.com>
Wed, 18 Mar 2015 10:54:19 +0000 (10:54 +0000)
MFVideoFormat_RGB24 has a BGR layout and should therefore be matched to
QVideoFrame::Format_BGR24, not Format_RGB24.

Task-number: QTBUG-42323
Change-Id: I1749b575b1738168e3d3c0d055dee10f6d870c0c
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
src/plugins/wmf/player/mfvideorenderercontrol.cpp

index b06bfbe..b22db19 100644 (file)
@@ -813,7 +813,7 @@ namespace
                     case QVideoFrame::Format_RGB32:
                         mediaType->SetGUID(MF_MT_SUBTYPE, MFVideoFormat_RGB32);
                         break;
-                    case QVideoFrame::Format_RGB24:
+                    case QVideoFrame::Format_BGR24: // MFVideoFormat_RGB24 has a BGR layout
                         mediaType->SetGUID(MF_MT_SUBTYPE, MFVideoFormat_RGB24);
                         break;
                     case QVideoFrame::Format_RGB565:
@@ -1082,6 +1082,7 @@ namespace
                 return format.frameWidth() * 4;
             // 24 bpp packed formats.
             case QVideoFrame::Format_RGB24:
+            case QVideoFrame::Format_BGR24:
                 return PAD_TO_DWORD(format.frameWidth() * 3);
             // 16 bpp packed formats.
             case QVideoFrame::Format_RGB565: