我在Stagefright命令行实用程序中遇到了一些问题,无法理解OMX子系统(OMX、OMXMaster)是在当前应用程序的进程中运行还是在不同的进程中运行。Stagefright中的哪一部分代码解释了OMXCodec与OMX子系统之间的通信。谷歌中没有多少信息。我恳请读者对这些概念作出解释。
发布于 2014-05-08 13:39:06
创建AwesomePlayer对象时,调用mClient.connect,它基本上调用OMXClient的connect方法。
在实现OMXClient::connect中,可以观察到,media.player服务是通过mOMX来检索的,mOMX被初始化,从这里中可以观察到。
MediaPlayerService是由MediaServer作为这里调用的。
换句话说,OMX本机实现在MediaServer进程中运行,当代理在调用者的上下文中运行时,该上下文可能是Stagefright命令行实用程序的外壳。
分配新组件时,组件可以是SoftOMXComponent或HW加速组件。SoftOMXComponent是在调用者的上下文中创建的,而HW加速组件是在MediaServer中创建的。这通过两个变量mLocalOMX和mRemoteOMX作为这里进行管理。
https://stackoverflow.com/questions/23540130
复制相似问题