/* * Copyright (C) 2020 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. */ syntax = "proto2"; package android.stats.hdmi; option java_multiple_files = true; option java_outer_classname = "HdmiStatsEnums"; // HDMI CEC logical addresses. // Values correspond to "CEC Table 5 Logical Addresses" in the HDMI CEC 1.4b spec. enum LogicalAddress { LOGICAL_ADDRESS_UNKNOWN = -1; TV = 0; RECORDING_DEVICE_1 = 1; RECORDING_DEVICE_2 = 2; TUNER_1 = 3; PLAYBACK_DEVICE_1 = 4; AUDIO_SYSTEM = 5; TUNER_2 = 6; TUNER_3 = 7; PLAYBACK_DEVICE_2 = 8; RECORDING_DEVICE_3 = 9; TUNER_4 = 10; PLAYBACK_DEVICE_3 = 11; RESERVED_1 = 12; RESERVED_2 = 13; SPECIFIC_USE = 14; UNREGISTERED_OR_BROADCAST = 15; } // The relationship between two paths. // Values correspond exactly to PathRelationship in com.android.server.hdmi.Constants. enum PathRelationship { RELATIONSHIP_TO_ACTIVE_SOURCE_UNKNOWN = 0; DIFFERENT_BRANCH = 1; ANCESTOR = 2; DESCENDANT = 3; SIBLING = 4; SAME = 5; } // The result of attempting to send a HDMI CEC message. // Values correspond to the constants in android.hardware.tv.cec.V1_0.SendMessageResult, // offset by 10. enum SendMessageResult { SEND_MESSAGE_RESULT_UNKNOWN = 0; SUCCESS = 10; NACK = 11; BUSY = 12; FAIL = 13; } // Whether a HDMI CEC message is sent from this device, to this device, or neither. enum MessageDirection { MESSAGE_DIRECTION_UNKNOWN = 0; MESSAGE_DIRECTION_OTHER = 1; // None of the other options. OUTGOING = 2; // Sent from this device. INCOMING = 3; // Sent to this device. TO_SELF = 4; // Sent from this device, to this device. Indicates a bug. } // User control commands. Each value can represent an individual command, or a set of commands. // Values correspond to "CEC Table 30 UI Command Codes" in the HDMI CEC 1.4b spec, offset by 0x100. enum UserControlPressedCommand { USER_CONTROL_PRESSED_COMMAND_UNKNOWN = 0; // Represents all codes that are not represented by another value. USER_CONTROL_PRESSED_COMMAND_OTHER = 1; // Represents all number codes (codes 0x1E through 0x29). NUMBER = 2; // Navigation SELECT = 0x100; UP = 0x101; DOWN = 0x102; LEFT = 0x103; RIGHT = 0x104; RIGHT_UP = 0x105; RIGHT_DOWN = 0x106; LEFT_UP = 0x107; LEFT_DOWN = 0x108; EXIT = 0x10D; // Volume VOLUME_UP = 0x141; VOLUME_DOWN = 0x142; VOLUME_MUTE = 0x143; // Power POWER = 0x140; POWER_TOGGLE = 0x16B; POWER_OFF = 0x16C; POWER_ON = 0x16D; // TV Functions INPUT_SELECT = 0x134; } // Reason parameter of the message. // Values correspond to "CEC Table 29 Operand Descriptions" in the HDMI CEC 1.4b spec, // offset by 10. enum FeatureAbortReason { FEATURE_ABORT_REASON_UNKNOWN = 0; UNRECOGNIZED_OPCODE = 10; NOT_IN_CORRECT_MODE_TO_RESPOND = 11; CANNOT_PROVIDE_SOURCE = 12; INVALID_OPERAND = 13; REFUSED = 14; UNABLE_TO_DETERMINE = 15; } // State of the eARC connection. // Values correspond to EarcStatus in com.android.server.hdmi.Constants, offset by 1. enum ConnectionState { HDMI_EARC_STATUS_UNKNOWN = 0; HDMI_EARC_STATUS_IDLE = 1; HDMI_EARC_STATUS_EARC_PENDING = 2; HDMI_EARC_STATUS_ARC_PENDING = 3; HDMI_EARC_STATUS_EARC_CONNECTED = 4; } // Reason parameter of the eARC connection state logging. enum LogReason { LOG_REASON_UNKNOWN = 0; LOG_REASON_WAKE = 1; LOG_REASON_EARC_STATUS_CHANGED = 2; LOG_REASON_EARC_STATUS_CHANGED_UNSUPPORTED_PORT = 3; LOG_REASON_EARC_STATUS_CHANGED_WRONG_STATE = 4; } // Reason parameter of the Dynamic soundbar mode state logging. enum DynamicSoundbarModeLogReason { LOG_REASON_DSM_UNKNOWN = 0; LOG_REASON_DSM_WAKE = 1; LOG_REASON_DSM_SETTING_TOGGLED = 2; }