summaryrefslogtreecommitdiffstats
path: root/media/libmedia
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2013-07-17 22:29:43 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-07-17 22:29:43 +0000
commit0b83a15d97f61d575a7cffbf42f9ed6edfa25ccc (patch)
treee912aa4e60bf32f870e95c6240c40e08343daee7 /media/libmedia
parent41f9f1ac03c8fd1dee92c33f304663c9ddc2fe5e (diff)
parente40cda70eec141fa05cbcca1de420fdb22b98be6 (diff)
downloadframeworks_av-0b83a15d97f61d575a7cffbf42f9ed6edfa25ccc.zip
frameworks_av-0b83a15d97f61d575a7cffbf42f9ed6edfa25ccc.tar.gz
frameworks_av-0b83a15d97f61d575a7cffbf42f9ed6edfa25ccc.tar.bz2
Merge "Support "suspension" of a video encoder in "surface-input" mode."
Diffstat (limited to 'media/libmedia')
-rw-r--r--media/libmedia/IOMX.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/media/libmedia/IOMX.cpp b/media/libmedia/IOMX.cpp
index d6cd43a..5bbb2f0 100644
--- a/media/libmedia/IOMX.cpp
+++ b/media/libmedia/IOMX.cpp
@@ -51,6 +51,7 @@ enum {
GET_EXTENSION_INDEX,
OBSERVER_ON_MSG,
GET_GRAPHIC_BUFFER_USAGE,
+ SET_INTERNAL_OPTION,
};
class BpOMX : public BpInterface<IOMX> {
@@ -439,6 +440,24 @@ public:
return err;
}
+
+ virtual status_t setInternalOption(
+ node_id node,
+ OMX_U32 port_index,
+ InternalOptionType type,
+ const void *optionData,
+ size_t size) {
+ Parcel data, reply;
+ data.writeInterfaceToken(IOMX::getInterfaceDescriptor());
+ data.writeIntPtr((intptr_t)node);
+ data.writeInt32(port_index);
+ data.writeInt32(size);
+ data.write(optionData, size);
+ data.writeInt32(type);
+ remote()->transact(SET_INTERNAL_OPTION, data, &reply);
+
+ return reply.readInt32();
+ }
};
IMPLEMENT_META_INTERFACE(OMX, "android.hardware.IOMX");
@@ -537,6 +556,7 @@ status_t BnOMX::onTransact(
case SET_PARAMETER:
case GET_CONFIG:
case SET_CONFIG:
+ case SET_INTERNAL_OPTION:
{
CHECK_OMX_INTERFACE(IOMX, data, reply);
@@ -562,6 +582,15 @@ status_t BnOMX::onTransact(
case SET_CONFIG:
err = setConfig(node, index, params, size);
break;
+ case SET_INTERNAL_OPTION:
+ {
+ InternalOptionType type =
+ (InternalOptionType)data.readInt32();
+
+ err = setInternalOption(node, index, type, params, size);
+ break;
+ }
+
default:
TRESPASS();
}