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 | 570a3cb7582daa030cb38eedc5eb6a06f86ecc7f (patch) | |
tree | 0c59c44899b4a3fbbe921171028fd193829affc7 /include/media | |
parent | dfaddcc81f27bb9de47edec469a4a5fb2309bd6a (diff) | |
download | frameworks_av-570a3cb7582daa030cb38eedc5eb6a06f86ecc7f.zip frameworks_av-570a3cb7582daa030cb38eedc5eb6a06f86ecc7f.tar.gz frameworks_av-570a3cb7582daa030cb38eedc5eb6a06f86ecc7f.tar.bz2 |
Fix no-copy-overhead OMXCodec implementation to actually work.
Diffstat (limited to 'include/media')
-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; }; |