diff options
Diffstat (limited to 'drm/mediadrm/plugins/clearkey/CryptoPlugin.cpp')
-rw-r--r-- | drm/mediadrm/plugins/clearkey/CryptoPlugin.cpp | 16 |
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 |