View Source GoogleApi.ContentWarehouse.V1.Model.AssistantApiCastCapabilities (google_api_content_warehouse v0.4.0)

These capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9

Attributes

  • cameraReceiverCapabilities (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiCameraReceiverCapabilities.t, default: nil) - Whether the device has limited camera stream capability and if yes, which receivers are supported.
  • cameraStreamSupportedProtocols (type: list(String.t), default: nil) - The supported protocols for camera streaming. The value is used as string in go/smarthome-internal-api#camera-stream, so using a string for this field instead of an enum. Supported protocols: (align the definition in go/smarthome-camerastream-trait) - "hls": HTTP Live Streaming - "dash": Dynamic Adaptive Streaming over HTTP - "smooth_stream": Smooth Streaming - "progressive_mp4": Progressive MP4 (will likely only be used for Clips) - "webrtc": WebRTC (currently, only H.264 is supported) - "nexustalk": Internal-only protocol used for Nest
  • canReceiveCast (type: boolean(), default: nil) - True if we can cast things to this device.
  • deviceId (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiCoreTypesDeviceId.t, default: nil) - Optional for primarily cast devices (e.g., Chirp, Chromecast). For devices that are NOT primarily cast devices, but having a cast receiver as secondary functionality, this field SHOULD store the cast-device-id to be used to send remote casting commands to the device. Example: Android TV, which supports both Android-native actions as well as remote casting using its built-in cast receiver. Android TV device id contains a DUSI id, which is not a cast-device-id. When executing a cast command on the Android TV, this field is used to route the cast command (through CloudCastService) to the cast receiver on the device.
  • dynamicGroupsSupported (type: boolean(), default: nil) - Whether this device supports dynamic groups or not. It implies if a Stream Control operation (transfer, expansion, and contraction) could be applied on this device since Stream Control is implemented as part of dynamic groups (ie, adding/removing devices from playback)
  • groupType (type: String.t, default: nil) -
  • overlayApplicationsSupported (type: boolean(), default: nil) - Whether UI overlay applications are supported on this device. It's used by Chromecast only.
  • yetiGamingSupported (type: boolean(), default: nil) - Whether the device supports playing games through Yeti. This is set by the cast device when the device is updated: Chromecast updates -> Chromecast registers its capabilities with CCS -> CCS passes the capabilities to the AssistantSettingsService -> AssistantSettingsService stores the device's capabilities. go/yeti-gaming-supported-cast-capability

Summary

Functions

Unwrap a decoded JSON object into its complex fields.

Types

@type t() :: %GoogleApi.ContentWarehouse.V1.Model.AssistantApiCastCapabilities{
  cameraReceiverCapabilities:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiCameraReceiverCapabilities.t()
    | nil,
  cameraStreamSupportedProtocols: [String.t()] | nil,
  canReceiveCast: boolean() | nil,
  deviceId:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiCoreTypesDeviceId.t() | nil,
  dynamicGroupsSupported: boolean() | nil,
  groupType: String.t() | nil,
  overlayApplicationsSupported: boolean() | nil,
  yetiGamingSupported: boolean() | nil
}

Functions

@spec decode(struct(), keyword()) :: struct()

Unwrap a decoded JSON object into its complex fields.