微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OMXCodec数据处理过程

转自 http://blog.sina.com.cn/foreverlovelost

buffer的处理主要由以下4个命令来进行驱动

OMXCodec使用OMX_EmptyThisBuffer传递未解码的buffer给component,
component收到该命令后会读取input port buffer中的数据,将其组装成帧进行解码,Verdana; font-size:12px; border-collapse:collapse; line-height:normal">读取buffer中的数据完成后会调用EmptyBufferDone通知OMXCodec
compoment使用EmptyBufferDone通知OMXCodec已完成inputportbuffer的读取,Verdana; font-size:12px; border-collapse:collapse; line-height:normal">OMXCodec收到该命令后会通过mVideoTrack读取新的视频buffer到inputport的buffer中,Verdana; font-size:12px; border-collapse:collapse; line-height:normal">
调用OMX_EmptyThisBuffer通知component

OMXCodec使用OMX_FillThisBuffer传递空的bffer给component用于存储解码后的帧,
component收到该命令后将解码好的帧数据复制到该buffer上,Verdana; line-height:normal">然后调用FillBufferDone通知OMXCodec
compoment使用FillBufferDone通知OMXCodec已完成outputportbuffer的填充,Verdana; line-height:normal">OMXCodec收到该命令后将解码好的帧传递给mISurface进行图像绘制,Verdana; line-height:normal">绘制完毕后使用OMX_FillThisBuffer通知component有空的buffer可填充。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐