Wine msn webcam patch (Attempt 2)
Mike McCormack
mike at codeweavers.com
Sun Apr 10 00:22:24 CDT 2005
Hi Maarten,
Maarten Lankhorst wrote:
> I've been trying to get msn webcam to work again, and I found out that
Cool! The next step is probably to break up your patch a little, and
submit it in smaller chunks. If you'd like I'm willing to help you do that.
> diff -Nru wine-old/dlls/devenum/createdevenum.c wine-new/dlls/devenum/createdevenum.c
> diff -Nru wine-old/dlls/devenum/devenum_main.c wine-new/dlls/devenum/devenum_main.c
These two look like one chunk.
> diff -Nru wine-old/dlls/qcap/main.c wine-new/dlls/qcap/main.c
> diff -Nru wine-old/dlls/qcap/Makefile.in wine-new/dlls/qcap/Makefile.in
> diff -Nru wine-old/dlls/qcap/qcap_main.c wine-new/dlls/qcap/qcap_main.c
> diff -Nru wine-old/dlls/qcap/qcap_private.h wine-new/dlls/qcap/qcap_private.h
> diff -Nru wine-old/dlls/qcap/qcap.spec wine-new/dlls/qcap/qcap.spec
> diff -Nru wine-old/dlls/qcap/regsvr.c wine-new/dlls/qcap/regsvr.c
And one more chunk. You might reconsider deleting qcap_main.c, and
instead add you main.c implementation in there.
> +/******************************************************************************
> + * DirectShow ClassFactory
> + */
> +typedef struct {
> + IClassFactory ITF_IClassFactory;
> +
> + DWORD ref;
> + HRESULT (*pfnCreateInstance)(IUnknown *pUnkOuter, LPVOID *ppObj);
> +} IClassFactoryImpl;
ClassFactories don't need to be allocated and freed, so it's sufficient
to use a statically allocated IClassFactoryImpl, where AddRef and
Release return 2 and 1 respectively.
+ * Copyright 2005
You need to add your name after the copyright.
> diff -Nru wine-old/dlls/quartz/capturegraph.c wine-new/dlls/quartz/capturegraph.c
> diff -Nru wine-old/dlls/quartz/filesource.c wine-new/dlls/quartz/filesource.c
> diff -Nru wine-old/dlls/quartz/filtergraph.c wine-new/dlls/quartz/filtergraph.c
> diff -Nru wine-old/dlls/quartz/main.c wine-new/dlls/quartz/main.c
> diff -Nru wine-old/dlls/quartz/Makefile.in wine-new/dlls/quartz/Makefile.in
> diff -Nru wine-old/dlls/quartz/quartz_private.h wine-new/dlls/quartz/quartz_private.h
> diff -Nru wine-old/dlls/quartz/regsvr.c wine-new/dlls/quartz/regsvr.c
> diff -Nru wine-old/dlls/quartz/v4wsource.c wine-new/dlls/quartz/v4wsource.c
And this looks like it's still a bit of a work in progress. There's
probably quite a few patches in there.
> +/* Copyright 2005 Maarten Lankhorst, Goal is to get MSN's webcam function to work..
Better to put the description on one line first, and the Copyright
message below it, as described in the COPYING file on line 473.
> + return E_FAIL;
return E_NOIMPL for stuff that isn't implemented.
> +static HRESULT WINAPI CaptureGraphBuilder_FindInterface(ICaptureGraphBuilder * iface, const GUID *pCategory, IBaseFilter *pf, REFIID riid, void **ppint)
> +{
> + struct CaptureGraphImpl *This = (CaptureGraphImpl *)iface;
> + TRACE("%p: %s .. %p .. %s .. %p - unwanted untested unguaranteed unwarranted unreliable stub workaround!\n", iface, qzdebugstr_guid(pCategory), pf, qzdebugstr_guid(riid), *ppint);
> + return IBaseFilter_QueryInterface(pf, riid, ppint);
> + /* Looks for the specified interface on the filter, upstream and downstream from the filter, and, optionally, only on the output pin of the given category. */
> +}
Keeping you lines short will make it easier to read.
> --- wine-old/dlls/quartz/Makefile.in 2005-02-10 18:13:18.000000000 +0100
> +++ wine-new/dlls/quartz/Makefile.in 2005-04-09 16:11:35.000000000 +0200
> @@ -28,6 +28,8 @@
> systemclock.c \
> transform.c \
> videorenderer.c \
> + v4wsource.c \
> + capturegraph.c \
> waveparser.c
Better keep the list in alphabetical order.
> + * LETS SING IT ALL TOGETHER NOW! ON MY MARK!
> + * COM SUCKS ASS!
Indeed :)
> diff -Nru wine-old/include/axextend.idl wine-new/include/axextend.idl
> +interface IAMStreamConfig : IUnknown
We've added this one for you already (in the CVS).
Mike
More information about the wine-devel
mailing list