View Source Membrane.Filter (Membrane Core v1.1.0)

Module defining behaviour for filters - elements processing data.

Behaviours for filters are specified, besides this place, in modules Membrane.Element.Base, Membrane.Element.WithOutputPads, and Membrane.Element.WithInputPads.

Filters can have both input and output pads. Job of a usual filter is to receive some data on a input pad, process the data and send it through the output pad. If the pad has the flow control set to :manual, then filter is also responsible for receiving demands on the output pad and requesting them on the input pad (for more details, see Membrane.Element.WithOutputPads.handle_demand/5 callback). Filters, like all elements, can of course have multiple pads if needed to provide more complex solutions.

List of available callbacks

Below there is a list of all the callbacks available in a module, that implements Membrane.Filter 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.Filter behaviour:






Brings all the stuff necessary to implement a filter element.


Link to this macro


View Source (macro)

Brings all the stuff necessary to implement a filter element.


  • :bring_pad? - if true (default) requires and aliases Membrane.Pad