From f560c71c294ade9c390e37af8d91d1b6203cfe88 Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Mon, 5 Apr 2004 20:19:09 +0000 Subject: [PATCH] Fallback to a compression scheme specified in the stream format in the case FOURCC handler does not exist or format is not supported. --- dlls/winmm/mciavi/mmoutput.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/dlls/winmm/mciavi/mmoutput.c b/dlls/winmm/mciavi/mmoutput.c index 75f25b30a6b..8c9fae280d3 100644 --- a/dlls/winmm/mciavi/mmoutput.c +++ b/dlls/winmm/mciavi/mmoutput.c @@ -426,23 +426,20 @@ BOOL MCIAVI_OpenVideo(WINE_MCIAVI* wma) wma->dwCachedFrame = -1; - /* check for builtin DIB compressions */ - if ((fcc == mmioFOURCC('D','I','B',' ')) || - (fcc == mmioFOURCC('R','L','E',' ')) || - (fcc == BI_RGB) || (fcc == BI_RLE8) || - (fcc == BI_RLE4) || (fcc == BI_BITFIELDS)) - { - wma->hic = 0; - goto paint_frame; - } - /* get the right handle */ - if (fcc == 0) fcc = wma->inbih->biCompression; if (fcc == mmioFOURCC('C','R','A','M')) fcc = mmioFOURCC('M','S','V','C'); /* try to get a decompressor for that type */ wma->hic = ICLocate(ICTYPE_VIDEO, fcc, wma->inbih, NULL, ICMODE_DECOMPRESS); if (!wma->hic) { + /* check for builtin DIB compressions */ + fcc = wma->inbih->biCompression; + if ((fcc == mmioFOURCC('D','I','B',' ')) || + (fcc == mmioFOURCC('R','L','E',' ')) || + (fcc == BI_RGB) || (fcc == BI_RLE8) || + (fcc == BI_RLE4) || (fcc == BI_BITFIELDS)) + goto paint_frame; + WARN("Can't locate codec for the file\n"); return FALSE; } -- 2.11.4.GIT