diff options
author | Andreas Huber <andih@google.com> | 2010-01-20 15:05:46 -0800 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2010-01-20 15:05:46 -0800 |
commit | c712b9fe2859435ce142b90ddcb46c5bed33eea8 (patch) | |
tree | 945f8e980662cc7bbad93e603d3c038d5d04ede1 /include | |
parent | 918007b75539f5eabfd173a369c2da628c607ba7 (diff) | |
download | frameworks_base-c712b9fe2859435ce142b90ddcb46c5bed33eea8.zip frameworks_base-c712b9fe2859435ce142b90ddcb46c5bed33eea8.tar.gz frameworks_base-c712b9fe2859435ce142b90ddcb46c5bed33eea8.tar.bz2 |
Fix no-copy-overhead OMXCodec implementation to actually work.
Diffstat (limited to 'include')
-rw-r--r-- | include/media/IOMX.h | 6 | ||||
-rw-r--r-- | include/media/stagefright/OMXCodec.h | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/include/media/IOMX.h b/include/media/IOMX.h index d38c177..bb7677d 100644 --- a/include/media/IOMX.h +++ b/include/media/IOMX.h @@ -82,9 +82,13 @@ public: node_id node, OMX_U32 port_index, const sp<IMemory> ¶ms, buffer_id *buffer) = 0; + // This API clearly only makes sense if the caller lives in the + // same process as the callee, i.e. is the media_server, as the + // returned "buffer_data" pointer is just that, a pointer into local + // address space. virtual status_t allocateBuffer( node_id node, OMX_U32 port_index, size_t size, - buffer_id *buffer) = 0; + buffer_id *buffer, void **buffer_data) = 0; virtual status_t allocateBufferWithBackup( node_id node, OMX_U32 port_index, const sp<IMemory> ¶ms, diff --git a/include/media/stagefright/OMXCodec.h b/include/media/stagefright/OMXCodec.h index 2c32386..ac2f662 100644 --- a/include/media/stagefright/OMXCodec.h +++ b/include/media/stagefright/OMXCodec.h @@ -100,6 +100,8 @@ private: IOMX::buffer_id mBuffer; bool mOwnedByComponent; sp<IMemory> mMem; + size_t mSize; + void *mData; MediaBuffer *mMediaBuffer; }; |