View Source Membrane.Source (Membrane Core v1.1.2)
Module that should be used in sources - elements producing data. Declares appropriate behaviours implementation and provides default callbacks implementation.
Behaviours for sources are specified in modules
Membrane.Element.Base
and
Membrane.Element.WithOutputPads
.
Source elements can define only output pads. Job of a usual source is to produce
some data (read from soundcard, download through HTTP, etc.) and send it through
such pad. If the pad has the flow control set to :manual
, then element is also
responsible for receiving demands and send buffers only if they have previously
been demanded (for more details, see Membrane.Element.WithOutputPads.handle_demand/5
callback). Sources, like all elements, can of course have multiple pads if needed to
provide more complex solutions.
list-of-available-callbacks
List of available callbacks
Below there is a list of all the callbacks available in a module, that implements Membrane.Source
behaviour.
We have put it for your convenience, as some of these callbacks aren't directly defined in that module and
their specification is available in different modules.
The callbacks available in Membrane.Source
behaviour:
Membrane.Element.Base.__struct__/0
Membrane.Element.Base.__struct__/1
Membrane.Element.Base.handle_event/4
Membrane.Element.Base.handle_info/3
Membrane.Element.Base.handle_init/2
Membrane.Element.Base.handle_pad_added/3
Membrane.Element.Base.handle_pad_removed/3
Membrane.Element.Base.handle_parent_notification/3
Membrane.Element.Base.handle_playing/2
Membrane.Element.Base.handle_setup/2
Membrane.Element.Base.handle_terminate_request/2
Membrane.Element.Base.handle_tick/3
Link to this section Summary
Functions
Brings all the stuff necessary to implement a source element.
Link to this section Functions
Brings all the stuff necessary to implement a source element.
Options:
:bring_pad?
- if true (default) requires and aliasesMembrane.Pad