qcap/avicap and driver models

Maarten Lankhorst m.b.lankhorst at gmail.com
Sat May 21 06:33:36 CDT 2005

Hi Alexandre,

I implemented a driver model in qcap now, but avicap32 still uses my old 
#ifdef LINUX_VIDEODEV_H, since some people might be interested in 
writing capcreatecapturewindow, I think we should move out the drivers 
from qcap to our own vfwwine dll/driver, windows uses a similar model 
for it, as rolf kalbermatter pointed out in 

For the qcap drivers, I used some kind of COM model

typedef struct capturefunctions {
    Video_SetMediaType SetFormat;
    void *pMine;
} Capture;

First, it tries to initialise, and lets the constructor function fill 
this struct, then if something is needed, it just calls 
Capture->SetFormat(Capture->pMine, parameters..), this is the qcap 
implementation, but I'm sure that if I write some parts of it so it will 
be DirectShow indepent, it can be used by avicap and qcap, I'm not 
really interested in avicap, but in the very least 
capgetdriverdescription should use the same code as qcap, because 
writing the same twice would mean a huge overhead.

So basically, I'm just wondering what to do, should I go ahead with the 
seperate driver dll or should I do something else?


More information about the wine-devel mailing list