Loading drm/1.4/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ hidl_interface { "ICryptoPlugin.hal", "IDrmFactory.hal", "IDrmPlugin.hal", "types.hal", ], interfaces: [ "android.hardware.drm@1.0", Loading drm/1.4/ICryptoPlugin.hal +13 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.hardware.drm@1.4; import @1.2::ICryptoPlugin; import @1.4::LogMessage; import @1.4::Status; /** * ICryptoPlugin is the HAL for vendor-provided crypto plugins. Loading @@ -23,4 +25,15 @@ import @1.2::ICryptoPlugin; * load crypto keys for a codec to decrypt protected video content. */ interface ICryptoPlugin extends @1.2::ICryptoPlugin { /** * @return logMessages latest plugin level log messages. Can be used * by apps in diagnosis of errors. * @return status the status of the call. The status must be: * OK on success; * GENERAL_OEM_ERROR on OEM-provided, low-level component failures; * GENERAL_PLUGIN_ERROR on unexpected plugin-level errors. */ getLogMessages() generates (@1.4::Status status, vec<LogMessage> logMessages); }; drm/1.4/IDrmPlugin.hal +12 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ import @1.0::Status; import @1.0::SessionId; import @1.1::SecurityLevel; import @1.2::IDrmPlugin; import @1.4::LogMessage; import @1.4::Status; /** * IDrmPlugin is used to interact with a specific drm plugin that was Loading Loading @@ -61,4 +63,14 @@ interface IDrmPlugin extends @1.2::IDrmPlugin { */ setPlaybackId(SessionId sessionId, string playbackId) generates (@1.0::Status status); /** * @return logMessages latest plugin level log messages. Can be used * by apps in diagnosis of errors. * @return status the status of the call. The status must be: * OK on success; * GENERAL_OEM_ERROR on OEM-provided, low-level component failures; * GENERAL_PLUGIN_ERROR on unexpected plugin-level errors. */ getLogMessages() generates (@1.4::Status status, vec<LogMessage> logMessages); }; drm/1.4/types.hal 0 → 100644 +51 −0 Original line number Diff line number Diff line /** * Copyright (C) 2021 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.4; import @1.2::Status; enum LogPriority : uint32_t { ERROR, WARN, INFO, DEBUG, VERBOSE }; /** * Returned by getLogMessages to report error diagnostics to the * app. */ struct LogMessage { int64_t timeMs; LogPriority priority; string message; }; enum Status : @1.2::Status { /** * Non-specific error reported by the device OEM subsystem. */ GENERAL_OEM_ERROR, /** * Unexpected internal failure in the drm/crypto plugin. */ GENERAL_PLUGIN_ERROR, }; Loading
drm/1.4/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ hidl_interface { "ICryptoPlugin.hal", "IDrmFactory.hal", "IDrmPlugin.hal", "types.hal", ], interfaces: [ "android.hardware.drm@1.0", Loading
drm/1.4/ICryptoPlugin.hal +13 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.hardware.drm@1.4; import @1.2::ICryptoPlugin; import @1.4::LogMessage; import @1.4::Status; /** * ICryptoPlugin is the HAL for vendor-provided crypto plugins. Loading @@ -23,4 +25,15 @@ import @1.2::ICryptoPlugin; * load crypto keys for a codec to decrypt protected video content. */ interface ICryptoPlugin extends @1.2::ICryptoPlugin { /** * @return logMessages latest plugin level log messages. Can be used * by apps in diagnosis of errors. * @return status the status of the call. The status must be: * OK on success; * GENERAL_OEM_ERROR on OEM-provided, low-level component failures; * GENERAL_PLUGIN_ERROR on unexpected plugin-level errors. */ getLogMessages() generates (@1.4::Status status, vec<LogMessage> logMessages); };
drm/1.4/IDrmPlugin.hal +12 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ import @1.0::Status; import @1.0::SessionId; import @1.1::SecurityLevel; import @1.2::IDrmPlugin; import @1.4::LogMessage; import @1.4::Status; /** * IDrmPlugin is used to interact with a specific drm plugin that was Loading Loading @@ -61,4 +63,14 @@ interface IDrmPlugin extends @1.2::IDrmPlugin { */ setPlaybackId(SessionId sessionId, string playbackId) generates (@1.0::Status status); /** * @return logMessages latest plugin level log messages. Can be used * by apps in diagnosis of errors. * @return status the status of the call. The status must be: * OK on success; * GENERAL_OEM_ERROR on OEM-provided, low-level component failures; * GENERAL_PLUGIN_ERROR on unexpected plugin-level errors. */ getLogMessages() generates (@1.4::Status status, vec<LogMessage> logMessages); };
drm/1.4/types.hal 0 → 100644 +51 −0 Original line number Diff line number Diff line /** * Copyright (C) 2021 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.4; import @1.2::Status; enum LogPriority : uint32_t { ERROR, WARN, INFO, DEBUG, VERBOSE }; /** * Returned by getLogMessages to report error diagnostics to the * app. */ struct LogMessage { int64_t timeMs; LogPriority priority; string message; }; enum Status : @1.2::Status { /** * Non-specific error reported by the device OEM subsystem. */ GENERAL_OEM_ERROR, /** * Unexpected internal failure in the drm/crypto plugin. */ GENERAL_PLUGIN_ERROR, };