Packages
membrane_core
1.3.1
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/child.ex
defmodule Membrane.Child do
@moduledoc """
Module that keeps track of types used by both elements and bins
"""
import Membrane.Element, only: [is_element_name?: 1]
import Membrane.Bin, only: [is_bin_name?: 1]
alias Membrane.{Bin, Element}
@typedoc "Any type except for `nil`"
@type non_nil :: any()
@typedoc "Name of the child"
@type name :: Element.name() | Bin.name()
@typedoc """
Specifies the children group name.
Can be any type except for `nil`
"""
@type group() :: non_nil()
@typedoc "Options of the child"
@type options :: Element.options() | Bin.options()
defguard is_child_name?(arg) when is_element_name?(arg) or is_bin_name?(arg)
end