I am stuck on it, it seems that if I enable WINEDEBUG=+quartz it crashes
THEORETICALLY, although wrong, this should be ok, since it doesn't disrupt anything BUT I asked others to test my patch, and unfortunately THEY weren't that lucky, it crashed, wether winedebug was enabled or not... so what I'm asking is, perhaps someone can find out what's wrong? I attached 4 files
capturegraph.patch - implements icapturegraphbuilder (stubbed) quartzfix.patch - several fixes for quartz v4l.patch - implements the vfwcapture interface capture.c - in case you don't have a working v4l(2) device, i provided a version that doesn't actually do anything, while still invoking the crash
just make sure you do 'regsvr32 quartz.dll' (with quartz = builtin) also devenum has to be builtin
to invoke the crash:
install msn messenger (you need internet explorer installed too) run msnmsgr with WINEDEBUG=+quartz,+qcap
Unfortunately, I don't know how to fix this, and if this doesn't get fixed, it doesn't seem worth the effort to continue working on msn webcams :/ perhaps your shared minds at wineconf will be able to fix it, or those who stay at home ;)
From what I can tell, the crash occurs in OutputPin_ConnectSpecific (wine/dlls/quartz/pin.c), exact line: hr = IPin_ReceiveConnection(pReceivePin, iface, pmt);
I think pReceivePin is a pin provided by MSN messenger itself, so if it is a crash caused by differences between the quartz msn expects, and our implementation of quartz it will help to resolve cross-quartz differences (well that's the theory anyway :P)
if this can't be fixed, I'll try to port this interface to qcap, where it should belong, but it it's not there because a lot of things from quartz is used.. which means i have to do a lot double...