Merge "Add Drm 1.3"

This commit is contained in:
Robert Shih
2019-12-03 17:33:03 +00:00
committed by Android (Google) Code Review
5 changed files with 93 additions and 1 deletions

View File

@@ -155,7 +155,7 @@
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.drm</name>
<version>1.0-2</version>
<version>1.0-3</version>
<interface>
<name>ICryptoFactory</name>
<regex-instance>.*</regex-instance>

View File

@@ -593,6 +593,8 @@ c1aa508d00b66ed5feefea398fd5edf28fa651ac89773adad7dfda4e0a73a952 android.hardwar
9811f867def49b420d8c707f7e38d3bdd64f835244e1d2a5e9762ab9835672dc android.hardware.cas@1.2::ICasListener
f18695dd36ee205640b8326a17453858a7b4596653aaa6ef0016b0aef1bd4dac android.hardware.cas@1.2::IMediaCasService
4d85e814f94949dae4dc6cb82bbd7d6bb24ffafda6ddb2eac928d2a4fc2e21ce android.hardware.cas@1.2::types
66931c2506fbb5af61f20138cb05e0a09e7bf67d6964c231d27c648933bb33ec android.hardware.drm@1.3::ICryptoFactory
994d08ab27d613022c258a9ec48cece7adf2a305e92df5d76ef923e2c6665f64 android.hardware.drm@1.3::IDrmFactory
ce8dbe76eb9ee94b46ef98f725be992e760a5751073d4f4912484026541371f3 android.hardware.health@2.1::IHealth
26f04510a0b57aba5167c5c0a7c2f077c2acbb98b81902a072517829fd9fd67f android.hardware.health@2.1::IHealthInfoCallback
db47f4ceceb1f06c656f39caa70c557b0f8471ef59fd58611bea667ffca20101 android.hardware.health@2.1::types

20
drm/1.3/Android.bp Normal file
View File

@@ -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,
}

View File

@@ -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 {
};

38
drm/1.3/IDrmFactory.hal Normal file
View File

@@ -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);
};