I'm triyng to connect a camera to a VMR9 filter and I do the following:

Create the filter graph
Create the VMR9 filter
Add the VMR9 Filter to the graph
Create the video source filter and add to the graph
Create an instance of capturegraphbuilder2 and reference it with the graph
with certain cameras (in other it works), when I call the renderStream method (with reference to the preview pin), I get a VFW_E_CANNOT_CONNECT error.

I then saved the graph to a file just after the RenderStream call, and open it with graph edit. There are:

The source filter
The smart tee (connected to the source filter )
The VMR9 renderer
The strange thing is that if I connect the preview pin with the VMR input in graphedit it connects with no problem, adding a colour space converter filter in between.

I then tried to manually connect the filters (after the failed RenderStream), doing this:

Create an instance of the colour space converter filter and add it to the graph
connect the smart tee preview pin to colour space converter (with success)
connect the only output pin of the colour space converter to the VMR9 renderer (VFW_E_CANNOT_CONNECT)
Could someone please point me out what I'm doing wrong?

Many thanks in advance

This isn't a C++ question. It is a question about a specific library/API for video capture. Look at the error. It indicates that it cannot connect. With what? The camera? The video stream? Don't assume people here are experts in a specific API. Questions should be restrained to C++ programming issues, in my opinion.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.