Re: Insert SmartTee AND control preview and capture independently



"Alessandro Angeli [MVP::DigitalMedia]" wrote:

> The CaptureGraphBuilder should insert a SmartTee. Do you
> insert a SmartTee as well or an InfTee?

CoCreateInstance(CLSID_SmartTee,...)

> As you know, ControlStream() simple calls the methods of
> IAMStreamControl on the output pins of the capture filters
> or the SmartTee....

Your remark suggested to me that I may have made things overly difficult. I
first invoked ControlStream to stop everything (in the idea that in this way
possible audio and such would be handled for me) and then I selectively
wanted to re-start some pins. Doing so I very probably made stupid mistakes.

When I just stop/start the capture pin of my smart tee explicitly, the stuff
seems to work better (I do not yet get EC_STREAM_CONTROL... events but still
have to look into that).

> ... As TMH suggested, using the GMFBridge will make this a lot easier.

I only read Geraint's paper on that and did not yet try. Anyhow, it gave me
a bad feeling that I did not get the "plain" ICaptureGraphBuilders methods to
work, as that indicates I do not have sufficient understanding :-(

Many thanks to you and TMH for your reaction (and for contributing to the
vaste body of information available in this group).

Maybe, only if you don't mind, a few minor questions...
- I feel inclined to still invoke ControlStream for audio, just so I do
not have to keep track of those filters (did not test, though). It is
legal/moral to StopAt and StartAt different parts of the graph in
different instructions while the graph is running?
- Isn't it at all necessary to control downstream pins? The ControlStream
documentation says that this method does so...
- Does it make sense to first invoke methods such as RenderStream
or ControlStream on MediaType_Video first and then on
...Interleaved in an attempt to make the code general general, or
will it in practice be necessary to support interleaved media in a
totally different way anyhow?

.



Relevant Pages

  • Re: Insert SmartTee AND control preview and capture independently ?
    ... > I learned from this group that many capture cards cannot ... > preview pin on my capture filter useless to me, ... > smart tee in my graph. ... ControlStream() resorts to using the limited pins support ...
    (microsoft.public.win32.programmer.directx.video)
  • ICaptureGraphBuilder2::ControlStream doesn’t !!
    ... I am creating graphs that capture to a file whilst previewing in a window. ... RenderStreamautomatically inserts a smart-T since the ... // Just in case: ControlStream parameters aren't const. ... playing the preview stream. ...
    (microsoft.public.win32.programmer.directx.video)
  • Re: ICaptureGraphBuilder2::ControlStream doesn’t !!
    ... > I am creating graphs that capture to a file whilst previewing in a window. ... > playing the preview stream. ... > individually control the output streams from a smart-T. ... All ControlStream() calls return E_FAIL regardless ...
    (microsoft.public.win32.programmer.directx.video)