summaryrefslogtreecommitdiffstats
path: root/drm/libdrmframework/plugins/common/include
diff options
context:
space:
mode:
authorTakeshi Aimi <aimitakeshi@gmail.com>2010-11-16 13:56:11 +0900
committerTakeshi Aimi <aimitakeshi@gmail.com>2010-11-19 22:02:51 +0900
commit3473846f64f5b28e1cbeb70ef5867073fc93159e (patch)
tree9651de1dd360d8d77d9d4a53a23ed1181845b93c /drm/libdrmframework/plugins/common/include
parentcf6a8d23345a6e54834e53b1eb7e465f3cb5e914 (diff)
downloadframeworks_av-3473846f64f5b28e1cbeb70ef5867073fc93159e.zip
frameworks_av-3473846f64f5b28e1cbeb70ef5867073fc93159e.tar.gz
frameworks_av-3473846f64f5b28e1cbeb70ef5867073fc93159e.tar.bz2
Update of DRM Framework.
-Access permission handling Introduce an internal function which allows the desired process to access decryption flow. This new function is just for reference and each OEM manufacturer should implement/replace with their solutions. -New API, getMetadata() This API is for retrieving media metadata from container-based DRM, such as OMA forward-lock content. This API asks DRM agent to retrieve media metadata hiddein inside of DRM special container. -New API, acquireRights() This API wraps acquireDrmInfo() and processDrmInfo(). If DRM agent has valid implementation of both APIs, Application can acquire DrmRights only by calling this API. -Bug fix in event loop of OnInfoListener. Separate OnInfo event loop from mail thread loop so as to avoid the issue that message is not dispatched when mail thread is busy. Changes are made by SEMC and Sony. Change-Id: I04ee3e0988152a71e221f2256d83253749a29da0
Diffstat (limited to 'drm/libdrmframework/plugins/common/include')
-rw-r--r--drm/libdrmframework/plugins/common/include/DrmEngineBase.h14
-rw-r--r--drm/libdrmframework/plugins/common/include/IDrmEngine.h13
2 files changed, 27 insertions, 0 deletions
diff --git a/drm/libdrmframework/plugins/common/include/DrmEngineBase.h b/drm/libdrmframework/plugins/common/include/DrmEngineBase.h
index 5851af5..67b6355 100644
--- a/drm/libdrmframework/plugins/common/include/DrmEngineBase.h
+++ b/drm/libdrmframework/plugins/common/include/DrmEngineBase.h
@@ -36,6 +36,8 @@ public:
public:
DrmConstraints* getConstraints(int uniqueId, const String8* path, int action);
+ DrmMetadata* getMetadata(int uniqueId, const String8* path);
+
status_t initialize(int uniqueId);
status_t setOnInfoListener(int uniqueId, const IDrmEngine::OnInfoListener* infoListener);
@@ -117,6 +119,18 @@ protected:
int uniqueId, const String8* path, int action) = 0;
/**
+ * Get metadata information associated with input content
+ *
+ * @param[in] uniqueId Unique identifier for a session
+ * @param[in] path Path of the protected content
+ * @return DrmMetadata
+ * key-value pairs of metadata
+ * @note
+ * In case of error, return NULL
+ */
+ virtual DrmMetadata* onGetMetadata(int uniqueId, const String8* path) = 0;
+
+ /**
* Initialize plug-in
*
* @param[in] uniqueId Unique identifier for a session
diff --git a/drm/libdrmframework/plugins/common/include/IDrmEngine.h b/drm/libdrmframework/plugins/common/include/IDrmEngine.h
index cc03ef2..f839070 100644
--- a/drm/libdrmframework/plugins/common/include/IDrmEngine.h
+++ b/drm/libdrmframework/plugins/common/include/IDrmEngine.h
@@ -23,6 +23,7 @@ namespace android {
class DrmContentIds;
class DrmConstraints;
+class DrmMetadata;
class DrmRights;
class DrmInfo;
class DrmInfoStatus;
@@ -105,6 +106,18 @@ public:
int uniqueId, const String8* path, int action) = 0;
/**
+ * Get metadata information associated with input content
+ *
+ * @param[in] uniqueId Unique identifier for a session
+ * @param[in] path Path of the protected content
+ * @return DrmMetadata
+ * key-value pairs of metadata
+ * @note
+ * In case of error, return NULL
+ */
+ virtual DrmMetadata* getMetadata(int uniqueId, const String8* path) = 0;
+
+ /**
* Get whether the given content can be handled by this plugin or not
*
* @param[in] uniqueId Unique identifier for a session