Membrane.Realtimer
(Membrane Realtimer plugin v0.11.0)
View Source
Sends buffers to the output in real time, according to buffers' timestamps.
If buffers come in slower than realtime, they're sent as they come in.
It can be reset by sending %Membrane.Realtimer.Events.Reset{} event on its input pad.
Element options
Passed via struct Membrane.Realtimer.t/0
max_latencyTime.non_neg()Default value:
0 |> Membrane.Time.days()
This element will keep a part of the stream, of duration specified by this option, buffered. The purpose of this it to handle cases where the incoming stream can get lagged, for example when an element up the pipeline can get held up for some time and then produce all the "late" media at once. The buffered stream gives Realtimer some margin in waiting for this "late" media, so that the outgoing stream is still smooth. The initial accumulation of the buffer can introduce some latency, especially when the input stream is in realtime, but it will never exceed the amount provided via this option.
Pads
:input
Accepted formats:
_any| Direction: | :input |
| Availability: | :always |
| Flow control: | :manual |
| Demand unit: | :buffers |
:output
Accepted formats:
_any| Direction: | :output |
| Availability: | :always |
| Flow control: | :push |
Summary
Types
Struct containing options for Membrane.Realtimer
Types
@type t() :: %Membrane.Realtimer{max_latency: Membrane.Time.non_neg()}
Struct containing options for Membrane.Realtimer
Functions
@spec options() :: keyword()
Returns description of options available for this module