diff options
author | Andy Hung <hunga@google.com> | 2014-05-02 11:05:04 -0700 |
---|---|---|
committer | Andy Hung <hunga@google.com> | 2014-05-14 16:43:03 -0700 |
commit | 609b815a3131d22da38b2f452faa9f89daad4039 (patch) | |
tree | 16645cc8f518457029ff97cbcdc837599846a076 /media/libstagefright/include | |
parent | 021cf9634ab09c0753a40b7c9ef4ba603be5c3da (diff) | |
download | frameworks_av-609b815a3131d22da38b2f452faa9f89daad4039.zip frameworks_av-609b815a3131d22da38b2f452faa9f89daad4039.tar.gz frameworks_av-609b815a3131d22da38b2f452faa9f89daad4039.tar.bz2 |
Update OMX messages for 64 bit
Change node_id and buffer_id to uint32_t.
Ensure IOMX messages are fixed size.
Remove 64 bit compile warnings in associated files.
Change-Id: Icdbef00aca575e5dc502ebb52e3ce7d0d7883203
Signed-off-by: Andy Hung <hunga@google.com>
Diffstat (limited to 'media/libstagefright/include')
-rw-r--r-- | media/libstagefright/include/OMX.h | 4 | ||||
-rw-r--r-- | media/libstagefright/include/OMXNodeInstance.h | 13 |
2 files changed, 15 insertions, 2 deletions
diff --git a/media/libstagefright/include/OMX.h b/media/libstagefright/include/OMX.h index 31a5077..cd51bbf 100644 --- a/media/libstagefright/include/OMX.h +++ b/media/libstagefright/include/OMX.h @@ -134,10 +134,10 @@ public: OMX_IN OMX_PTR pEventData); OMX_ERRORTYPE OnEmptyBufferDone( - node_id node, OMX_IN OMX_BUFFERHEADERTYPE *pBuffer); + node_id node, buffer_id buffer, OMX_IN OMX_BUFFERHEADERTYPE *pBuffer); OMX_ERRORTYPE OnFillBufferDone( - node_id node, OMX_IN OMX_BUFFERHEADERTYPE *pBuffer); + node_id node, buffer_id buffer, OMX_IN OMX_BUFFERHEADERTYPE *pBuffer); void invalidateNodeID(node_id node); diff --git a/media/libstagefright/include/OMXNodeInstance.h b/media/libstagefright/include/OMXNodeInstance.h index 339179e..3967dc6 100644 --- a/media/libstagefright/include/OMXNodeInstance.h +++ b/media/libstagefright/include/OMXNodeInstance.h @@ -138,12 +138,25 @@ private: OMX::buffer_id mID; }; Vector<ActiveBuffer> mActiveBuffers; +#ifdef __LP64__ + Mutex mBufferIDLock; + uint32_t mBufferIDCount; + KeyedVector<OMX::buffer_id, OMX_BUFFERHEADERTYPE *> mBufferIDToBufferHeader; + KeyedVector<OMX_BUFFERHEADERTYPE *, OMX::buffer_id> mBufferHeaderToBufferID; +#endif ~OMXNodeInstance(); void addActiveBuffer(OMX_U32 portIndex, OMX::buffer_id id); void removeActiveBuffer(OMX_U32 portIndex, OMX::buffer_id id); void freeActiveBuffers(); + + // For buffer id management + OMX::buffer_id makeBufferID(OMX_BUFFERHEADERTYPE *bufferHeader); + OMX_BUFFERHEADERTYPE *findBufferHeader(OMX::buffer_id buffer); + OMX::buffer_id findBufferID(OMX_BUFFERHEADERTYPE *bufferHeader); + void invalidateBufferID(OMX::buffer_id buffer); + status_t useGraphicBuffer2_l( OMX_U32 portIndex, const sp<GraphicBuffer> &graphicBuffer, OMX::buffer_id *buffer); |