diff options
author | Ronghua Wu <ronghuawu@google.com> | 2015-04-23 15:24:25 -0700 |
---|---|---|
committer | Ronghua Wu <ronghuawu@google.com> | 2015-04-23 18:03:30 -0700 |
commit | 8f9dd872366f54b6260506c75c3d0cc3f9f73f81 (patch) | |
tree | 6b20eb7ca59c4c40936e27806f5d76bce005b146 /media | |
parent | 1ac91ed2c67245ea5052182212463d3f0afe8b5a (diff) | |
download | frameworks_av-8f9dd872366f54b6260506c75c3d0cc3f9f73f81.zip frameworks_av-8f9dd872366f54b6260506c75c3d0cc3f9f73f81.tar.gz frameworks_av-8f9dd872366f54b6260506c75c3d0cc3f9f73f81.tar.bz2 |
mediaresourcemanager: add dumpsys support.
Bug: 20233206
Change-Id: Ic253985e408b05b488e87cd5c50c0d619ac568ef
Diffstat (limited to 'media')
-rw-r--r-- | media/libmedia/IResourceManagerClient.cpp | 20 | ||||
-rw-r--r-- | media/libstagefright/MediaCodec.cpp | 15 |
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 93864e4..be3d219 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() {} |