Packages
membrane_rtmp_plugin
0.19.2
0.29.5
0.29.4
0.29.3
0.29.2
0.29.1
0.29.0
0.28.1
0.28.0
0.27.3
0.27.2
0.27.0
0.26.0
0.25.0
0.24.0
0.23.3
0.23.2
0.23.1
0.23.0
0.22.1
0.22.0
0.21.0
0.20.2
0.20.1
0.20.0
0.19.3
0.19.2
retired
0.19.1
0.19.0
0.18.0
0.17.3
0.17.2
0.17.1
0.17.0
0.16.0
0.15.0
0.14.0
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.1
0.9.0
0.8.1
0.8.0
0.7.0
0.6.1
0.6.0
0.5.0
0.4.1
0.4.0
0.3.0
0.2.1
0.2.0
0.1.1
0.1.0
RTMP Plugin for Membrane Multimedia Framework
Retired package: Release invalid - Makes the element send unexpected socket closed on every end of stream
Current section
Files
Jump to
Current section
Files
lib/membrane_rtmp_plugin/rtmp/source/messages/anonymous.ex
defmodule Membrane.RTMP.Messages.Anonymous do
@moduledoc false
@behaviour Membrane.RTMP.Message
@enforce_keys [:name, :properties]
defstruct [tx_id: nil] ++ @enforce_keys
@type t :: %__MODULE__{
name: String.t(),
properties: any(),
tx_id: non_neg_integer() | nil
}
@impl true
def from_data([name, tx_id | properties]) when is_binary(name) do
%__MODULE__{name: name, tx_id: tx_id, properties: properties}
end
def from_data([name]) when is_binary(name) do
%__MODULE__{name: name, tx_id: nil, properties: []}
end
defimpl Membrane.RTMP.Messages.Serializer do
require Membrane.RTMP.Header
alias Membrane.RTMP.AMF.Encoder
@impl true
def serialize(%@for{name: name, tx_id: nil, properties: properties}) do
Encoder.encode([name | properties])
end
def serialize(%@for{name: name, tx_id: tx_id, properties: properties}) do
Encoder.encode([name, tx_id | properties])
end
@impl true
def type(%@for{}), do: Membrane.RTMP.Header.type(:amf_command)
end
end