将滤波器设置为图形的时钟参考

时间:2014-01-13 08:35:07

标签: c# directshow directshow.net

我有一个大图,它有三个带参考时钟的滤波器。我想选择推解复用器作为图参考时钟。我的图形在GraphEdit中运行良好但在我的应用程序中不能流畅播放,我认为这是因为图形的参考时钟。

如何选择过滤器作为图表的参考时钟?

我有这段代码,但它不起作用:

IReferenceClock refClock = (IReferenceClock) new SystemClock();
long time;
refClock.GetTime(out time);
IMediaFilter mediaFilter = (IMediaFilter) push_demultiplexer;
mediaFilter.SetSyncSource(refClock);

1 个答案:

答案 0 :(得分:1)

IReferenceClock refClock = (IReferenceClock) new SystemClock();

代码只做了不同的事情。这是系统时钟设置为你没有显示究竟是什么...相反,你想采取过滤器的时钟,并将其设置为过滤器图形时钟,如下所示:

IReferenceClock refClock = myFilter as IReferenceClock;
IMediaFilter mediaFilter = filterGraph as IMediaFilter;
mediaFilter.SetSyncSource(refClock);