Packages
membrane_core
0.3.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/event.ex
defmodule Membrane.Event do
@moduledoc """
Event is an entity that can be sent between elements.
Events can flow either downstream or upstream - they can be sent with
`t:Membrane.Element.Action.event_t/0`, and can be handled in
`c:Membrane.Element.Base.Mixin.CommonBehaviour.handle_event/4`. Each event is
to implement `Membrane.EventProtocol`, which allows to configure its behaviour.
"""
alias Membrane.EventProtocol
@type t :: EventProtocol.t()
def event?(event) do
EventProtocol.impl_for(event) != nil
end
defdelegate sticky?(event), to: EventProtocol
defdelegate async?(event), to: EventProtocol
end