blob: 7621663092049389954f185fcf1fe010f667ae8d [file] [log] [blame]
/*
* 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 <Feature Abort> 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;
}