Move (some) codecs into the codec process
Encoders and secure decoders still run in the mediaserver, while
all other codecs run in a separate codec process.
Bug: 22775369
Change-Id: Ie2ac87d53edbcf7c8f46a68a15857c9940f6d00d
diff --git a/media/libmedia/IOMX.cpp b/media/libmedia/IOMX.cpp
index 9a7dff6..b9ee91a 100644
--- a/media/libmedia/IOMX.cpp
+++ b/media/libmedia/IOMX.cpp
@@ -98,7 +98,9 @@
}
virtual status_t allocateNode(
- const char *name, const sp<IOMXObserver> &observer, node_id *node) {
+ const char *name, const sp<IOMXObserver> &observer,
+ sp<IBinder> *nodeBinder,
+ node_id *node) {
Parcel data, reply;
data.writeInterfaceToken(IOMX::getInterfaceDescriptor());
data.writeCString(name);
@@ -108,6 +110,9 @@
status_t err = reply.readInt32();
if (err == OK) {
*node = (node_id)reply.readInt32();
+ if (nodeBinder != NULL) {
+ *nodeBinder = remote();
+ }
} else {
*node = 0;
}
@@ -656,7 +661,8 @@
node_id node;
- status_t err = allocateNode(name, observer, &node);
+ status_t err = allocateNode(name, observer,
+ NULL /* nodeBinder */, &node);
reply->writeInt32(err);
if (err == OK) {
reply->writeInt32((int32_t)node);