Stagefright:Stagefright和OMX Core中的OMX子系统正在哪个进程上下文中运行

时间:2014-05-08 11:12:22

标签: stagefright openmax

我正面临Stagefright命令行实用程序的一些问题,我无法理解OMX中的OMX子系统OMXMasterStagefright}和{{1}核心在当前应用程序的进程或不同进程中运行。 OMX中代码的哪一部分解释了StagefrightOMXCodec子系统之间的通信。谷歌没有太多信息。我恳请读者对这些概念作出解释。

1 个答案:

答案 0 :(得分:1)

创建AwesomePlayer对象时,会调用mClient.connect,它基本上会调用OMXClient的连接方法。

在实施OMXClient::connect中,可以观察到通过media.player检索mOMX服务已初始化,可以从here观察到。

<MediaPlayerService MediaServerOMX registered through the instantiation调用{/ 3}}。

换句话说,MediaServer本机实现正在Stagefright进程中运行,其中代理在调用者的上下文中运行,在SoftOMXComponent的情况下可能是shell命令行实用程序。

分配新组件时,该组件可以是HWSoftOMXComponent加速组件。 HW是在调用方的上下文中创建的,而MediaServer加速组件是在mLocalOMX中创建的。这通过2个变量mRemoteOMX和{{1}}作为here进行管理。