0

I built a DirectShow Video renderer to capture Frames with a VIDEOINFOHEADER2 as video format (which is not possible with the built-in grabber). The class is derived from CBaseVideoRenderer and implements the basic method required. CheckMediaType and SetMediaType are called, as well as OnStartStreaming. However DoRenderSample is never called, because the stream immediately ends. Interestingly, the audio is rendered by the DirectSound renderer in my graph, ie there are data.

I should add that my graph has a "live source", namely BDA DVB-S. If I add an EVR instead of my renderer, everything works, ie the sound and the video are played.

What is the problem here? Are there special requirements for renderers to receive data from live sources?

Update 1: I should add that if I run my graph in GraphEdit, it also plays the Sound, but issues an error message (only with my renderer, not with EVR): "The graph could not Change state. At least one of the Pins involved in the Operation is already connected. (Return code: 0x80040204)" I think this is part of the problem, but I unfortunately do not understand what it means or what I should change in my code.

Update 2: As requested, the ROT entry for my graph (click to enlarge):

Graph from the ROT

Roman R.
  • 68,205
  • 6
  • 94
  • 158
Christoph
  • 1,964
  • 2
  • 27
  • 44
  • Can you [publish the graph in the ROT](http://stackoverflow.com/a/27858/33499) to check if all filters are properly connected and nothing stange is seen? – wimh Jun 25 '14 at 20:37
  • I did not manage to make the screenie click-enlarge, but the explicit link will do it, too... – Christoph Jun 25 '14 at 22:39

0 Answers0