diff options
author | Robert Shih <robertshih@google.com> | 2019-11-20 23:09:11 -0800 |
---|---|---|
committer | Robert Shih <robertshih@google.com> | 2019-11-27 01:12:09 +0000 |
commit | 37e52fa88da707b715adcc179efaee72c4f1ae63 (patch) | |
tree | 7e77eeae5f3e2ad7a29ca34f62234ebf65f991fb /drm | |
parent | 8aa5e4a6f61b309cfa59b5b587271e050de60dcd (diff) | |
download | platform_hardware_interfaces-37e52fa88da707b715adcc179efaee72c4f1ae63.tar.gz platform_hardware_interfaces-37e52fa88da707b715adcc179efaee72c4f1ae63.tar.bz2 platform_hardware_interfaces-37e52fa88da707b715adcc179efaee72c4f1ae63.zip |
Add Drm 1.3
New API(s):
* IDrmFactory::getSupportedCryptoScheme
Bug: 139134043
Test: MediaDrmTest
Change-Id: Ibe8c7eabcbdd96618c7c336281582ff19f349de9
Diffstat (limited to 'drm')
-rw-r--r-- | drm/1.3/Android.bp | 20 | ||||
-rw-r--r-- | drm/1.3/ICryptoFactory.hal | 32 | ||||
-rw-r--r-- | drm/1.3/IDrmFactory.hal | 38 |
3 files changed, 90 insertions, 0 deletions
diff --git a/drm/1.3/Android.bp b/drm/1.3/Android.bp new file mode 100644 index 0000000000..b0ffcb92a5 --- /dev/null +++ b/drm/1.3/Android.bp @@ -0,0 +1,20 @@ +// This file is autogenerated by hidl-gen -Landroidbp. + +hidl_interface { + name: "android.hardware.drm@1.3", + root: "android.hardware", + vndk: { + enabled: true, + }, + srcs: [ + "IDrmFactory.hal", + "ICryptoFactory.hal", + ], + interfaces: [ + "android.hardware.drm@1.0", + "android.hardware.drm@1.1", + "android.hardware.drm@1.2", + "android.hidl.base@1.0", + ], + gen_java: false, +} diff --git a/drm/1.3/ICryptoFactory.hal b/drm/1.3/ICryptoFactory.hal new file mode 100644 index 0000000000..d7864eba61 --- /dev/null +++ b/drm/1.3/ICryptoFactory.hal @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2019 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package android.hardware.drm@1.3; + +import @1.2::ICryptoFactory; + +/** + * ICryptoFactory is the main entry point for interacting with a vendor's + * crypto HAL to create crypto plugins. Crypto plugins create crypto sessions + * which are used by a codec to decrypt protected video content. + * + * The 1.3 factory must always create 1.2 ICryptoPlugin interfaces, which are + * returned via the 1.0 createPlugin method. + * + * The ICryptoFactory hal is required because all top-level interfaces + * have to be updated in a minor uprev. + */ +interface ICryptoFactory extends @1.2::ICryptoFactory { +}; diff --git a/drm/1.3/IDrmFactory.hal b/drm/1.3/IDrmFactory.hal new file mode 100644 index 0000000000..520802892a --- /dev/null +++ b/drm/1.3/IDrmFactory.hal @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2019 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package android.hardware.drm@1.3; + +import @1.2::IDrmFactory; + +/** + * IDrmFactory is the main entry point for interacting with a vendor's + * drm HAL to create drm plugin instances. A drm plugin instance + * creates drm sessions which are used to obtain keys for a crypto + * session so it can decrypt protected video content. + * + * The 1.3 factory must always create 1.2 IDrmPlugin interfaces, which are + * returned via the 1.0 createPlugin method. + */ + +interface IDrmFactory extends @1.2::IDrmFactory { + /** + * Return vector of uuids identifying crypto schemes supported by this HAL. + * + * @return schemes Vector of uuids for which isCryptoSchemeSupported is true; + * each uuid can be used as input to createPlugin. + */ + getSupportedCryptoSchemes() generates(vec<uint8_t[16]> schemes); +}; |