MSN Webcam patch

Maarten Lankhorst m.b.lankhorst at gmail.com
Thu Apr 28 15:56:56 CDT 2005


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...



More information about the wine-devel mailing list