【问题标题】:Stagefright: OMX Subsystem in Stagefright and OMX Core are running in which process contextStagefright:Stagefright 和 OMX Core 中的 OMX 子系统在哪个进程上下文中运行
【发布时间】:2014-06-25 17:57:51
【问题描述】:

我在使用 Stagefright 命令行实用程序时遇到一些问题,我无法理解 StagefrightOMX 核心中的 OMX 子系统(OMXOMXMaster)是否正在当前应用程序的进程中运行或不同的过程。 Stagefright 中的哪部分代码解释了OMXCodecOMX 子系统之间的通信。 google 上没有太多信息。我恳请读者对这些概念进行解释。

【问题讨论】:

    标签: stagefright openmax


    【解决方案1】:

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

    在实现OMXClient::connect 中,可以观察到media.player 服务是通过mOMX 被初始化的,从here 可以观察到。

    MediaPlayerService 是由MediaServer 作为here 调用的registered through the instantiation

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

    分配新组件时,该组件可以是SoftOMXComponentHW 加速组件。 SoftOMXComponent 是在调用者的上下文中创建的,而HW 加速组件是在MediaServer 中创建的。这是通过mLocalOMXmRemoteOMX 作为here 的2 个变量进行管理的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-29
      • 2013-03-07
      • 2016-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 2012-01-24
      相关资源
      最近更新 更多