Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

DirectDraw - how to set 640x480 in CBaseVideoRenderer class

Status
Not open for further replies.

and1rewt

Programmer
Apr 5, 2003
1
US
I have a DirectDraw filter class that is derived from CBaseVideoRenderer which has been working well for me. It processes video for me from multiple web-cams at 30 fps at 640x480 RGB resolution. I override 3 functions:

HRESULT CheckMediaType(const CMediaType *pmt );
Here I check to see if it is RGB format and that it is a video stream. I return S_OK when I find both - so the graph is built I take it.

HRESULT SetMediaType(const CMediaType *pmt );
Here I reject everything that is not of type D3DFMT_X8R8G8B8 so I get 24bit RGB

HRESULT DoRenderSample(IMediaSample *pMediaSample);
This is the callback function where I process my video frames.

Now here is the problem. My webcam defaulted to 640x480 at 30fps on the first connection. A new board I have is connecting at 160x120 at 15fps. How can I set/reject anything but 30fps at 640x480???

Thanks a million for any ideas,

AT
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top