三、组件事件处理
当组件接收到一个OpenMAX事件时会调用EventHandler
EventHandler(OMX_OUT OMX_HANDLETYPE hComponent, OMX_OUT OMX_PTR pAppData, OMX_OUT OMX_EVENTTYPE eEvent, OMX_OUT OMX_U32 nData1, OMX_OUT OMX_U32 nData2, OMX_IN OMX_PTR pEventData);
其中前两个参数已在第二章介绍。eEvent为事件代号,例如第一章提到的OMX_SendCommand,对命令完成的所引发的事件即OMX_EventCmdComplete。
nData1和nData2是该事件的两个关联数据。例如,对于命令完成事件,如果命令为状态切换,其中nData1即OMX_CommandStateSet;nData2即对应的目标状态,如OMX_StateIdle等。又如对于缓冲事件,其eEvent为OMX_EventBufferFlag,当nData2为OMX_BUFFERFLAG_EOS时往往说明输入码流结束,从而对该事件的响应通常是设置EOF标记并put信号量通知处于循环中的应用线程。
OpenMAX大意 三 组件事件处理
最新推荐文章于 2022-05-10 20:39:02 发布