Tech Support > Microsoft Windows > Drivers > Problem changing input while graph running
Problem changing input while graph running
Posted by Michael Jones on September 8th, 2007


I've implemented a crossbar filter in my AVStream video capture driver
so I can select amongst 3 different video inputs. In GraphEdt, if I
change the input and then start the graph, everything works fine.
However, if I start the graph and then change the input I get a message
box from GraphEdt which says:

The graph could not change state.

Incorrect function.
(Return code: 0x80070001)

AFTER I hit OK, the graph is then stopped.

The new input gets selected; if I start the graph again, that's the one
I get. I've instrumented every function in my driver, and nothing gets
called after the KSPROPERTY_CROSSBAR_ROUTE set (well, actually, there's
a call to get, I assume to update the UI).

If, while the graph is running, I manually change the input (by poking
the board register directly with my debug utility), everything works
fine (the input changes and the graph keeps running, and neither
AVStream nor GraphEdt is any the wiser).

I'm guessing the "Incorrect function" error is being returned by the
AVStream layer; is there any way to determine what's going on? Any
other ideas for how to chase this? It's the last (known) problem
between me and "project complete".

Thanks in advance,

--mkj

Michael Jones
Stone Hill Consulting
http://www.stonehill.com