diff options
| author | 2010-12-07 14:25:54 -0800 | |
|---|---|---|
| committer | 2010-12-08 09:07:28 -0800 | |
| commit | bbbcf65532c905b71f5c731551b15e9bd2fc26e0 (patch) | |
| tree | 3d0f06349105f88a071c6bb352b8d2b18da06daa /include | |
| parent | b0fa4f2c6f20a873370d9d50d9f77a4ea705270d (diff) | |
Better buffer status management and verification in OMXCodec.
Change-Id: I90410f2ac0d8ff86076a239dc6e281b1bc4d8643
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 0aba347264dc..d37c22d68574 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(); |