diff options
author | Yifan Hong <elsk@google.com> | 2018-10-26 14:26:49 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-10-26 14:26:49 -0700 |
commit | adf20184923ac51e9b5fd57a6117fb8069fdaa4e (patch) | |
tree | 740f11a7cf9dfa103c86e5e6f0e1477f42f57dac /drm | |
parent | e9ff12c2ba84de1a80095ecdb58bc2d3667b2625 (diff) | |
parent | 2524404aae35dab806f4c1229ac17078106b0783 (diff) | |
download | android_hardware_interfaces-adf20184923ac51e9b5fd57a6117fb8069fdaa4e.tar.gz android_hardware_interfaces-adf20184923ac51e9b5fd57a6117fb8069fdaa4e.tar.bz2 android_hardware_interfaces-adf20184923ac51e9b5fd57a6117fb8069fdaa4e.zip |
Merge "DRM 1.1: Add VINTF doc" am: 8ad3e78d27
am: 2524404aae
Change-Id: I81688511156c89155eddfb6a537f6ceabd708afe
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> +``` |