summaryrefslogtreecommitdiffstats
path: root/media/libmedia/IMediaPlayerService.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2012-09-20 09:30:11 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-09-20 09:30:11 -0700
commitb88516c4c0695c4b9ea2feccd3aafef654da62bd (patch)
tree876b5b7f4586924f7b1f97db021f1aa35449e961 /media/libmedia/IMediaPlayerService.cpp
parentda1c5c15c2483cd41035e1a492c5963ac86bbcf5 (diff)
parentefbb781c15abf8e085f5ab8d39710bd58ea0b6e4 (diff)
downloadframeworks_av-b88516c4c0695c4b9ea2feccd3aafef654da62bd.zip
frameworks_av-b88516c4c0695c4b9ea2feccd3aafef654da62bd.tar.gz
frameworks_av-b88516c4c0695c4b9ea2feccd3aafef654da62bd.tar.bz2
Merge "HDCP module binderized" into jb-mr1-dev
Diffstat (limited to 'media/libmedia/IMediaPlayerService.cpp')
-rw-r--r--media/libmedia/IMediaPlayerService.cpp15
1 files changed, 15 insertions, 0 deletions
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 <binder/Parcel.h>
#include <binder/IMemory.h>
#include <media/ICrypto.h>
+#include <media/IHDCP.h>
#include <media/IMediaPlayerService.h>
#include <media/IMediaRecorder.h>
#include <media/IOMX.h>
@@ -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<ICrypto>(reply.readStrongBinder());
}
+ virtual sp<IHDCP> makeHDCP() {
+ Parcel data, reply;
+ data.writeInterfaceToken(IMediaPlayerService::getInterfaceDescriptor());
+ remote()->transact(MAKE_HDCP, data, &reply);
+ return interface_cast<IHDCP>(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<IHDCP> hdcp = makeHDCP();
+ reply->writeStrongBinder(hdcp->asBinder());
+ return NO_ERROR;
+ } break;
case ENABLE_REMOTE_DISPLAY: {
CHECK_INTERFACE(IMediaPlayerService, data, reply);
const char *iface = NULL;