Re: Reasons pins won't connect?



Okay - I think I may have figured out what my problem was, though I
can't explain WHY this seems to be the case, it sure seems to be. It
STILL seems to be related to the codecs - or at least it surfaces as a
result of certain codecs.

The way I was constructing the graph was to actually do RenderFile or
Render (tried both), and then tear down a few filters and insert new
ones (take out the VMR7, insert the classic one, etc.). It appears as
though that may have been what caused the troubles - probably something
in the graph become "solidified" when I rendered it out in full, and
when I tried to insert new filters after removing others the "leftover"
settings caused things to fail. I never ran the graph so I guess I
assumed that nothing was written in stone....guess I was
wrong...*shrug*.

Not sure how one would go about resetting the graph/pins after you
start pulling filters out, but the fix was to simply create the graph
manually so I didn't have to remove anything in the first place.

I seem to be getting better at diagnosing these things in spite of
myself. Forget intelligent connect, I suppose I'm going to be doing
moron connect...


kwendex@xxxxxxxxx wrote:
Hello all,

Thanks for all your help.

Yes, I did turn on the graph logging feature, but the data seems rather
useless for my particular situation (unless I have something
misconfigured or am too ignorant to pull something useful out of the
log). It appears to be a long list of examining filter...considering
filter....failed, etc. I don't se any error codes, just addresses for
the filters its examining and the fact that they don't connect
correctly. It's an AVI encoded in Radius Cinepak.

I went back a bit and start playing some more with things and have
since realized that it has everything to do with the media file I'm
using - other files i have seem to work just fine.

What's weird is that if I leave out the infinite tee, do an
EnumMediaTypes on the output pin for the AVI Decompressor and find one
that QueryAccept on the downstream Video Renderer says is "good" and
THEN try to do a IPin::Connect() between to the two pins, I get
VFW_E_TYPE_NOT_ACCEPTED. This whole thing seems rather contradictory.
Almost like the filter says "I can accept this format", but then
changes its mind when I actually try to connect.

The graph is not running.




Andy Champ wrote:
kwendex@xxxxxxxxx wrote:

What are the various reasons pins won't connect in a filter graph?
Media types....what else?

I have constructed a filter graph and I'm attempting to connect an
output pin of an infinite tee filter to a video renderer and I get a
0x80040217 error - meaning something like "no combination of
intermediate filters could be found to connect, blah, blah, blah" (note
that the graph is complete up to that point). There are acceptable
media types between the pins, however, as I used the
IPin::QueryAccept() method to verify media types between the output
pins of the Tee filter and the input pins of the Video Renderer
intermingle correctly.

What's even more weird is if I hit a debug break right before
attempting to connect the pins, locate the graph in GraphEdit (I
published it to the ROT), I'm able to manually connect the pins (in
GraphEdit).

If I simply call Render() on the output pin of the tee filter (as
opposed to forcing a Connect), the graph completes but with a VMR7 -
which isn't the renderer I wish to use (in all actuality I'd like the
classic renderer...long story).

This all seems REALLY weird to me. Ummm....I'm new so I'm not sure how
to go about debugging something like this....any suggestions?

Thanks a bunch,
Ben

Have you turned on the graph logging feature? You can get a log file of
what it did while trying to connect.

Andy

.



Relevant Pages

  • Re: Decoding Rate vs Playback Rate
    ... when those buffers are all used up, the allocators GetBuffer blocks until there's an available buffer ... the renderer can hold on to the samples until they're rendered or copying them and returning the sample immediately ... In a DirectShow graph, there are three possible states: ... filters hold a minimum set ...
    (microsoft.public.win32.programmer.directx.video)
  • Filter and Pin Problem
    ... build a filter graph using 3 filters. ... I can build this graph in graph in graphedit, connect the pins, and ... BUT, when i build the graph programmatically the first 2 filters, ie. ... the USB crossbar and USB A/V Capture filters do not appear to have any ...
    (microsoft.public.win32.programmer.directx.video)
  • Re: WMR9, dual-screen, EC_PAUSED and delay in video playback
    ... filters have completed the pause transition, ... it takes longer for the graph to go active. ... similar to monitor the flow of data actually into the renderer. ...
    (microsoft.public.win32.programmer.directx.video)
  • Re: intelligent connect wont connet to the filter already in the grap
    ... I read some book that intelligent connect will first search for added ... filters in the graph, after that it will search elsewhere for compatible ... I have a custom filter added to my graph, its merit value is lower than ... Microsoft's default video renderer. ...
    (microsoft.public.win32.programmer.directx.video)
  • Re: Video renderer
    ... >> I have a source filter which creates output pins dynamically based on the ... I render the output pins and run the graph. ... there must be some setting with the video renderer ...
    (microsoft.public.win32.programmer.directx.video)

Loading