summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-12-08 09:09:25 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-12-08 09:09:25 -0800
commitf69583cde5e4e8c3337c2196f8102f987ef9ea61 (patch)
treee3f030006ee8a7c976ed0b4dcb7e1419d8a782d8 /include
parent5e17a1a18c47d2e37e8b93582caa30d147924293 (diff)
parentbbbcf65532c905b71f5c731551b15e9bd2fc26e0 (diff)
downloadframeworks_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.h14
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();