View Source ExSDP.Media (ExSDP v1.0.0)

This module represents the Media field of SDP.

For more details please see RFC4566 Section 5.14

Summary

Types

t()

Represents type of media. In RFC4566 there are defined "audio", "video", "text", "application", and "message" types.

Types

@type t() :: %ExSDP.Media{
  attributes: [ExSDP.Attribute.t()],
  bandwidth: [ExSDP.Bandwidth.t()],
  connection_data: [ExSDP.ConnectionData.t()],
  encryption: ExSDP.Encryption.t() | nil,
  fmt: binary() | [0..127],
  port: :inet.port_number(),
  port_count: non_neg_integer(),
  protocol: binary(),
  title: binary() | nil,
  type: type()
}
@type type() :: :audio | :video | :text | :application | :message | binary()

Represents type of media. In RFC4566 there are defined "audio", "video", "text", "application", and "message" types.

Known types are represented as atoms others are binaries.

Functions

Link to this function

add_attribute(media, attribute)

View Source
This function is deprecated. Use ExSDP.add_attribute/2 instead.
@spec add_attribute(t(), ExSDP.Attribute.t()) :: t()
Link to this function

add_attributes(media, attributes)

View Source
This function is deprecated. Use ExSDP.add_attributes/2 instead.
@spec add_attributes(t(), [ExSDP.Attribute.t()]) :: t()
Link to this function

apply_session(media, session)

View Source
@spec apply_session(t(), ExSDP.t()) :: t()
Link to this function

get_attribute(media, key)

View Source
This function is deprecated. Use ExSDP.get_attribute/2 instead.
@spec get_attribute(t(), ExSDP.Attribute.key()) :: ExSDP.Attribute.t() | nil
Link to this function

get_attributes(media, key)

View Source
This function is deprecated. Use ExSDP.get_attributes/2 instead.
@spec get_attributes(t(), ExSDP.Attribute.key()) :: [ExSDP.Attribute.t()]
Link to this function

new(type, port, protocol, fmt, opts \\ [])

View Source
@spec new(type(), :inet.port_number(), binary(), binary() | 0..127 | [0..127], [
  {:port_count, non_neg_integer()}
]) :: t()
@spec parse(binary()) ::
  {:ok, t()} | {:error, :invalid_media_spec | :malformed_port_number}
Link to this function

parse_optional(lines, media)

View Source
@spec parse_optional([binary()], t()) :: {:ok, {[binary()], t()}} | {:error, atom()}