Intelligent connection logic will create a log file that you can use to track errors. Use IGraphBuilder :: SetLogFile (or the graphedt menu item). This records all activity during the plotting.
The most common reason for not connecting to vmr is that the upstream filter insists on using its own allocator, as well as vmr. It is possible that in some cases you get a conversion (e.g. color space conversion) between them, and this copies the buffers, and therefore will use the vmr allocator. Anyway, this is something like this.
WITH