lib/membrane/video_compositor/video_transformations.ex
defmodule Membrane.VideoCompositor.VideoTransformations do
@moduledoc """
Describes all transformations applied to the video.
Order of transformations matters. Transformations are
applied in the order in which they appear in the list.
"""
alias Membrane.VideoCompositor.VideoTransformations
alias Membrane.VideoCompositor.VideoTransformations.TextureTransformations
@type t :: %__MODULE__{
texture_transformations: list(TextureTransformations.t())
}
@enforce_keys [:texture_transformations]
defstruct @enforce_keys
@spec empty :: Membrane.VideoCompositor.VideoTransformations.t()
def empty() do
%VideoTransformations{
texture_transformations: []
}
end
end