diff options
author | Jeff Tinker <jtinker@google.com> | 2013-02-08 10:18:35 -0800 |
---|---|---|
committer | Jeff Tinker <jtinker@google.com> | 2013-03-13 13:39:48 -0700 |
commit | cc82dc6d500023eba6048616301a4b12682458db (patch) | |
tree | 1f36f887af92cb4bee147e962b85ce10f35d587a /media/libmedia/IMediaPlayerService.cpp | |
parent | c93484ab9fdf044fd32f2388a3ce29040d2ba319 (diff) | |
download | frameworks_av-cc82dc6d500023eba6048616301a4b12682458db.zip frameworks_av-cc82dc6d500023eba6048616301a4b12682458db.tar.gz frameworks_av-cc82dc6d500023eba6048616301a4b12682458db.tar.bz2 |
Implementing MediaDrm APIs
Change-Id: I9ff8eeb7d0c383b5c0c68cd54eb54ce7d2d22fe6
Diffstat (limited to 'media/libmedia/IMediaPlayerService.cpp')
-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 a95f4c9..e1ce5a9 100644 --- a/media/libmedia/IMediaPlayerService.cpp +++ b/media/libmedia/IMediaPlayerService.cpp @@ -21,6 +21,7 @@ #include <binder/Parcel.h> #include <binder/IMemory.h> #include <media/ICrypto.h> +#include <media/IDrm.h> #include <media/IHDCP.h> #include <media/IMediaPlayerService.h> #include <media/IMediaRecorder.h> @@ -42,6 +43,7 @@ enum { CREATE_METADATA_RETRIEVER, GET_OMX, MAKE_CRYPTO, + MAKE_DRM, MAKE_HDCP, ADD_BATTERY_DATA, PULL_BATTERY_DATA, @@ -123,6 +125,13 @@ public: return interface_cast<ICrypto>(reply.readStrongBinder()); } + virtual sp<IDrm> makeDrm() { + Parcel data, reply; + data.writeInterfaceToken(IMediaPlayerService::getInterfaceDescriptor()); + remote()->transact(MAKE_DRM, data, &reply); + return interface_cast<IDrm>(reply.readStrongBinder()); + } + virtual sp<IHDCP> makeHDCP(bool createEncryptionModule) { Parcel data, reply; data.writeInterfaceToken(IMediaPlayerService::getInterfaceDescriptor()); @@ -225,6 +234,12 @@ status_t BnMediaPlayerService::onTransact( reply->writeStrongBinder(crypto->asBinder()); return NO_ERROR; } break; + case MAKE_DRM: { + CHECK_INTERFACE(IMediaPlayerService, data, reply); + sp<IDrm> drm = makeDrm(); + reply->writeStrongBinder(drm->asBinder()); + return NO_ERROR; + } break; case MAKE_HDCP: { CHECK_INTERFACE(IMediaPlayerService, data, reply); bool createEncryptionModule = data.readInt32(); |