diff options
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> +``` |