diff options
author | Yifan Hong <elsk@google.com> | 2018-10-26 14:30:49 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-10-26 14:30:49 -0700 |
commit | 438cc30a06f45975b7aad54af4a1cbb1747d221a (patch) | |
tree | 91e44de456731f357d160fc8bdf460f4be711d5a /drm | |
parent | 3c66fe3f641f36c621c4ceb99ee4c370369ef261 (diff) | |
parent | adf20184923ac51e9b5fd57a6117fb8069fdaa4e (diff) | |
download | android_hardware_interfaces-438cc30a06f45975b7aad54af4a1cbb1747d221a.tar.gz android_hardware_interfaces-438cc30a06f45975b7aad54af4a1cbb1747d221a.tar.bz2 android_hardware_interfaces-438cc30a06f45975b7aad54af4a1cbb1747d221a.zip |
Merge "DRM 1.1: Add VINTF doc" am: 8ad3e78d27 am: 2524404aae
am: adf2018492
Change-Id: Iff1292a68022495c06438ba479dffc41520e2ace
Diffstat (limited to 'drm')
-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 000000000..e88e6abce --- /dev/null +++ b/drm/1.1/README.md @@ -0,0 +1,84 @@ +# VINTF Device Manifest + +In Android Pie, an `<fqname>` tag was introduced to be able to express multiple +different versions of the same HAL in VINTF manifests (for DRM) +in device manifest. For devices launching with previous versions of Android and +upgrading to Android Pie, the device manifest must not use `<fqname>` to +satisfy requirements for non-optional HALs, because older version of `libvintf` +do not recognize it, causing errors during OTA update. + +Assuming that the HAL provides `@1.0::I*/default`, +`@1.1::I*/clearkey` and `@1.1::I*/foo` instances: + +## Devices upgrading to Android Pie + +### `target-level=1` or `target-level=2` + +FCM (framework compatibility matrix) version 2 (released in Android Oreo MR1) +requires DRM 1.0. If the new device manifest has Target FCM Version (i.e. +`target-level`) 1 or 2, it should use the following snippet: + +```xml +<hal format="hidl"> + <name>android.hardware.drm</name> + <transport>hwbinder</transport> + <version>1.0</version> + <interface> + <name>ICryptoFactory</name> + <instance>default</instance> + </interface> + <interface> + <name>IDrmFactory</name> + <instance>default</instance> + </interface> + <fqname>@1.1::ICryptoFactory/clearkey</fqname> + <fqname>@1.1::IDrmFactory/clearkey</fqname> + <fqname>@1.1::ICryptoFactory/foo</fqname> + <fqname>@1.1::IDrmFactory/foo</fqname> +</hal> +``` + +### `target-level=3` + +FCM (framework compatibility matrix) version 3 (released in Android Pie) +requires DRM 1.1. If the new device manifest has Target FCM Version (i.e. +`target-level`) 3, it should use the following snippet: + + +```xml +<hal format="hidl"> + <name>android.hardware.drm</name> + <transport>hwbinder</transport> + <version>1.1</version> + <interface> + <name>ICryptoFactory</name> + <instance>clearkey</instance> + <instance>foo</instance> + </interface> + <interface> + <name>IDrmFactory</name> + <instance>clearkey</instance> + <instance>foo</instance> + </interface> + <fqname>@1.0::ICryptoFactory/default</fqname> + <fqname>@1.0::IDrmFactory/default</fqname> +</hal> +``` + +## Devices launching with Android Pie +If you have a new device launched with Android Pie (no OTA), both of the +aforementioned snippets can be used. Besides, it is recommended to use the +new, clearer format: + +```xml +<hal format="hidl"> + <name>android.hardware.drm</name> + <transport>hwbinder</transport> + <fqname>@1.0::ICryptoFactory/default</fqname> + <fqname>@1.0::IDrmFactory/default</fqname> + <fqname>@1.1::ICryptoFactory/clearkey</fqname> + <fqname>@1.1::IDrmFactory/clearkey</fqname> + <fqname>@1.1::ICryptoFactory/foo</fqname> + <fqname>@1.1::IDrmFactory/foo</fqname> +</hal> +``` |