OmxCodec与Component(解码组件)消息处理流程
buffer的处理主要由以下4个命令来进行驱动
OMXCodec使用OMX_EmptyThisBuffer传递未解码的buffer给component,
component收到该命令后会读取input port buffer中的数据,将其组装成帧进行解码,
读取buffer中的数据完成后会调用EmptyBufferDone通知OMXCodec
compoment使用EmptyBufferDone通知OMXCodec已完成inputport buffer的读取,
OMXCodec收到该命令后会通过mVideoTrack读取新的视频buffer到input port的buffer中,
并调用OMX_EmptyThisBuffer通知component
OMXCodec使用OMX_FillThisBuffer传递空的buffer给component用于存储解码后的帧,
component收到该命令后将解码好的帧数据复制到该buffer上,
然后调用FillBufferDone通知OMXCodec
compoment使用FillBufferDone通知OMXCodec已完成outputport buffer的填充,
OMXCodec收到该命令后将解码好的帧传递给mISurface进行图像绘制,
绘制完毕后使用OMX_FillThisBuffer通知component有空的buffer可填充。
能力决定舞台,业绩体现价值,财富回报才智!
不积跬步,无以至千里;不积小流,无以成江海!
千里之行,始于足下。改变现在,就是改变未来。改变未来,从现在开始。

浙公网安备 33010602011771号