Packages
membrane_rtp_plugin
0.31.4
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/payloader_bin.ex
defmodule Membrane.RTP.PayloaderBin do
@moduledoc """
Module responsible for payloading a stream to RTP format and preparing RTP headers.
"""
use Membrane.Bin
alias Membrane.RTP
def_input_pad :input, accepted_format: _any
def_output_pad :output, accepted_format: RTP
def_options payloader: [
spec: module(),
description: "Payloader module used for payloading a stream to RTP format"
],
ssrc: [spec: RTP.ssrc()],
payload_type: [spec: RTP.payload_type()],
clock_rate: [spec: RTP.clock_rate()]
@impl true
def handle_init(_ctx, opts) do
structure =
bin_input()
|> child(:payloader, opts.payloader)
|> child(:header_generator, %RTP.HeaderGenerator{
ssrc: opts.ssrc,
payload_type: opts.payload_type,
clock_rate: opts.clock_rate
})
|> bin_output()
{[spec: structure], %{}}
end
end