I have an AVStream driver I wrote for a card that my company makes, which
follows the filter centric model. I also have down stream DirectShow
transform filters that interface to the driver through the KSProxy. In
general things work pretty good, but when I allow my system to run
continuosly for long periods of time (meaning 24-48 hours), my device driver
will stop receiving Process dispatch calls from Windows. The down stream
transofrm filter is waiting for samples from the driver through the proxy,
and the driver is waiting for a Process call from the Windows, the card is
waiting for the driver to empty data out of it's full buffers, and the whole
system just stops running. Does anyone have any idea what inside Windows
causes could cause the Process dispatch to stop being called?

Re: Filter Centric AVStream driver stops receiveing Process dispach ca by Tim

Tim
Thu Aug 30 22:02:42 PDT 2007

__SAW___ <SAW@discussions.microsoft.com> wrote:
>
>I have an AVStream driver I wrote for a card that my company makes, which
>follows the filter centric model. I also have down stream DirectShow
>transform filters that interface to the driver through the KSProxy. In
>general things work pretty good, but when I allow my system to run
>continuosly for long periods of time (meaning 24-48 hours), my device driver
>will stop receiving Process dispatch calls from Windows. The down stream
>transofrm filter is waiting for samples from the driver through the proxy,
>and the driver is waiting for a Process call from the Windows, the card is
>waiting for the driver to empty data out of it's full buffers, and the whole
>system just stops running. Does anyone have any idea what inside Windows
>causes could cause the Process dispatch to stop being called?

Do you have multiple pins? One way that a graph can come to a grinding
halt is if one of the connections uses up all of the buffers provided by
the allocator but can't move forward because of some other reason.
--
Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.

Re: Filter Centric AVStream driver stops receiveing Process dispac by SAW

SAW
Fri Aug 31 05:36:07 PDT 2007


Thanks for the suggestion! I do have multiple pins and I did make a property
page in the downstream transform filter that would tell me how many buffers
were allocated, and I do keep track of how many buffers the downstream filter
is holding at one time, but have not figured out to to determine how many
buffers are left in the buffer pool, which would conclusively answer this
question. I think a custom allocator will be needed just to get the status. I
think I'll make one of these and rerun the test and post the results. thanks
again.

-Steve



"Tim Roberts" wrote:

> __SAW___ <SAW@discussions.microsoft.com> wrote:
> >
> >I have an AVStream driver I wrote for a card that my company makes, which
> >follows the filter centric model. I also have down stream DirectShow
> >transform filters that interface to the driver through the KSProxy. In
> >general things work pretty good, but when I allow my system to run
> >continuosly for long periods of time (meaning 24-48 hours), my device driver
> >will stop receiving Process dispatch calls from Windows. The down stream
> >transofrm filter is waiting for samples from the driver through the proxy,
> >and the driver is waiting for a Process call from the Windows, the card is
> >waiting for the driver to empty data out of it's full buffers, and the whole
> >system just stops running. Does anyone have any idea what inside Windows
> >causes could cause the Process dispatch to stop being called?
>
> Do you have multiple pins? One way that a graph can come to a grinding
> halt is if one of the connections uses up all of the buffers provided by
> the allocator but can't move forward because of some other reason.
> --
> Tim Roberts, timr@probo.com
> Providenza & Boekelheide, Inc.
>