Membrane Core
▼
Project version
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc1
v1.1.2
v1.1.1
v1.1.0
v1.1.0-rc1
v1.1.0-rc0
v1.0.1
v1.0.0
v1.0.0-rc1
v1.0.0-rc0
v0.12.9
v0.12.8
v0.12.7
v0.12.6
v0.12.5
v0.12.4
v0.12.3
v0.12.2
v0.12.1
v0.12.0
v0.11.5
v0.11.4
v0.11.3
v0.11.2
v0.11.1
v0.11.0
v0.10.2
v0.10.1
v0.10.0
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.0
v0.6.1
v0.6.0
v0.5.3
v0.5.2
v0.5.1
v0.5.0
v0.4.3
v0.4.2
v0.4.1
v0.4.0
v0.3.2
v0.3.1
v0.3.0
v0.2.2
v0.2.1
v0.2.0
v0.1.1
v0.1.0
Pages
Modules
API Reference
Modules
Membrane Framework
Quick start
Learning
Structure of the framework
Goals
Elixir language
Contributing
Support and questions
All packages
Authors
Changelog
1.2.3
1.2.2
1.2.1
1.2.0
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0
0.11.0
0.10.0
0.9.0
0.8.2
0.8.1
0.8.0
Contributing
Upgrading to v0.11
Deps upgrade
Use the new way of interaction with Membrane.Pipeline
Update format of tuples returned from callbacks
Update callbacks
Rename actions returned from callbacks
Update pads definitions
Update options definitions
Membrane.Time functions
Update the children definitions
Testing
Upgrading to v0.12
Deps upgrade
Implement handle_child_pad_removed/4 callback in bins and pipelines, if it is needed
Remove :playback action
Upgrading to v1.0.0-rc0
Upgrading to v1.0.0-rc1
Upgrading to v1.0.0
Lifecycle of Membrane Components
Initialization
Setup
Linking pads
Playing
Processing the data (applies only to Elements)
After processing the data
Terminating
Callbacks not strictly related to the lifecycle
Default implementations
Timer usage examples
License
Pipeline
Membrane.Pipeline
Sections
Starting and supervision
Summary
Types
callback_return/0
config/0
config_entry/0
name/0
on_start/0
pipeline_options/0
state/0
Callbacks
handle_call/3
handle_child_notification/4
handle_child_pad_removed/4
handle_child_playing/3
handle_child_setup_completed/3
handle_child_terminated/3
handle_crash_group_down/3
handle_element_end_of_stream/4
handle_element_start_of_stream/4
handle_info/3
handle_init/2
handle_playing/2
handle_setup/2
handle_spec_started/3
handle_terminate_request/2
handle_tick/3
Functions
__using__/1
call/3
list_pipelines/0
list_pipelines/1
pipeline?/1
start/3
start_link/3
terminate/2
Membrane.Pipeline.Action
Summary
Types
common_actions/0
notify_child/0
remove_children/0
remove_link/0
reply/0
reply_to/0
setup/0
spec/0
start_timer/0
stop_timer/0
t/0
terminate/0
timer_interval/0
Membrane.Pipeline.CallbackContext
Summary
Types
t/0
RC Pipeline
Membrane.RCMessage
Summary
Types
t/0
Membrane.RCPipeline
Summary
Functions
await_end_of_stream/1
await_end_of_stream/2
await_end_of_stream/3
await_notification/1
await_notification/2
await_playing/1
await_start_of_stream/1
await_start_of_stream/2
await_start_of_stream/3
await_termination/1
child_spec/1
exec_actions/2
start/1
start!/1
start_link/1
start_link!/1
subscribe/2
terminate/2
Membrane.RCMessage
.EndOfStream
Summary
Types
t/0
.Notification
Summary
Types
t/0
.Playing
Summary
Types
t/0
.StartOfStream
Summary
Types
t/0
.Terminated
Summary
Types
t/0
Bin
Membrane.Bin
Summary
Types
callback_return/0
name/0
options/0
state/0
Callbacks
handle_child_notification/4
handle_child_pad_removed/4
handle_child_playing/3
handle_child_setup_completed/3
handle_child_terminated/3
handle_crash_group_down/3
handle_element_end_of_stream/4
handle_element_start_of_stream/4
handle_info/3
handle_init/2
handle_pad_added/3
handle_pad_removed/3
handle_parent_notification/3
handle_playing/2
handle_setup/2
handle_spec_started/3
handle_terminate_request/2
handle_tick/3
Functions
__using__/1
bin?/1
def_clock/1
def_input_pad/2
def_options/1
def_output_pad/2
is_bin_name?/1
.Action
Summary
Types
notify_child/0
notify_parent/0
remove_children/0
remove_link/0
setup/0
spec/0
start_timer/0
stop_timer/0
t/0
terminate/0
timer_interval/0
.CallbackContext
Summary
Types
t/0
.PadData
Summary
Types
private_field/0
t/0
Element
Membrane.Element
Sections
Behaviours
Callbacks
Summary
Types
name/0
options/0
state/0
type/0
Functions
element?/1
is_element_name?/1
Membrane.Endpoint
Sections
List of available callbacks
Summary
Functions
__using__/1
Membrane.Filter
Sections
List of available callbacks
Summary
Functions
__using__/1
Membrane.Sink
Sections
List of available callbacks
Summary
Functions
__using__/1
Membrane.Source
Sections
List of available callbacks
Summary
Functions
__using__/1
Membrane.Element
.Action
Summary
Types
buffer/0
common_actions/0
demand/0
demand_size/0
end_of_stream/0
event/0
forward/0
latency/0
notify_parent/0
pause_auto_demand/0
redemand/0
resume_auto_demand/0
setup/0
split/0
start_timer/0
stop_timer/0
stream_actions/0
stream_format/0
t/0
terminate/0
timer_interval/0
.Base
Summary
Callbacks
__struct__/0
__struct__/1
handle_event/4
handle_info/3
handle_init/2
handle_pad_added/3
handle_pad_removed/3
handle_parent_notification/3
handle_playing/2
handle_setup/2
handle_terminate_request/2
handle_tick/3
Functions
__using__/1
def_clock/1
def_options/1
.CallbackContext
Summary
Types
t/0
.PadData
Summary
Types
private_field/0
t/0
.WithInputPads
Summary
Callbacks
handle_buffer/4
handle_end_of_stream/3
handle_start_of_stream/3
handle_stream_format/4
Functions
def_input_pad/2
.WithOutputPads
Summary
Callbacks
handle_demand/5
Functions
def_output_pad/2
Helper Elements
Membrane.Connector
Sections
Element options
Pads
Summary
Types
t/0
Functions
options/0
Membrane.Debug.Filter
Sections
Element options
Pads
Summary
Types
t/0
Functions
noop/1
options/0
Membrane.Debug.Sink
Sections
Element options
Pads
Summary
Types
t/0
Functions
noop/1
options/0
Membrane.Fake.Sink
Sections
Pads
Membrane.FilterAggregator
Sections
Element options
Pads
Summary
Types
t/0
Functions
options/0
Membrane.Funnel
Sections
Element options
Pads
Summary
Types
t/0
Functions
options/0
Membrane.Funnel.NewInputEvent
Summary
Types
t/0
Membrane.Tee
Sections
Pads
Parent
Membrane.ChildrenSpec
Sections
Children's specification
Children's specification options
Nesting children's specifications
Summary
Types
builder/0
child_definition/0
child_options/0
children_spec_options/0
crash_group_mode/0
pad_options/0
t/0
Functions
bin_input/1
bin_output/2
child/1
child/2
child/3
child/4
get_child/1
get_child/2
via_in/3
via_out/3
Child
Membrane.Child
Summary
Types
group/0
name/0
non_nil/0
options/0
Functions
is_child_name?/1
Membrane.ChildEntry
Summary
Types
t/0
Communication
Membrane.Buffer
Summary
Types
metadata/0
t/0
Functions
get_dts_or_pts/1
Membrane.ChildNotification
Summary
Types
t/0
Membrane.Event
Summary
Types
t/0
Functions
async?/1
event?/1
sticky?/1
Membrane.EventProtocol
Summary
Types
t/0
Functions
async?/1
sticky?/1
Membrane.KeyframeRequestEvent
Summary
Types
t/0
Membrane.Pad
Summary
Types
accepted_format/0
availability/0
availability_mode/0
bin_spec/0
description/0
direction/0
dynamic_id/0
element_spec/0
flow_control/0
max_instances/0
name/0
ref/0
spec/0
Functions
availability_mode/1
is_availability/1
is_availability_dynamic/1
is_availability_static/1
is_dynamic_pad_ref/1
is_pad_name/1
is_pad_ref/1
is_static_pad_ref/1
name_by_ref/1
opposite_direction/1
ref/1
ref/2
Membrane.ParentNotification
Summary
Types
t/0
Membrane.Payload
Summary
Types
t/0
Functions
concat/2
drop/2
module/1
size/1
split_at/2
to_binary/1
Membrane.RemoteStream
Summary
Types
t/0
Membrane.StreamFormat
Summary
Types
t/0
Membrane.Buffer
.Metric
Summary
Types
unit/0
Callbacks
buffer_size_approximation/0
buffers_size/1
split_buffers/2
Functions
from_unit/1
.Metric.ByteSize
.Metric.Count
Membrane.Event
.Discontinuity
Summary
Types
duration/0
t/0
.Underrun
Summary
Types
t/0
Membrane.EventProtocol
.DefaultImpl
Membrane.Payload
.Behaviour
Summary
Callbacks
empty/0
new/1
.Binary
Logging
Membrane.Logger
Sections
Prefixes
Verbose logging
Summary
Functions
bare_log/3
debug/2
debug_verbose/2
error/2
get_config/0
get_config/2
get_prefix/0
info/2
log/3
set_prefix/1
warn/2
warning/2
Telemetry
Membrane.Telemetry
Sections
Instrumentation
Enabling specific datapoints
Summary
Types
buffer_datapoint_value/0
callback_context/0
callback_span_metadata/0
component_type/0
datapoint_metadata/0
datapoint_type/0
datapoint_value/0
incoming_event_datapoint_value/0
link_datapoint_value/0
queue_len_datapoint_value/0
store_datapoint_value/0
stream_format_datapoint_value/0
Functions
datapoint_gathered?/1
tracked_callbacks/0
tracked_callbacks_available/0
Testing
Membrane.Testing
.Assertions
Summary
Functions
assert_child_pad_removed/4
assert_child_playing/3
assert_child_setup_completed/3
assert_child_terminated/3
assert_end_of_stream/4
assert_pipeline_crash_group_down/3
assert_pipeline_notified/4
assert_pipeline_receive/3
assert_pipeline_setup/2
assert_resource_guard_cleanup/3
assert_resource_guard_register/4
assert_resource_guard_unregister/3
assert_sink_buffer/4
assert_sink_event/4
assert_sink_playing/3
assert_sink_stream_format/4
assert_start_of_stream/4
refute_child_playing/3
refute_child_setup_completed/3
refute_child_terminated/3
refute_pipeline_crash_group_down/3
refute_pipeline_notified/4
refute_pipeline_receive/3
refute_sink_buffer/4
refute_sink_event/4
refute_sink_playing/3
refute_sink_stream_format/4
.DynamicSource
Sections
Example usage
Element options
Pads
Summary
Types
generator/0
t/0
Functions
default_buf_gen/3
options/0
.Endpoint
Summary
Types
generator/0
t/0
Functions
default_buf_gen/2
options/0
output_from_buffers/1
.Event
.MockResourceGuard
Summary
Types
options/0
Functions
child_spec/1
start_link/1
start_link_supervised!/1
.Pipeline
Sections
Assertions
Messaging children
Example usage
Summary
Types
options/0
Functions
child_spec/1
execute_actions/2
get_child_pid/2
get_child_pid!/2
message_child/3
notify_child/3
start/1
start_link/1
start_link_supervised/1
start_link_supervised!/1
start_supervised/1
start_supervised!/1
terminate/2
.Sink
Sections
Element options
Pads
Summary
Types
t/0
Functions
options/0
.Source
Sections
Example usage
Element options
Pads
Summary
Types
generator/0
t/0
Functions
default_buf_gen/2
options/0
output_from_buffers/1
Utils
Membrane.Clock
Sections
Proxy mode
Summary
Types
option/0
ratio/0
ratio_message/0
t/0
update_message/0
Functions
child_spec/1
proxy_for/2
start/2
start_link/2
subscribe/2
unsubscribe/2
Membrane.ComponentPath
Summary
Types
formatted_path/0
path/0
Functions
format/1
get/0
get_formatted/0
set/1
Membrane.Playback
Summary
Types
t/0
Membrane.ResourceGuard
Summary
Types
t/0
Functions
child_spec/1
cleanup/1
cleanup/2
register/3
start_link/1
unregister/2
Membrane.Sync
Summary
Types
status/0
t/0
Functions
activate/1
child_spec/1
deactivate/1
no_sync/0
register/2
start_link/2
sync/2
Membrane.Time
Summary
Types
non_neg/0
t/0
Functions
as_days/2
as_hours/2
as_microseconds/2
as_milliseconds/2
as_minutes/2
as_nanoseconds/2
as_seconds/2
day/0
days/1
divide_by_timebase/2
from_datetime/1
from_iso8601!/1
from_ntp_timestamp/1
hour/0
hours/1
inspect/1
is_time/1
microsecond/0
microseconds/1
millisecond/0
milliseconds/1
minute/0
minutes/1
monotonic_time/0
nanosecond/0
nanoseconds/1
native_unit/0
native_units/1
os_time/0
pretty_duration/1
pretty_now/0
second/0
seconds/1
to_code/1
to_datetime/1
to_iso8601/1
to_native_units/1
to_ntp_timestamp/1
vm_time/0
Membrane.UtilitySupervisor
Sections
Example
Summary
Types
t/0
Functions
start_child/2
start_link_child/2
Errors
Membrane.ActionError
Membrane.BinError
Membrane.CallbackError
Membrane.ElementError
Membrane.LinkError
Membrane.PadDirectionError
Membrane.PadError
Membrane.ParentError
Membrane.PipelineError
Membrane.SetupError
Membrane.StreamFormatError
Membrane.TimerError
Membrane.UnknownChildError
Membrane.UnknownPadError
Search documentation of Membrane Core
Settings
View Source
Membrane.CallbackError
exception
(Membrane Core v1.2.3)
×