Use HIDL's memory for shared memory and add wrapper interfaces for
IGraphicBufferProducer.
Test: Compiles
Bug: 31399200
Change-Id: I17a3b1c8f20e9c11474761d120edd2e75353cc6d
diff --git a/media/omx/1.0/IOmx.hal b/media/omx/1.0/IOmx.hal
index e9f0b76..acb1aae 100644
--- a/media/omx/1.0/IOmx.hal
+++ b/media/omx/1.0/IOmx.hal
@@ -20,6 +20,8 @@
import IOmxNode;
import IOmxObserver;
+import IOmxBufferProducer;
+import IGraphicBufferSource;
/**
* Ref: frameworks/av/include/media/IOMX.h: IOMX
@@ -32,15 +34,15 @@
* Information for an IOmxNode component.
*/
struct ComponentInfo {
- string mName; //< Name of the component.
- vec<string> mRoles; //< Roles of the component.
+ string mName;
+ vec<string> mRoles;
};
/**
* List available components.
*
- * @param[out] status will be the status of the call.
- * @param[out] nodeList will be a list of ComponentInfo.
+ * @param[out] status The status of the call.
+ * @param[out] nodeList The list of ComponentInfo.
*/
listNodes(
) generates (
@@ -51,11 +53,11 @@
/**
* Allocate an IOmxNode instance with the specified component name.
*
- * @param[in] name is the name of the component to create.
- * @param[in] observer is an observer object that will receive messages from
+ * @param[in] name The name of the component to create.
+ * @param[in] observer An observer object that will receive messages from
* the created instance.
- * @param[out] status will be the status of the call.
- * @param[out] omxNode will be the allocated instance of IOmxNode.
+ * @param[out] status The status of the call.
+ * @param[out] omxNode The allocated instance of IOmxNode.
*/
allocateNode(
string name,
@@ -65,5 +67,17 @@
IOmxNode omxNode
);
+ /**
+ * Create an input surface for recording.
+ *
+ * @param[out] producer The associated producer end of the buffer queue.
+ * @param[out] source The associated `IGraphicBufferSource`.
+ */
+ createInputSurface(
+ ) generates (
+ Status status,
+ IOmxBufferProducer producer,
+ IGraphicBufferSource source
+ );
};