Docs: Adding new diagram images
Adding new images for TV and HAL components. Minor edits to adjust image float/flow.
Adding new images for DRM. Minor edits to correct orphans.
Adding changes to audio diagram
Bug: 18947698
Change-Id: I7bf808fc0bbd99a8fa77f333f933a88a4942bf80
diff --git a/src/devices/drm.jd b/src/devices/drm.jd
index 9a7c673..4403a71 100644
--- a/src/devices/drm.jd
+++ b/src/devices/drm.jd
@@ -2,7 +2,7 @@
@jd:body
<!--
- Copyright 2014 The Android Open Source Project
+ Copyright 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -25,6 +25,8 @@
</div>
</div>
+<img style="float: right; margin: 0px 15px 15px 0px;" src="images/ape_fwk_hal_drm.png" alt="Android DRM HAL icon" width="175" />
+
<p>This document provides an overview of the Android DRM framework, and
introduces the interfaces a DRM plug-in must implement. This document does not
describe robustness rules or compliance rules that may be defined by a DRM
@@ -46,18 +48,17 @@
href="https://developer.android.com/reference/android/media/MediaDrm.html">MediaDrm</a>
for the class to obtain keys for decrypting protected media streams.</p>
- <img src="images/drm_hal.png" alt="Android DRM HAL" />
+ <img src="images/ape_fwk_drm.png" alt="Android DRM HAL" />
-<p class="img-caption"><strong>Figure 1.</strong> DRM Hardware Abastraction
+<p class="img-caption"><strong>Figure 1.</strong> DRM Hardware Abstraction
Layer</p>
<p>
Availability of rich digital content is important to users on mobile devices. To
make their content widely available, Android developers and digital content
publishers need a consistent DRM implementation supported across the Android
-ecosystem. In order to make that digital content available on Android devices
-and to ensure that there is at least one consistent DRM available across all
-devices, Google provides DRM without any license fees on compatible Android devices.
+ecosystem. To make that digital content available on Android devices and to ensure at least one consistent DRM available across all
+devices, Google provides DRM without license fees on compatible Android devices.
On Android 3.0 and higher platforms, the DRM plug-in is integrated with the
Android DRM framework and can use hardware-backed protection to secure premium
content and user credentials.
@@ -96,13 +97,13 @@
for various DRM schemes.</li>
</ul>
- <img src="images/drm_framework.png" alt="Android DRM Framework" />
+ <img src="images/ape_fwk_drm_2.png" alt="Android DRM Framework" />
<p class="img-caption"><strong>Figure 2.</strong> DRM framework</p>
-<p>See the <a
+<p>For details, refer to the <a
href="http://developer.android.com/reference/android/drm/package-summary.html">Android
-DRM package reference</a> for additional details.</p>
+DRM package reference</a>.</p>
<h2 id="plug-ins">Plug-ins</h2>
<p>As shown in the figure below, the DRM framework uses a plug-in architecture
@@ -115,7 +116,7 @@
native modules. The caller of DRM framework accesses only the DrmManagerClient
and does not have to be aware of each DRM scheme. </p>
- <img src="images/drm_plugin.png" alt="Android DRM Plug-in" />
+ <img src="images/ape_fwk_drm_plugins.png" alt="Android DRM Plug-in" />
<p class="img-caption"><strong>Figure 3.</strong> DRM framework with plug-ins</p>
@@ -125,7 +126,7 @@
them under:<br/>
<code>/system/lib/drm/plugins/native/</code></p>
-<img src="images/drm_plugin_lifecycle.png" alt="Android DRM Plug-in Lifecycle" />
+<img src="images/ape_fwk_drm_plugins_life.png" alt="Android DRM Plug-in Lifecycle" />
<p class="img-caption"><strong>Figure 4.</strong> DRM plug-in lifecycle</p>
@@ -136,14 +137,13 @@
<h3 id="IDrmEngine">IDrmEngine</h3>
-<p>IDrmEngine is an interface with a set of APIs to suit DRM use cases. Plug-in
+<p>IDrmEngine is an interface with a set of APIs for DRM use cases. Plug-in
developers must implement the interfaces specified in IDrmEngine and the
-listener interfaces specified below. This document assumes the plug-in developer
-has access to the Android source tree. The interface definition is available in
-the source tree at:<br/>
+listener interfaces specified below. The interface definition is available in
+the source tree at:<p/>
<code>
-<<platform_root>/frameworks/base/drm/libdrmframework/plugins/common/include
-</code></p>
+<platform_root>/frameworks/base/drm/libdrmframework/plugins/common/include
+</code>
<h3 id="DrmInfo">DRM Info</h3>
<p>DrmInfo is a wrapper class that wraps the protocol for communicating with the
@@ -171,13 +171,15 @@
<code>int checkRightsStatus(int uniqueId, const String8& path, int
action);</code>
+
<p>Save DRM rights to the specified rights path and make association with content path.
-The input parameters are DrmRights to be saved, rights file path where rights
-are to be saved and content file path where content was saved.</p>
+The input parameters are the DrmRights to be saved, the rights file path where rights
+are to be saved, and the content file path where content was saved.</p>
<code>status_t saveRights(int uniqueId, const DrmRights& drmRights,
const String8& rightsPath, const String8&
contentPath);</code>
+
<p>Save DRM rights to specified rights path and make association with content
path.</p>
@@ -195,7 +197,7 @@
Unique identifier for a session and path of the protected content) are required.
The action, defined as Action::DEFAULT, Action::PLAY, etc., is also required.</p>
- <img src="images/drm_license_metadata.png" alt="Android DRM License Metadata" />
+ <img src="images/ape_fwk_drm_retrieve_license.png" alt="Android DRM License Metadata" />
<p class="img-caption"><strong>Figure 5.</strong> Retrieve license metadata</p>
@@ -204,7 +206,7 @@
protected content to return key-value pairs of metadata.</p>
<h3 id="metadata">Decrypt session</h3>
-<p>To maintain the decryption session, the caller of the DRM framework has to
+<p>To maintain the decryption session, the caller of the DRM framework must
invoke openDecryptSession() at the beginning of the decryption sequence.
openDecryptSession() asks each DRM plug-in if it can handle input DRM
content.</p>