From efbb781c15abf8e085f5ab8d39710bd58ea0b6e4 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Tue, 18 Sep 2012 10:36:32 -0700 Subject: HDCP module binderized Change-Id: I866768b1e3f3b232f1934a35b65f66befc12f3f6 --- media/libmedia/IMediaPlayerService.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'media/libmedia/IMediaPlayerService.cpp') diff --git a/media/libmedia/IMediaPlayerService.cpp b/media/libmedia/IMediaPlayerService.cpp index c2ec439..c702d76 100644 --- a/media/libmedia/IMediaPlayerService.cpp +++ b/media/libmedia/IMediaPlayerService.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -41,6 +42,7 @@ enum { CREATE_METADATA_RETRIEVER, GET_OMX, MAKE_CRYPTO, + MAKE_HDCP, ENABLE_REMOTE_DISPLAY, ADD_BATTERY_DATA, PULL_BATTERY_DATA, @@ -125,6 +127,13 @@ public: return interface_cast(reply.readStrongBinder()); } + virtual sp makeHDCP() { + Parcel data, reply; + data.writeInterfaceToken(IMediaPlayerService::getInterfaceDescriptor()); + remote()->transact(MAKE_HDCP, data, &reply); + return interface_cast(reply.readStrongBinder()); + } + virtual status_t enableRemoteDisplay(const char *iface) { Parcel data, reply; data.writeInterfaceToken(IMediaPlayerService::getInterfaceDescriptor()); @@ -237,6 +246,12 @@ status_t BnMediaPlayerService::onTransact( reply->writeStrongBinder(crypto->asBinder()); return NO_ERROR; } break; + case MAKE_HDCP: { + CHECK_INTERFACE(IMediaPlayerService, data, reply); + sp hdcp = makeHDCP(); + reply->writeStrongBinder(hdcp->asBinder()); + return NO_ERROR; + } break; case ENABLE_REMOTE_DISPLAY: { CHECK_INTERFACE(IMediaPlayerService, data, reply); const char *iface = NULL; -- cgit v1.1