2

Nexus 9 is claimed as 64bit device, But all media libs are 32 bit like mediaserver, stagefright, OMX, MediaPlayerservice etc . Can anyone help me to know why it is like that ? I need to make them 64 bit, How can I do this ? Thanks in Advance :)

Ganesh
  • 5,880
  • 2
  • 36
  • 54
PD Chauhan
  • 21
  • 3

1 Answers1

3

In current AOSP stack, there are portions of code which require development from vendors like OMX or have dependencies on public libraries like widevine libs. As not all parts of code are handled by Google and not all have been migrated completely, current code has enabled 32-bit code for the media related portions.

To enable complete 64-bit build, please do the following changes and recompile the entire AOSP platform. Please note that the underlying assumption is that the rest of the platform has been migrated to 64-bit already:

  1. Enable 64-bit mediaserver by disabling this line.

  2. Enable 64-bit MediaPlayerService by disabling this line.

  3. After migrating your underlying OMX components to 64-bit, add a line in Android.mk of libstagefright to enable 32-bit build for specific cases only. The relevant macro for ACodec and OMXCodec is OMX_ANDROID_COMPILE_AS_32BIT_ON_64BIT_PLATFORMS

  4. The headers for OMX also have to be compiled accordingly in frameworks/native as here. Please ensure that true 64-bit build is enabled.

  5. Enable 64-bit medialoggerservice by disabling this line.

  6. If you wish to work with drmserver, disable this line for 64-bit build.

With these changes, you should be able to work with 64-bit mediaserver. This list doesn't include SurfaceFlinger or RS which I hope would be taken care of accordingly.

Ganesh
  • 5,880
  • 2
  • 36
  • 54