Packages
membrane_core
0.4.3
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.7
1.2.6
1.2.5
retired
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.2.0-rc1
1.1.2
1.1.1
1.1.0
1.1.0-rc1
1.1.0-rc0
1.0.1
1.0.0
1.0.0-rc1
1.0.0-rc0
0.12.9
0.12.8
0.12.7
0.12.6
0.12.5
0.12.4
0.12.3
0.12.2
0.12.1
0.12.0
retired
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.2
0.10.1
0.10.0
0.9.0
0.8.2
0.8.1
0.8.0
0.7.0
0.6.1
0.6.0
0.5.3
0.5.2
0.5.1
0.5.0
0.4.3
0.4.2
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.2
0.2.1
0.2.0
0.1.1
0.1.0
Membrane Multimedia Framework (Core)
Current section
Files
Jump to
Current section
Files
lib/membrane/element/callback_context/caps.ex
defmodule Membrane.Element.CallbackContext.Caps do
@moduledoc """
Structure representing a context that is passed to the element when receiving
information about new caps for given pad.
The `old_caps` field contains caps previously present on the pad, and is equal
to `pads[pad].caps` field.
"""
alias Membrane.Core.Element.PadModel
use Membrane.Element.CallbackContext,
old_caps: Membrane.Caps.t()
@impl true
defmacro from_state(state, args) do
{pad, args} = args |> Keyword.pop(:pad)
old_caps =
quote do
unquote(state) |> PadModel.get_data!(unquote(pad), :caps)
end
super(state, args ++ [old_caps: old_caps])
end
end