# Structures

The following structures are available globally.

### CastEngine

- `CastEngine`

  Cast engine

  See more

  #### Declaration

  Swift

      public struct CastEngine : RawRepresentable, Hashable

- `ChannelItem`

  Describes one playable channel entry for `PlayerViewControllerAPI`.

  See more

  #### Declaration

  Swift

      public struct ChannelItem

- `ChannelMetadata`

  UI metadata displayed for channel-based playback experiences.

  See more

  #### Declaration

  Swift

      public struct ChannelMetadata : Decodable

- `MetaData`

  The meta-data object is a dictionary that can contain arbitrary data.

  See more

  #### Declaration

  Swift

      public struct MetaData : Codable, Hashable

### NextChannelInfo

- `NextChannelInfo`

  Interstitial-view configuration used for channel up/down transitions.

  See more

  #### Declaration

  Swift

      public struct NextChannelInfo : Decodable

### ChannelInterstitialViewInfo

- `ChannelInterstitialViewInfo`

  Internal descriptor for building an interstitial view from XIB and tagged bindings.

  See more

  #### Declaration

  Swift

      public struct ChannelInterstitialViewInfo : Decodable

- `SideloadedTrack`

  This object describes a text or thumbnail track that can be side loaded.

  See more

  #### Declaration

  Swift

      public struct SideloadedTrack : Codable, Hashable

- `AdsSettings`

  Immutable ad-SDK tuning values applied when initializing ad playback.

  See more

  #### Declaration

  Swift

      public struct AdsSettings

### AnalyticsAPI

- `AnalyticsErrorReport`

  A value type describing an error event to be sent to the analytics backend.

  Use this type to encapsulate the error code, human‑readable message, optional contextual metadata, and severity. Instances are typically created in error handling paths and forwarded via `filterOutgoingErrorReport`.

  See more

  #### Declaration

  Swift

      public struct AnalyticsErrorReport

- `AbrConfiguration`

  The ABR Configuration

  Remark

  Usable in the Castlabs Player only. Has no effect on AVPlayer.
  See more

  #### Declaration

  Swift

      public struct AbrConfiguration : Codable, Hashable

### CLDecryptorAPI

- `StreamInfo`

  Metadata discovered when preparing an audio sample decryptor.

  See more

  #### Declaration

  Swift

      public struct StreamInfo

- `AudioSample`

  A decrypted compressed audio sample.

  See more

  #### Declaration

  Swift

      public struct AudioSample

- `AudioFormat`

  Compressed audio format metadata for subsequent `AudioSample` events.

  See more

  #### Declaration

  Swift

      public struct AudioFormat

- `AudioDiscontinuity`

  Boundary event in the decrypted audio stream.

  See more

  #### Declaration

  Swift

      public struct AudioDiscontinuity

### PRESTOerror

- `ErrorMessage`

  Shared error-message templates used across SDK modules.

  #### Declaration

  Swift

      public struct ErrorMessage