summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/omx/OMX.cpp
diff options
context:
space:
mode:
authorAndy McFadden <fadden@android.com>2013-02-19 07:28:30 -0800
committerAndy McFadden <fadden@android.com>2013-03-04 15:03:53 -0800
commit7cd58537932ef6f481f68be0b9c597a89cebdfec (patch)
tree02a57bed3a2de95c9eac0375cb282c6ad85a5eea /media/libstagefright/omx/OMX.cpp
parentbf04b5860182d8f4130dcb5d6d88ee68a58c99cd (diff)
downloadframeworks_av-7cd58537932ef6f481f68be0b9c597a89cebdfec.zip
frameworks_av-7cd58537932ef6f481f68be0b9c597a89cebdfec.tar.gz
frameworks_av-7cd58537932ef6f481f68be0b9c597a89cebdfec.tar.bz2
Implement Surface input to MediaCodec.
Also, renamed a CHECK_INTERFACE macro that was clashing with the Binder version. Bug 7991062 Change-Id: If5e6ed0a06d9f67975497676e4b05abe3aa3d6c0
Diffstat (limited to 'media/libstagefright/omx/OMX.cpp')
-rw-r--r--media/libstagefright/omx/OMX.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/media/libstagefright/omx/OMX.cpp b/media/libstagefright/omx/OMX.cpp
index 29bc733..3987ead 100644
--- a/media/libstagefright/omx/OMX.cpp
+++ b/media/libstagefright/omx/OMX.cpp
@@ -345,6 +345,17 @@ status_t OMX::useGraphicBuffer(
port_index, graphicBuffer, buffer);
}
+status_t OMX::createInputSurface(
+ node_id node, OMX_U32 port_index,
+ sp<IGraphicBufferProducer> *bufferProducer) {
+ return findInstance(node)->createInputSurface(
+ port_index, bufferProducer);
+}
+
+status_t OMX::signalEndOfInputStream(node_id node) {
+ return findInstance(node)->signalEndOfInputStream();
+}
+
status_t OMX::allocateBuffer(
node_id node, OMX_U32 port_index, size_t size,
buffer_id *buffer, void **buffer_data) {
@@ -393,6 +404,9 @@ OMX_ERRORTYPE OMX::OnEvent(
OMX_IN OMX_PTR pEventData) {
ALOGV("OnEvent(%d, %ld, %ld)", eEvent, nData1, nData2);
+ // Forward to OMXNodeInstance.
+ findInstance(node)->onEvent(eEvent, nData1, nData2);
+
omx_message msg;
msg.type = omx_message::EVENT;
msg.node = node;