summaryrefslogtreecommitdiffstats
path: root/drm/mediadrm/plugins/clearkey/CryptoPlugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'drm/mediadrm/plugins/clearkey/CryptoPlugin.cpp')
-rw-r--r--drm/mediadrm/plugins/clearkey/CryptoPlugin.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/drm/mediadrm/plugins/clearkey/CryptoPlugin.cpp b/drm/mediadrm/plugins/clearkey/CryptoPlugin.cpp
index adad136..53cbf80 100644
--- a/drm/mediadrm/plugins/clearkey/CryptoPlugin.cpp
+++ b/drm/mediadrm/plugins/clearkey/CryptoPlugin.cpp
@@ -19,9 +19,9 @@
#include <utils/Log.h>
#include <media/stagefright/MediaErrors.h>
-#include <utils/Errors.h>
#include "CryptoPlugin.h"
+#include "SessionLibrary.h"
namespace clearkeydrm {
@@ -80,4 +80,18 @@ ssize_t CryptoPlugin::decrypt(bool secure, const KeyId keyId, const Iv iv,
}
}
+android::status_t CryptoPlugin::setMediaDrmSession(
+ const android::Vector<uint8_t>& sessionId) {
+ if (!sessionId.size()) {
+ mSession.clear();
+ } else {
+ mSession = SessionLibrary::get()->findSession(sessionId);
+ if (!mSession.get()) {
+ return android::ERROR_DRM_SESSION_NOT_OPENED;
+ }
+ }
+ return android::OK;
+}
+
+
} // namespace clearkeydrm