Nexus 9中的64位媒体服务器

时间:2015-04-29 06:04:19

标签: android 64-bit android-5.0-lollipop stagefright

Nexus 9声称为64位设备,但所有媒体库都是32位,如mediaserverstagefrightOMXMediaPlayerservice等。任何人都可以帮助我知道为什么会这样吗?我需要让它们64位,我该怎么做? 在此先感谢:)

1 个答案:

答案 0 :(得分:3)

在当前的AOSP堆栈中,有部分代码需要从OMX等供应商进行开发,或者依赖于widevine libs等公共库。由于并非所有代码部分都由Google处理,并且并非所有部分都已完全迁移,因此当前代码已为media相关部分启用了32位代码。

要启用完整的64-bit版本,请执行以下更改并重新编译整个AOSP平台。请注意,基本假设是平台的其余部分已经迁移到64-bit

  1. 通过禁用this line启用64位mediaserver

  2. 通过禁用this line启用64位MediaPlayerService

  3. 将基础OMX组件迁移到64-bit后,在Android.mk libstagefright中添加一行,以便仅针对特定情况启用32-bit版本。 ACodecOMXCodec的相关宏是OMX_ANDROID_COMPILE_AS_32BIT_ON_64BIT_PLATFORMS

  4. OMX的标头也必须在frameworks/native中相应地编译为here。请确保启用了真正的64-bit版本。

  5. 通过禁用this line启用64位medialoggerservice

  6. 如果您希望使用drmserver,请为64-bit版本停用this line

  7. 通过这些更改,您应该能够使用64-bit mediaserver。此列表包括SurfaceFlingerRS,我希望相应地对其进行处理。