diff options
author | Andreas Huber <andih@google.com> | 2010-12-07 14:25:54 -0800 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2010-12-08 09:07:28 -0800 |
commit | bbbcf65532c905b71f5c731551b15e9bd2fc26e0 (patch) | |
tree | 3d0f06349105f88a071c6bb352b8d2b18da06daa /include/media | |
parent | b0fa4f2c6f20a873370d9d50d9f77a4ea705270d (diff) | |
download | frameworks_base-bbbcf65532c905b71f5c731551b15e9bd2fc26e0.zip frameworks_base-bbbcf65532c905b71f5c731551b15e9bd2fc26e0.tar.gz frameworks_base-bbbcf65532c905b71f5c731551b15e9bd2fc26e0.tar.bz2 |
Better buffer status management and verification in OMXCodec.
Change-Id: I90410f2ac0d8ff86076a239dc6e281b1bc4d8643
Diffstat (limited to 'include/media')
-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(); |