Packages
membrane_hls_plugin
2.1.1
3.0.10
3.0.9
3.0.8
3.0.7
3.0.6
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
3.0.0
2.1.9
2.1.8
2.1.7
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.16
2.0.15
2.0.14
2.0.13
2.0.12
2.0.11
2.0.10
2.0.9
2.0.8
2.0.7
2.0.6
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
1.1.12
1.1.11
1.1.10
1.1.9
1.1.8
1.1.7
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.0
Adaptive live streaming (HLS) plugin for the Membrane Framework.
Current section
Files
Jump to
Current section
Files
lib/membrane/hls/time_observer.ex
defmodule Membrane.HLS.TimeObserver do
use Membrane.Filter
def_input_pad(:input, accepted_format: _any)
def_output_pad(:output, accepted_format: _any)
@impl true
def handle_init(_ctx, _opts) do
{[], %{observed?: false}}
end
@impl true
def handle_buffer(:input, buffer, _ctx, state = %{observed?: false}) do
state = put_in(state, [:observed?], true)
actions = [
notify_parent: {:observed_time, Membrane.Buffer.get_dts_or_pts(buffer)},
buffer: {:output, buffer}
]
{actions, state}
end
def handle_buffer(:input, buffer, _ctx, state) do
{[buffer: {:output, buffer}], state}
end
end