diff options
author | Lajos Molnar <lajos@google.com> | 2014-08-07 15:18:35 -0700 |
---|---|---|
committer | Lajos Molnar <lajos@google.com> | 2014-08-07 17:40:13 -0700 |
commit | 1381d4b5c0385aec3741073e5998773b064c1fb0 (patch) | |
tree | 6087b737255d34703a90d1952d48bb97646e492a /media/libmedia | |
parent | 60b1c0e79d12a1c70758bc8d060156924635f8ba (diff) | |
download | frameworks_av-1381d4b5c0385aec3741073e5998773b064c1fb0.zip frameworks_av-1381d4b5c0385aec3741073e5998773b064c1fb0.tar.gz frameworks_av-1381d4b5c0385aec3741073e5998773b064c1fb0.tar.bz2 |
media/playerservice: add getCodecList() to MediaPlayerService
Bug: 11990470
Change-Id: I8fa45946fd9b76f9b975fc59062819c57e6881ef
Diffstat (limited to 'media/libmedia')
-rw-r--r-- | media/libmedia/IMediaPlayerService.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/media/libmedia/IMediaPlayerService.cpp b/media/libmedia/IMediaPlayerService.cpp index d116b14..2e02d17 100644 --- a/media/libmedia/IMediaPlayerService.cpp +++ b/media/libmedia/IMediaPlayerService.cpp @@ -23,6 +23,7 @@ #include <media/ICrypto.h> #include <media/IDrm.h> #include <media/IHDCP.h> +#include <media/IMediaCodecList.h> #include <media/IMediaHTTPService.h> #include <media/IMediaPlayerService.h> #include <media/IMediaRecorder.h> @@ -49,6 +50,7 @@ enum { ADD_BATTERY_DATA, PULL_BATTERY_DATA, LISTEN_FOR_REMOTE_DISPLAY, + GET_CODEC_LIST, }; class BpMediaPlayerService: public BpInterface<IMediaPlayerService> @@ -191,6 +193,13 @@ public: remote()->transact(LISTEN_FOR_REMOTE_DISPLAY, data, &reply); return interface_cast<IRemoteDisplay>(reply.readStrongBinder()); } + + virtual sp<IMediaCodecList> getCodecList() const { + Parcel data, reply; + data.writeInterfaceToken(IMediaPlayerService::getInterfaceDescriptor()); + remote()->transact(GET_CODEC_LIST, data, &reply); + return interface_cast<IMediaCodecList>(reply.readStrongBinder()); + } }; IMPLEMENT_META_INTERFACE(MediaPlayerService, "android.media.IMediaPlayerService"); @@ -318,6 +327,12 @@ status_t BnMediaPlayerService::onTransact( reply->writeStrongBinder(display->asBinder()); return NO_ERROR; } break; + case GET_CODEC_LIST: { + CHECK_INTERFACE(IMediaPlayerService, data, reply); + sp<IMediaCodecList> mcl = getCodecList(); + reply->writeStrongBinder(mcl->asBinder()); + return NO_ERROR; + } break; default: return BBinder::onTransact(code, data, reply, flags); } |