VfW capture driver DLL doubts

VfW capture driver DLL doubts

Post by Sreera » Wed, 26 May 2004 23:13:05


I am writing a VfW capture driver DLL(user-mode). But I am facing
some problems in giving the data back to the client from the driver. I
am using client as WME.

I have followed the steps given in the NT4.0 DDK also the sample.
The driver loading, opening, closing, adding buffer's are happening
properly. The client is adding a new buffer after filling and giving old
buffer(which it has given before) back to the client by doing a callback
from the DLL. I am setting the dwFlag header as lpVideoHdr->dwFlags |=

Actually the driver should convert the H.261 data to uncompressed
video samples. But in order to ensure that driver is giving data
properly to the client, I want to give some static image. I am filling
the lpData member like the following.

memset(lpVideoHdr->lpData, (UCHAR)255, lpVideoHdr->dwBufferLength);
lpVideoHdr->dwBytesUsed = lpVideoHdr->dwBufferLength;

And by using DriverCallback function I am giving the buffer to client.
But client is displaying the data as "black" always. When I click
encoding it is creating a new file but without any data.

I am very much new to video programming. I am doing something wrong.
Please anybody can advice/help to correct me. I have only done audio
related applications which all are standard exe's.

Also is there anyway, I can use DirectX / VCM functions to convert
H.261 video data to RGB/YUV format? or Do I have to go for some open
source code?

It would really help me if anybody can advice or give me some hints
for the above.


VfW capture driver DLL doubts

Post by Sreera » Thu, 27 May 2004 18:33:16

I could able to solve the problem myself.