diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-02-10 03:28:04 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-02-10 03:28:04 +0000 |
| commit | fa84ada543c66b83e8328dc9bdf4982394fa4347 (patch) | |
| tree | 05cb67d957ee0b3f7f193df6914b4d6aa487fb8b /drm/mediadrm/plugins/clearkey/hidl/DrmPlugin.cpp | |
| parent | d0e0b1a1262c80e71fa2a1bb0f4880389b1e985b (diff) | |
| parent | 56134cc9e790f39b3b10a18b701b0607c20b6154 (diff) | |
| download | frameworks_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.cpp | 20 |
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; } |
