ec_complete表明回放已经结束
ec_userabort表明用户中断了回放。用户关闭视频播放窗口时,视频render会发生这个事件
ec_errorabort表明出现了一个错误。
应用程序可以通知filter graph manager,在某个指定的事件发生时,向指定的窗口发生一个指定的消息。这样应用程序就可以在消息循环中对发生的事件产生反应。
首先定义消息,
#define wm_graphnotify wm_app + 1
然后向filter graph manager请求imediaeventex接口,然后调用imediaeventex::setnotifywindow方法来设置消息通知窗口
imediaeventex *g_pevent = null;
g_pgraph->queryinterface(iid_imediaeventex, (void **)&g_pevent);
g_pevent->setnotifywindow((oahwnd)g_hwnd, wm_graphnotify, 0);