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(a)winehq.org ReportedBy: hoehle(a)users.sourceforge.net CC: dmitry(a)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.