[Bug 15915] New: cinepak codec reportedly not installed, FourCC case mismatch

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Nov 5 10:48:49 CST 2008


http://bugs.winehq.org/show_bug.cgi?id=15915

           Summary: cinepak codec reportedly not installed, FourCC case
                    mismatch
           Product: Wine
           Version: 1.1.7
          Platform: PC
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: msvfw32
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: hoehle at users.sourceforge.net
                CC: dmitry at codeweavers.com


The Alien Nations / Die Völker complains that the cinepak codec is not
installed.
The reason is a lower/upper case mismatch in a FourCC code.

Upper-case FourCC is being supplied, as the log reveals:
Call msvfw32.ICOpen(43444956,44495643,00000002) ret=00493baf
trace:msvideo:ICOpen (VIDC,CVID,0x00000002)
Call winmm.OpenDriver(0032fda8 L"VIDC.CVID", ...)
trace:driver:OpenDriver (L"VIDC.CVID", L"drivers32", ...);
But dlls/iccvid/iccvid.c implements the check
        if (icinfo && icinfo->fccType != ICTYPE_VIDEO)
where ICTYPE_VIDEO refers to 'vidc', not VIDC.

The same check is in msvidc32/msvideo1.c and msrle32/msrle32.c

Probably a case-insensitive check is required? For instance,
msvfw32/msvideo_main.c:ICOpen() uses the case-insensitive helper
function compare_fourcc().

OTOH, after the case-insensitive check perhaps wine should fill in the
icopen.fccType and .fccHandler slots with the FourCC case it expects
(ICTYPE_VIDEO) rather than the argument it received? It seems reasonable to
commit to a known character case early on in the code and use that 
consistently.

What is The Right Thing (TRT), i.e. what to store in fccType?

In any case, a case fix lets "Die Völker" work past this issue (and crash
later in ddraw, but that's another issue).


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the wine-bugs mailing list