Packages
membrane_rtp_plugin
0.28.0
0.31.5
0.31.4
0.31.3
0.31.2
0.31.1
0.31.0
0.30.0
0.29.1
0.29.0
0.28.0
0.27.1
0.27.0
0.26.0
0.25.0
0.24.1
0.24.0
0.23.2
0.23.1
0.23.0
0.22.1
0.22.0
0.21.0
0.20.0
0.19.1
0.19.0
0.18.0
0.17.1
0.17.0
0.16.0
0.15.0
0.15.0-rc.1
0.14.0
0.13.0
0.12.2
0.12.1
0.12.0
0.11.0
0.10.0
0.9.0
0.8.2
0.8.1
0.8.0
0.7.1-alpha.3
0.7.1-alpha.2
0.7.0-alpha.2
0.7.0-alpha.1
0.7.0-alpha
0.6.1
0.6.0
0.5.1
0.5.0
0.4.0-alpha
Membrane Multimedia Framework plugin for RTP
Current section
Files
Jump to
Current section
Files
lib/membrane/rtp/depayloader_bin.ex
defmodule Membrane.RTP.DepayloaderBin do
@moduledoc """
Modules responsible for reordering incoming RTP packets using a jitter buffer
to later depayload packet's payload from RTP format.
"""
use Membrane.Bin
alias Membrane.RTP
alias Membrane.RTP.JitterBuffer
def_options depayloader: [
spec: module(),
description: "Depayloader module that should be used for incoming stream"
],
clock_rate: [
spec: RTP.clock_rate_t()
]
def_input_pad :input,
accepted_format: RTP
def_output_pad :output,
accepted_format: _any
@impl true
def handle_init(_ctx, opts) do
structure =
bin_input()
|> child(:jitter_buffer, %JitterBuffer{clock_rate: opts.clock_rate})
|> child(:depayloader, opts.depayloader)
|> bin_output()
{[spec: structure], %{}}
end
end