diff options
author | Andy Hung <hunga@google.com> | 2014-05-15 04:30:49 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-05-15 04:30:49 +0000 |
commit | d25b89d1e417082b7e4ee9db7c08ab8095d48d87 (patch) | |
tree | dc121d42eae2595b389315efee1fc4f7fcd7f360 | |
parent | 19a0c7687ca1d00d4518191648848a16d08083c7 (diff) | |
parent | f87e30fe71752dc431d8e8d5682c38271c03265a (diff) | |
download | frameworks_av-d25b89d1e417082b7e4ee9db7c08ab8095d48d87.zip frameworks_av-d25b89d1e417082b7e4ee9db7c08ab8095d48d87.tar.gz frameworks_av-d25b89d1e417082b7e4ee9db7c08ab8095d48d87.tar.bz2 |
Merge "Send 64 bit OMX codec handling to 32 bit MediaServer"
-rw-r--r-- | media/libstagefright/ACodec.cpp | 4 | ||||
-rw-r--r-- | media/libstagefright/OMXClient.cpp | 12 | ||||
-rw-r--r-- | media/libstagefright/OMXCodec.cpp | 6 |
3 files changed, 22 insertions, 0 deletions
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp index 0fe7ff2..4f66402 100644 --- a/media/libstagefright/ACodec.cpp +++ b/media/libstagefright/ACodec.cpp @@ -17,6 +17,10 @@ //#define LOG_NDEBUG 0 #define LOG_TAG "ACodec" +#ifdef __LP64__ +#define OMX_ANDROID_COMPILE_AS_32BIT_ON_64BIT_PLATFORMS +#endif + #include <inttypes.h> #include <utils/Trace.h> diff --git a/media/libstagefright/OMXClient.cpp b/media/libstagefright/OMXClient.cpp index 72f2306..aca21cf 100644 --- a/media/libstagefright/OMXClient.cpp +++ b/media/libstagefright/OMXClient.cpp @@ -16,6 +16,11 @@ //#define LOG_NDEBUG 0 #define LOG_TAG "OMXClient" + +#ifdef __LP64__ +#define OMX_ANDROID_COMPILE_AS_32BIT_ON_64BIT_PLATFORMS +#endif + #include <utils/Log.h> #include <binder/IServiceManager.h> @@ -165,7 +170,14 @@ bool MuxOMX::isLocalNode_l(node_id node) const { // static bool MuxOMX::CanLiveLocally(const char *name) { +#ifdef __LP64__ + (void)name; // disable unused parameter warning + // 64 bit processes always run OMX remote on MediaServer + return false; +#else + // 32 bit processes run only OMX.google.* components locally return !strncasecmp(name, "OMX.google.", 11); +#endif } const sp<IOMX> &MuxOMX::getOMX(node_id node) const { diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp index f248861..c028dbf 100644 --- a/media/libstagefright/OMXCodec.cpp +++ b/media/libstagefright/OMXCodec.cpp @@ -18,6 +18,11 @@ //#define LOG_NDEBUG 0 #define LOG_TAG "OMXCodec" + +#ifdef __LP64__ +#define OMX_ANDROID_COMPILE_AS_32BIT_ON_64BIT_PLATFORMS +#endif + #include <utils/Log.h> #include "include/AACEncoder.h" @@ -130,6 +135,7 @@ private: template<class T> static void InitOMXParams(T *params) { + COMPILE_TIME_ASSERT_FUNCTION_SCOPE(sizeof(OMX_PTR) == 4); // check OMX_PTR is 4 bytes. params->nSize = sizeof(T); params->nVersion.s.nVersionMajor = 1; params->nVersion.s.nVersionMinor = 0; |