我正面临Stagefright命令行实用程序的一些问题,我无法理解OMX
中的OMX
子系统OMXMaster
,Stagefright
}和{{1}核心在当前应用程序的进程或不同进程中运行。 OMX
中代码的哪一部分解释了Stagefright
和OMXCodec
子系统之间的通信。谷歌没有太多信息。我恳请读者对这些概念作出解释。
答案 0 :(得分:1)
创建AwesomePlayer
对象时,会调用mClient.connect
,它基本上会调用OMXClient
的连接方法。
在实施OMXClient::connect
中,可以观察到通过media.player
检索mOMX
服务已初始化,可以从here观察到。
MediaPlayerService
MediaServer
由OMX
registered through the instantiation调用{/ 3}}。
换句话说,MediaServer
本机实现正在Stagefright
进程中运行,其中代理在调用者的上下文中运行,在SoftOMXComponent
的情况下可能是shell命令行实用程序。
分配新组件时,该组件可以是HW
或SoftOMXComponent
加速组件。 HW
是在调用方的上下文中创建的,而MediaServer
加速组件是在mLocalOMX
中创建的。这通过2个变量mRemoteOMX
和{{1}}作为here进行管理。