summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorRonghua Wu <ronghuawu@google.com>2015-04-24 21:35:37 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-04-24 21:35:38 +0000
commit21db57282da8b3daba1549f3a8e41c4fbaf80059 (patch)
tree2c51b5f8ffe7015ffdc3fdaf19bd36982546bf89 /media
parent7d7ea036436320b03bef826d78c4c035b67edbd0 (diff)
parent8f9dd872366f54b6260506c75c3d0cc3f9f73f81 (diff)
downloadframeworks_av-21db57282da8b3daba1549f3a8e41c4fbaf80059.zip
frameworks_av-21db57282da8b3daba1549f3a8e41c4fbaf80059.tar.gz
frameworks_av-21db57282da8b3daba1549f3a8e41c4fbaf80059.tar.bz2
Merge "mediaresourcemanager: add dumpsys support."
Diffstat (limited to 'media')
-rw-r--r--media/libmedia/IResourceManagerClient.cpp20
-rw-r--r--media/libstagefright/MediaCodec.cpp15
2 files changed, 35 insertions, 0 deletions
diff --git a/media/libmedia/IResourceManagerClient.cpp b/media/libmedia/IResourceManagerClient.cpp
index 6fa56fc..b3f56e8 100644
--- a/media/libmedia/IResourceManagerClient.cpp
+++ b/media/libmedia/IResourceManagerClient.cpp
@@ -25,6 +25,7 @@ namespace android {
enum {
RECLAIM_RESOURCE = IBinder::FIRST_CALL_TRANSACTION,
+ GET_NAME,
};
class BpResourceManagerClient: public BpInterface<IResourceManagerClient>
@@ -46,6 +47,19 @@ public:
}
return ret;
}
+
+ virtual String8 getName() {
+ Parcel data, reply;
+ data.writeInterfaceToken(IResourceManagerClient::getInterfaceDescriptor());
+
+ String8 ret;
+ status_t status = remote()->transact(GET_NAME, data, &reply);
+ if (status == NO_ERROR) {
+ ret = reply.readString8();
+ }
+ return ret;
+ }
+
};
IMPLEMENT_META_INTERFACE(ResourceManagerClient, "android.media.IResourceManagerClient");
@@ -62,6 +76,12 @@ status_t BnResourceManagerClient::onTransact(
reply->writeInt32(ret);
return NO_ERROR;
} break;
+ case GET_NAME: {
+ CHECK_INTERFACE(IResourceManagerClient, data, reply);
+ String8 ret = getName();
+ reply->writeString8(ret);
+ return NO_ERROR;
+ } break;
default:
return BBinder::onTransact(code, data, reply, flags);
}
diff --git a/media/libstagefright/MediaCodec.cpp b/media/libstagefright/MediaCodec.cpp
index 96b22c0..7065a6e 100644
--- a/media/libstagefright/MediaCodec.cpp
+++ b/media/libstagefright/MediaCodec.cpp
@@ -79,6 +79,21 @@ struct ResourceManagerClient : public BnResourceManagerClient {
return (err == OK);
}
+ virtual String8 getName() {
+ String8 ret;
+ sp<MediaCodec> codec = mMediaCodec.promote();
+ if (codec == NULL) {
+ // codec is already gone.
+ return ret;
+ }
+
+ AString name;
+ if (codec->getName(&name) == OK) {
+ ret.setTo(name.c_str());
+ }
+ return ret;
+ }
+
protected:
virtual ~ResourceManagerClient() {}