summaryrefslogtreecommitdiffstats
path: root/drm/mediadrm/plugins/clearkey/hidl/DrmPlugin.cpp
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2018-02-10 03:28:04 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-02-10 03:28:04 +0000
commitfa84ada543c66b83e8328dc9bdf4982394fa4347 (patch)
tree05cb67d957ee0b3f7f193df6914b4d6aa487fb8b /drm/mediadrm/plugins/clearkey/hidl/DrmPlugin.cpp
parentd0e0b1a1262c80e71fa2a1bb0f4880389b1e985b (diff)
parent56134cc9e790f39b3b10a18b701b0607c20b6154 (diff)
downloadframeworks_av-fa84ada543c66b83e8328dc9bdf4982394fa4347.tar.gz
frameworks_av-fa84ada543c66b83e8328dc9bdf4982394fa4347.tar.bz2
frameworks_av-fa84ada543c66b83e8328dc9bdf4982394fa4347.zip
Merge "Fix MediaDrm security level APIs"
Diffstat (limited to 'drm/mediadrm/plugins/clearkey/hidl/DrmPlugin.cpp')
-rw-r--r--drm/mediadrm/plugins/clearkey/hidl/DrmPlugin.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/drm/mediadrm/plugins/clearkey/hidl/DrmPlugin.cpp b/drm/mediadrm/plugins/clearkey/hidl/DrmPlugin.cpp
index ec75896d2e..d921d9e3bf 100644
--- a/drm/mediadrm/plugins/clearkey/hidl/DrmPlugin.cpp
+++ b/drm/mediadrm/plugins/clearkey/hidl/DrmPlugin.cpp
@@ -73,12 +73,24 @@ void DrmPlugin::initProperties() {
mByteArrayProperties[kMetricsKey] = valueVector;
}
+
Return<void> DrmPlugin::openSession(openSession_cb _hidl_cb) {
sp<Session> session = mSessionLibrary->createSession();
std::vector<uint8_t> sessionId = session->sessionId();
- setSecurityLevel(sessionId, SecurityLevel::SW_SECURE_CRYPTO);
- _hidl_cb(Status::OK, toHidlVec(sessionId));
+ Status status = setSecurityLevel(sessionId, SecurityLevel::SW_SECURE_CRYPTO);
+ _hidl_cb(status, toHidlVec(sessionId));
+ mOpenSessionOkCount++;
+ return Void();
+}
+
+Return<void> DrmPlugin::openSession_1_1(SecurityLevel securityLevel,
+ openSession_1_1_cb _hidl_cb) {
+ sp<Session> session = mSessionLibrary->createSession();
+ std::vector<uint8_t> sessionId = session->sessionId();
+
+ Status status = setSecurityLevel(sessionId, securityLevel);
+ _hidl_cb(status, toHidlVec(sessionId));
mOpenSessionOkCount++;
return Void();
}
@@ -344,8 +356,8 @@ Return<Status> DrmPlugin::setSecurityLevel(const hidl_vec<uint8_t>& sessionId,
return Status::BAD_VALUE;
}
- if (level > SecurityLevel::HW_SECURE_ALL) {
- ALOGE("Cannot set invalid security level");
+ if (level > SecurityLevel::SW_SECURE_CRYPTO) {
+ ALOGE("Cannot set security level > max");
return Status::BAD_VALUE;
}