directshow中的事件通知机制
智慧的鱼(aoosang)
摘要:这篇文档描述directshow中事件产生的机制,以及应用程序是如何处理事件的。
1概述
事件是graph图和应用程序之间互相通信的机制,类似于消息机制。当某个事件发生时,比如数据流结束,产生一个错误等,filter就要给filter图表管理器(graph manager)发送一个事件通知。filter图表管理器处理其中的一部分事件,将其他事件要交给应用程序处理。如果图表管理器没有处理一个filter事件,它就把事件通知放入到一个队列中,图表管理器也可以将自己的事件通知放进队列中。然后应用程序可以自己处理队列中的事件。directshow中的事件通知就和windows的消息机制差不多。filter,图表管理器和应用程序通过这种机制就可以互相通信。