From d291c222357303b9611cab89d0c3b047584ef377 Mon Sep 17 00:00:00 2001 From: Chong Zhang Date: Thu, 30 Apr 2015 18:15:52 -0700 Subject: MediaCodec: implement persistent input surface APIs Bug: 19127604 Bug: 19489395 Change-Id: Idaf1cc9008016f66903e93907a676f54e342e1a3 --- media/libstagefright/include/OMX.h | 8 ++++++++ media/libstagefright/include/OMXNodeInstance.h | 9 +++++++++ 2 files changed, 17 insertions(+) (limited to 'media/libstagefright/include') diff --git a/media/libstagefright/include/OMX.h b/media/libstagefright/include/OMX.h index b5487fa..b1ee628 100644 --- a/media/libstagefright/include/OMX.h +++ b/media/libstagefright/include/OMX.h @@ -95,6 +95,14 @@ public: node_id node, OMX_U32 port_index, sp *bufferProducer); + virtual status_t createPersistentInputSurface( + sp *bufferProducer, + sp *bufferConsumer); + + virtual status_t usePersistentInputSurface( + node_id node, OMX_U32 port_index, + const sp &bufferConsumer); + virtual status_t signalEndOfInputStream(node_id node); virtual status_t allocateBuffer( diff --git a/media/libstagefright/include/OMXNodeInstance.h b/media/libstagefright/include/OMXNodeInstance.h index d87b408..f31af7b 100644 --- a/media/libstagefright/include/OMXNodeInstance.h +++ b/media/libstagefright/include/OMXNodeInstance.h @@ -81,6 +81,13 @@ struct OMXNodeInstance { status_t createInputSurface( OMX_U32 portIndex, sp *bufferProducer); + static status_t createPersistentInputSurface( + sp *bufferProducer, + sp *bufferConsumer); + + status_t usePersistentInputSurface( + OMX_U32 portIndex, const sp &bufferConsumer); + status_t signalEndOfInputStream(); status_t allocateBuffer( @@ -202,6 +209,8 @@ private: OMX_BUFFERHEADERTYPE *header, OMX_U32 flags, OMX_TICKS timestamp, intptr_t debugAddr); + status_t createGraphicBufferSource( + OMX_U32 portIndex, sp consumer = NULL); sp getGraphicBufferSource(); void setGraphicBufferSource(const sp& bufferSource); -- cgit v1.1