Packages
membrane_core
0.10.0
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/remote_controlled/message.ex
defmodule Membrane.RemoteControlled.Message do
@moduledoc """
An abstract module aggregating all the messages that can be sent by the `RemoteControlled.Pipeline`.
The available messages are:
* `Membrane.RemoteControlled.Message.PlaybackState.t()`
* `Membrane.RemoteControlled.Message.StartOfStream.t()`
* `Membrane.RemoteControlled.Message.EndOfStream.t()`
* `Membrane.RemoteControlled.Message.Notification.t()`
* `Membrane.RemoteControlled.Message.Terminated.t()`
"""
@type t ::
__MODULE__.PlaybackState.t()
| __MODULE__.StartOfStream.t()
| __MODULE__.EndOfStream.t()
| __MODULE__.Notification.t()
| __MODULE__.Terminated.t()
defmodule PlaybackState do
@moduledoc """
Message sent when the pipeline changes its playback state
"""
@type t :: %__MODULE__{from: pid(), state: Membrane.PlaybackState.t()}
@enforce_keys [:from, :state]
defstruct @enforce_keys
end
defmodule StartOfStream do
@moduledoc """
Message sent when some element of the pipeline receives the start of stream event on some pad.
"""
@type t :: %__MODULE__{
from: pid(),
element: Membrane.Element.name_t(),
pad: Membrane.Pad.name_t()
}
@enforce_keys [:from, :element, :pad]
defstruct @enforce_keys
end
defmodule EndOfStream do
@moduledoc """
Message sent when some element of the pipeline receives the start of stream event on some pad.
"""
@type t :: %__MODULE__{
from: pid(),
element: Membrane.Element.name_t(),
pad: Membrane.Pad.name_t()
}
@enforce_keys [:from, :element, :pad]
defstruct @enforce_keys
end
defmodule Notification do
@moduledoc """
Message sent when the some element of the pipeline receives a notification.
"""
@type t :: %__MODULE__{
from: pid(),
element: Membrane.Element.name_t(),
data: Membrane.Notification.t()
}
@enforce_keys [:from, :element, :data]
defstruct @enforce_keys
end
defmodule Terminated do
@moduledoc """
Message sent when the pipeline gracefully terminates.
"""
@type t :: %__MODULE__{from: pid(), reason: :normal | :shutdown | {:shutdown, any()} | term()}
@enforce_keys [:from, :reason]
defstruct @enforce_keys
end
end