# ContainerOptionsStruct

    struct ContainerOptionsStruct

Defines the options related to the container format used for an AV stream.
- `


  ### [containerType](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/PushAvStreamTransportTrait/ContainerOptionsStruct#/s:15GoogleHomeTypes6MatterO26PushAvStreamTransportTraitV22ContainerOptionsStructV13containerTypeAE0J10FormatEnumOvp)


  ` The container format.

  #### Declaration

  Swift

      let containerType: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/PushAvStreamTransportTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/PushAvStreamTransportTrait/ContainerFormatEnum.html

- `


  ### [cmafContainerOptions](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/PushAvStreamTransportTrait/ContainerOptionsStruct#/s:15GoogleHomeTypes6MatterO26PushAvStreamTransportTraitV22ContainerOptionsStructV04cmafjK0AE013CMAFContainerkL0VSgvp)


  ` An optional field containing a `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/PushAvStreamTransportTrait/CMAFContainerOptionsStruct.html` when the containerType is
  CMAF, allowing for detailed configuration of CMAF parameters.

  #### Declaration

  Swift

      let cmafContainerOptions: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/PushAvStreamTransportTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/PushAvStreamTransportTrait/CMAFContainerOptionsStruct.html?

- `


  ### [init(decoder:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/PushAvStreamTransportTrait/ContainerOptionsStruct#/s:15GoogleHomeTypes6MatterO26PushAvStreamTransportTraitV22ContainerOptionsStructV7decoderAG0aB3SDK0I7DecoderV_tKcfc)


  ` Creates a new Struct instance using data read from the given `TraitDecoder`.
  Throws
  `HomeError.parseError` when parsing fails.

  #### Declaration

  Swift

      init(decoder: TraitDecoder) throws

  #### Parameters

  |---|---|
  | ` decoder ` | The raw data representing this Struct. |

- `


  ### [encode(with:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/PushAvStreamTransportTrait/ContainerOptionsStruct#/s:15GoogleHomeTypes6MatterO26PushAvStreamTransportTraitV22ContainerOptionsStructV6encode4withy0aB3SDK0I7EncoderC_tKF)


  ` Writes this Struct to the given `TraitEncoder`.
  Throws `HomeError.parseError` if the data could not be encoded.

  #### Declaration

  Swift

      func encode(with encoder: TraitEncoder) throws

- `


  ### [structField(id:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/PushAvStreamTransportTrait/ContainerOptionsStruct#/s:15GoogleHomeTypes6MatterO26PushAvStreamTransportTraitV22ContainerOptionsStructV11structField2id0aB3SDK0N0_pSgs6UInt32V_tFZ)


  ` Returns the field corresponding to the given field ID.

  #### Declaration

  Swift

      static func structField(id: UInt32) -> (any Field)?