msvfw32: Force lower-case 'vidc/vids/audc' etc. when opening new driver.
This commit is contained in:
parent
b22b80019a
commit
0e566c5b64
|
@ -403,9 +403,11 @@ HIC VFWAPI ICOpen(DWORD fccType, DWORD fccHandler, UINT wMode)
|
||||||
driver = reg_driver_list;
|
driver = reg_driver_list;
|
||||||
while(driver)
|
while(driver)
|
||||||
if (!compare_fourcc(fccType, driver->fccType) &&
|
if (!compare_fourcc(fccType, driver->fccType) &&
|
||||||
!compare_fourcc(fccHandler, driver->fccHandler))
|
!compare_fourcc(fccHandler, driver->fccHandler)) {
|
||||||
|
fccType = driver->fccType;
|
||||||
|
fccHandler = driver->fccHandler;
|
||||||
break;
|
break;
|
||||||
else
|
} else
|
||||||
driver = driver->next;
|
driver = driver->next;
|
||||||
|
|
||||||
if (driver && driver->proc)
|
if (driver && driver->proc)
|
||||||
|
@ -426,7 +428,13 @@ HIC VFWAPI ICOpen(DWORD fccType, DWORD fccHandler, UINT wMode)
|
||||||
icopen.dnDevNode = 0; /* FIXME */
|
icopen.dnDevNode = 0; /* FIXME */
|
||||||
|
|
||||||
if (!driver) {
|
if (!driver) {
|
||||||
/* The driver is registered in the registry */
|
/* normalize to lower case as in 'vidc' */
|
||||||
|
((char*)&fccType)[0] = tolower(((char*)&fccType)[0]);
|
||||||
|
((char*)&fccType)[1] = tolower(((char*)&fccType)[1]);
|
||||||
|
((char*)&fccType)[2] = tolower(((char*)&fccType)[2]);
|
||||||
|
((char*)&fccType)[3] = tolower(((char*)&fccType)[3]);
|
||||||
|
icopen.fccType = fccType;
|
||||||
|
/* Seek the driver in the registry */
|
||||||
fourcc_to_string(codecname, fccType);
|
fourcc_to_string(codecname, fccType);
|
||||||
codecname[4] = '.';
|
codecname[4] = '.';
|
||||||
fourcc_to_string(codecname + 5, fccHandler);
|
fourcc_to_string(codecname + 5, fccHandler);
|
||||||
|
|
Loading…
Reference in New Issue