View Source Membrane.VideoCompositor.Scene.Object.Layout (Membrane Video Compositor plugin v0.2.2)

Structure representing Layout objects.

Layouts can take multiple renderable objects as input and combine them into one frame. Fadings, Grids, Overlays, Transitions, etc. can be defined as Layouts.

Basically it's a multi-input, single-output node in processing graph.

Link to this section Summary

Types

Type of a map defining on how to map internal layout's ids to Scene objects

Defines how the output resolution of a layout texture can be specified.

t()

Specify that Layouts

Link to this section Types

@type inputs() :: %{required(any()) => Membrane.VideoCompositor.Scene.Object.name()}

Type of a map defining on how to map internal layout's ids to Scene objects

Defines how the output resolution of a layout texture can be specified.

Texture resolution can be specified as:

  • plain Membrane.VideoCompositor.Resolution.t()
  • resolution of another object
@type t() :: %{
  :__struct__ => module(),
  :inputs => inputs(),
  :resolution => output_resolution(),
  optional(any()) => any()
}

Specify that Layouts:

  • should be defined as structs
  • should have :inputs and :resolution fields
  • can have custom fields