Vladdy Impaler wrote:
RIght now I'm working on a patch so I can use my webcam under wine without having to switch to unix or use non-working solutions..
Right now there are 2 patches needed to get MSN to connect to the internet: first is to disable SSL, second strcpy's a value at urlmon getuseragent or something
To get this to work, a few modifications to existing files are needed: First of all, if the catagory exists, let devenum return all from videoinput catagory: diff -Nru /root/wine-20050211/dlls/devenum/createdevenum.c wine-20050211/dlls/devenum/createdevenum.c --- /root/wine-20050211/dlls/devenum/createdevenum.c 2005-01-25 11:56:39.000000000 +0100 +++ wine-20050211/dlls/devenum/createdevenum.c 2005-03-15 00:15:47.000000000 +0100 @@ -117,7 +117,8 @@
if (IsEqualGUID(clsidDeviceClass, &CLSID_AudioRendererCategory) || IsEqualGUID(clsidDeviceClass, &CLSID_AudioInputDeviceCategory) || - IsEqualGUID(clsidDeviceClass, &CLSID_MidiRendererCategory)) + IsEqualGUID(clsidDeviceClass, &CLSID_MidiRendererCategory) || + IsEqualGUID(clsidDeviceClass, &CLSID_VideoInputDeviceCategory)) { hbasekey = HKEY_CURRENT_USER; strcpyW(wszRegKey, wszActiveMovieKey);
and a few other patches to devenum main (Not sure if those are needed) diff -Nru /root/wine-20050211/dlls/devenum/devenum_main.c wine-20050211/dlls/devenum/devenum_main.c --- /root/wine-20050211/dlls/devenum/devenum_main.c 2004-12-07 15:37:11.000000000 +0100 +++ wine-20050211/dlls/devenum/devenum_main.c 2005-03-15 00:15:47.000000000 +0100 @@ -122,7 +122,7 @@ {&CLSID_AudioCompressorCategory, acmcat, TRUE}, {&CLSID_VideoCompressorCategory, vidcat, TRUE}, {&CLSID_LegacyAmFilterCategory, filtcat, TRUE}, - {&CLSID_VideoInputDeviceCategory, vfwcat, FALSE}, + {&CLSID_VideoInputDeviceCategory, vfwcat, TRUE}, {&CLSID_AudioInputDeviceCategory, wavein, FALSE}, {&CLSID_AudioRendererCategory, waveout, FALSE}, {&CLSID_MidiRendererCategory, midiout, FALSE}, @@ -156,7 +156,7 @@
pMapper = (IFilterMapper2*)mapvptr;
- IFilterMapper2_CreateCategory(pMapper, &CLSID_VideoInputDeviceCategory, MERIT_DO_NOT_USE, friendlyvidcap); + IFilterMapper2_CreateCategory(pMapper, &CLSID_VideoInputDeviceCategory, MERIT_NORMAL, friendlyvidcap); IFilterMapper2_CreateCategory(pMapper, &CLSID_LegacyAmFilterCategory, MERIT_NORMAL, friendlydshow); IFilterMapper2_CreateCategory(pMapper, &CLSID_VideoCompressorCategory, MERIT_DO_NOT_USE, friendlyvidcomp); IFilterMapper2_CreateCategory(pMapper, &CLSID_AudioInputDeviceCategory, MERIT_DO_NOT_USE, friendlyaudcap);
I wanted to put all custom code into qcap, but because of the pins that's not possible.
MultiMedia streams (amstream.dll) use a special filter that will need pins too so we may consider sharing them (as well as common Direct Show stuff) in a separate lib. I think Alexandre will not like it but I don't see other solution to prevent this code duplication. Christian