Appearance
traits/input_select.proto
Table of Contents
traits/input_select.proto
AvPort
represents a source (or destination) for the AV signal
Field | Type | Label | Description |
---|---|---|---|
name | string | Unique name for the port, used as the value for input or output properties | |
title | string | Official human readable name for this port | |
description | string | ||
supported_feature | InputSupport.Feature | If this port supports different features from the device as a whole, specify them here. For example some ports might be audio only or not support audio breakout |
DescribeInputRequest
Field | Type | Label | Description |
---|---|---|---|
name | string | The name of the device |
GetInputRequest
A request to get the currently selected input
Field | Type | Label | Description |
---|---|---|---|
name | string | The name of the device to get the value for | |
output | string | Required if the device has multiple outputs. The name of the output to get the input for. | |
read_mask | google.protobuf.FieldMask | The state fields to fetch |
Input
The currently selected input
Field | Type | Label | Description |
---|---|---|---|
video_input | string | The current choice for the video input. Will be absent if there is no video input chosen. | |
audio_input | string | The current choice for the audio input. Absent means no audio input is chosen unless independent_av is false which implies the audio_input is the same as the video_input | |
independent_av | bool | If true then audio and video changes will not affect the other. False implies that changes to audio or video will change the input selection for the other to keep them consistent | |
output | string | Which output the input is sent to. Optional when the device only has one output, required otherwise |
InputSupport
InputSupport describes the capabilities of devices implementing this trait
Field | Type | Label | Description |
---|---|---|---|
resource_support | smartcore.types.ResourceSupport | How a named device supports read/write/pull apis | |
inputs | AvPort | repeated | the list of inputs that can be selected on this device |
supported_feature | InputSupport.Feature | indicate the possible mode of input selection that are supported by this device. This is not the current mode, just the supported mode the device allows | |
outputs | AvPort | repeated | The list of outputs that can have inputs on this device |
PullInputRequest
Request to begin a subscription for selected input changes
Field | Type | Label | Description |
---|---|---|---|
name | string | The name of the device we want events from | |
read_mask | google.protobuf.FieldMask | The state fields to fetch | |
updates_only | bool | When true the device will only send changes to the resource value. The default behaviour is to send the current value immediately followed by any updates as they happen. |
PullInputResponse
A response as part of the stream of changes to the selected input
Field | Type | Label | Description |
---|---|---|---|
changes | PullInputResponse.Change | repeated | The list of changes |
PullInputResponse.Change
A change to a single devices range value
Field | Type | Label | Description |
---|---|---|---|
name | string | name for the device that issued the change | |
change_time | google.protobuf.Timestamp | when the change occurred | |
input | Input | The new value for the selected input |
UpdateInputRequest
A request to update the current input
Field | Type | Label | Description |
---|---|---|---|
name | string | The name of the device to update | |
input | Input | The new input value | |
update_mask | google.protobuf.FieldMask | the fields we are intending to update. Paths are relative to the input not this request |
InputSupport.Feature
possible modes an input select device can
Name | Number | Description |
---|---|---|
FEATURE_UNSPECIFIED | 0 | The feature is not specified |
AV | 1 | both audio and video are treated as one. independent_av should be considered false in this mode |
AUDIO_ONLY | 2 | Only audio inputs are supported |
VIDEO_ONLY | 3 | Only video inputs are supported |
INDEPENDENT | 4 | Audio and video are both supported and can be selected independently if desired. The independent_av property can be true in this mode only |
InputSelectApi
A trait to control the input for a device. Typically related to AV devices like displays or presentation switchers. A more complicated device might have multiple outputs, this trait also supports this.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
UpdateInput | UpdateInputRequest | Input | request that the input be selected |
GetInput | GetInputRequest | Input | get the current value of the selected input |
PullInput | PullInputRequest | PullInputResponse stream | request updates to changes in the selected input |
InputSelectInfo
Describes the capabilities of a specific named device with respect to this trait.
Method Name | Request Type | Response Type | Description |
---|---|---|---|
DescribeInput | DescribeInputRequest | InputSupport | Get information about how a named device implements Input features |