diff options
Diffstat (limited to 'drm/1.1/README.md')
-rw-r--r-- | drm/1.1/README.md | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/drm/1.1/README.md b/drm/1.1/README.md new file mode 100644 index 00000000..e88e6abc --- /dev/null +++ b/drm/1.1/README.md | |||
@@ -0,0 +1,84 @@ | |||
1 | # VINTF Device Manifest | ||
2 | |||
3 | In Android Pie, an `<fqname>` tag was introduced to be able to express multiple | ||
4 | different versions of the same HAL in VINTF manifests (for DRM) | ||
5 | in device manifest. For devices launching with previous versions of Android and | ||
6 | upgrading to Android Pie, the device manifest must not use `<fqname>` to | ||
7 | satisfy requirements for non-optional HALs, because older version of `libvintf` | ||
8 | do not recognize it, causing errors during OTA update. | ||
9 | |||
10 | Assuming that the HAL provides `@1.0::I*/default`, | ||
11 | `@1.1::I*/clearkey` and `@1.1::I*/foo` instances: | ||
12 | |||
13 | ## Devices upgrading to Android Pie | ||
14 | |||
15 | ### `target-level=1` or `target-level=2` | ||
16 | |||
17 | FCM (framework compatibility matrix) version 2 (released in Android Oreo MR1) | ||
18 | requires DRM 1.0. If the new device manifest has Target FCM Version (i.e. | ||
19 | `target-level`) 1 or 2, it should use the following snippet: | ||
20 | |||
21 | ```xml | ||
22 | <hal format="hidl"> | ||
23 | <name>android.hardware.drm</name> | ||
24 | <transport>hwbinder</transport> | ||
25 | <version>1.0</version> | ||
26 | <interface> | ||
27 | <name>ICryptoFactory</name> | ||
28 | <instance>default</instance> | ||
29 | </interface> | ||
30 | <interface> | ||
31 | <name>IDrmFactory</name> | ||
32 | <instance>default</instance> | ||
33 | </interface> | ||
34 | <fqname>@1.1::ICryptoFactory/clearkey</fqname> | ||
35 | <fqname>@1.1::IDrmFactory/clearkey</fqname> | ||
36 | <fqname>@1.1::ICryptoFactory/foo</fqname> | ||
37 | <fqname>@1.1::IDrmFactory/foo</fqname> | ||
38 | </hal> | ||
39 | ``` | ||
40 | |||
41 | ### `target-level=3` | ||
42 | |||
43 | FCM (framework compatibility matrix) version 3 (released in Android Pie) | ||
44 | requires DRM 1.1. If the new device manifest has Target FCM Version (i.e. | ||
45 | `target-level`) 3, it should use the following snippet: | ||
46 | |||
47 | |||
48 | ```xml | ||
49 | <hal format="hidl"> | ||
50 | <name>android.hardware.drm</name> | ||
51 | <transport>hwbinder</transport> | ||
52 | <version>1.1</version> | ||
53 | <interface> | ||
54 | <name>ICryptoFactory</name> | ||
55 | <instance>clearkey</instance> | ||
56 | <instance>foo</instance> | ||
57 | </interface> | ||
58 | <interface> | ||
59 | <name>IDrmFactory</name> | ||
60 | <instance>clearkey</instance> | ||
61 | <instance>foo</instance> | ||
62 | </interface> | ||
63 | <fqname>@1.0::ICryptoFactory/default</fqname> | ||
64 | <fqname>@1.0::IDrmFactory/default</fqname> | ||
65 | </hal> | ||
66 | ``` | ||
67 | |||
68 | ## Devices launching with Android Pie | ||
69 | If you have a new device launched with Android Pie (no OTA), both of the | ||
70 | aforementioned snippets can be used. Besides, it is recommended to use the | ||
71 | new, clearer format: | ||
72 | |||
73 | ```xml | ||
74 | <hal format="hidl"> | ||
75 | <name>android.hardware.drm</name> | ||
76 | <transport>hwbinder</transport> | ||
77 | <fqname>@1.0::ICryptoFactory/default</fqname> | ||
78 | <fqname>@1.0::IDrmFactory/default</fqname> | ||
79 | <fqname>@1.1::ICryptoFactory/clearkey</fqname> | ||
80 | <fqname>@1.1::IDrmFactory/clearkey</fqname> | ||
81 | <fqname>@1.1::ICryptoFactory/foo</fqname> | ||
82 | <fqname>@1.1::IDrmFactory/foo</fqname> | ||
83 | </hal> | ||
84 | ``` | ||