diff options
author | Andreas Huber <andih@google.com> | 2010-12-08 09:09:25 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-12-08 09:09:25 -0800 |
commit | f69583cde5e4e8c3337c2196f8102f987ef9ea61 (patch) | |
tree | e3f030006ee8a7c976ed0b4dcb7e1419d8a782d8 /include | |
parent | 5e17a1a18c47d2e37e8b93582caa30d147924293 (diff) | |
parent | bbbcf65532c905b71f5c731551b15e9bd2fc26e0 (diff) | |
download | frameworks_base-f69583cde5e4e8c3337c2196f8102f987ef9ea61.zip frameworks_base-f69583cde5e4e8c3337c2196f8102f987ef9ea61.tar.gz frameworks_base-f69583cde5e4e8c3337c2196f8102f987ef9ea61.tar.bz2 |
Merge "Better buffer status management and verification in OMXCodec."
Diffstat (limited to 'include')
-rw-r--r-- | include/media/stagefright/OMXCodec.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/include/media/stagefright/OMXCodec.h b/include/media/stagefright/OMXCodec.h index 0aba347..d37c22d 100644 --- a/include/media/stagefright/OMXCodec.h +++ b/include/media/stagefright/OMXCodec.h @@ -121,10 +121,16 @@ private: kOutputBuffersAreUnreadable = 8192, }; + enum BufferStatus { + OWNED_BY_US, + OWNED_BY_COMPONENT, + OWNED_BY_NATIVE_WINDOW, + OWNED_BY_CLIENT, + }; + struct BufferInfo { IOMX::buffer_id mBuffer; - bool mOwnedByComponent; - bool mOwnedByNativeWindow; + BufferStatus mStatus; sp<IMemory> mMem; size_t mSize; void *mData; @@ -248,9 +254,9 @@ private: status_t freeBuffer(OMX_U32 portIndex, size_t bufIndex); - void drainInputBuffer(IOMX::buffer_id buffer); + bool drainInputBuffer(IOMX::buffer_id buffer); void fillOutputBuffer(IOMX::buffer_id buffer); - void drainInputBuffer(BufferInfo *info); + bool drainInputBuffer(BufferInfo *info); void fillOutputBuffer(BufferInfo *info); void drainInputBuffers(); |