Packages
membrane_core
0.5.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/parent/action.ex
defmodule Membrane.Parent.Action do
@moduledoc """
Common types' definitions for bin and pipeline.
"""
alias Membrane.{Child, Notification, ParentSpec}
@typedoc """
Action that sends a message to a child identified by name.
"""
@type forward_action_t :: {:forward, {Child.name_t(), Notification.t()}}
@typedoc """
Action that instantiates children and links them according to `Membrane.ParentSpec`.
Children's playback state is changed to the current parent state.
`c:Membrane.Parent.handle_spec_started/2` callback is executed once it happens.
"""
@type spec_action_t :: {:spec, ParentSpec.t()}
@typedoc """
Action that stops, unlinks and removes specified child/children from their parent.
"""
@type remove_child_action_t ::
{:remove_child, Child.name_t() | [Child.name_t()]}
@typedoc """
Type describing actions that can be returned from parent callbacks.
Returning actions is a way of pipeline/bin interaction with its children and
other parts of framework.
"""
@type t :: forward_action_t | spec_action_t | remove_child_action_t
end