how to get the video stream format (filter driver)

B

Bogdan Dinu

Hi,
I have a filter driver for a webcam and I need to do some processing on the
video stream before sending it to the user app. The problem that I am facing
is that the camera supports multiple video formats (both multiple
resolutions and video encoding: RGB and YUV).
In the DDK documentation (the "KS Data Formats and Data Ranges" article) it
is said that the properties KSPROPERTY_PIN_DATARANGES,
KSPROPERTY_PIN_CONSTRAINEDDATARANGES, KSPROPERTY_PIN_PROPOSEDATAFORMAT and
KSPROPERTY_PIN_DATAINTERSECTION are used to querry the data format of the
pin, and KSPROPERTY_CONNECTION_DATAFORMAT to set the data format (or some
property of KSPROPERTY_Connection)

I have looked through all the property IOCTLs that my filter receives and I
did not find any KSPROPERTY_CONNECTION_DATAFORMAT ; the only IOCTLs from
this class that pass through my driver are KSPROPERTY_CONNECTION_STATE and
KSPROPERTY_CONNECTION_ALLOCATORFRAMING.

Does anyone know how is the stream format set at this level (basic IOCTLs
parsing), or at least a point where to look from? This should be closely
related to the way AVStream or USBCAMD uses to set the format.


BTW, as far as I could guess, it seems that the current format is the one
negociated by the last KSPROPERTY_PIN_DATAINTERSECTION, but i did not find
any information that it also sets the format, not only querry for a
supported one. Can anyone confirm this?
Also, I believe that the function driver below me I believe is a USBCAMD 2.0
minidriver.

Thanks,
Bogdan.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top